⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 93c46.c

📁 93c46读写程序
💻 C
📖 第 1 页 / 共 2 页
字号:
}

void ewen()
//允许写
{
	inop(OP_EWEN_H, OP_EWEN_L);
	CS= 0;
}

void ewds()
//禁止写
{
	inop(OP_EWDS_H, OP_EWDS_L);
	CS= 0;	
}

void erase()
//擦除
{
	inop(OP_ERAL_H, OP_ERAL_L);
	delay_1ms(30);
	CS = 0;
}


 void inop(unsigned char op_h, unsigned char op_l)
 //写入指令和地址
  {unsigned char i;
   SK=0;
   DI=1;
   CS=1;
   SK=1;
   _nop_();
   SK=0;
   DI=(bit)(op_h&0x80);
   SK=1;
   op_h<<=1;
   SK=0;
   DI=(bit)(op_h&0x80);
   SK=1;
   _nop_();
   SK=0;
   op_l<<=1;
   for(i=0;i<7;i++)
    {
	 DI=(bit)(op_l&0x80);
	 SK=1;
	 op_l<<=1;
	 SK=0;
	}
   DI=1;
  }  

void shin(unsigned char indata)		
//移入数据
{
	unsigned char i;
	for(i = 0; i < 8; i++)
	{
		DI = (bit)(indata & 0x80);	// 先移入高位
		SK = 1;
		indata <<= 1;
		SK = 0;		
	}
	DI = 1;
}

unsigned char shout(void)			
// 移出数据
{
	unsigned char i, out_data;
	for(i = 0; i < 8; i++)
	{
		SK = 0;
		out_data <<= 1;
		SK = 1;
		out_data |= (unsigned char)DO;
	}
	return(out_data);
}

void delay_1ms(unsigned char ms)	
// 延时子程序
{						
	unsigned char i;
	while(ms--)
	{
		for(i = 0; i < 120; i++);
	}
}
unsigned char key_scan()
//按键扫描
{
 unsigned char key_number;
 key_number=0x00;
 key_number|=k1;
 key_number<<=1;
 key_number|=k2;
 key_number<<=1;
 key_number|=k3;
 key_number<<=1;
 key_number|=k4;
 return(key_number);
}

void timer_disp()interrupt 1 using 1
//显示
 {
  TR0=0;
  TH0=0xfc;
  TL0=0x78;
  P0=0xff;
  P2=0xff;
  ++disp_bit;
  if(flash_bit)
   {
    switch(disp_bit)
	 {
	   case 1:
              P0=disp_code[eeprom_data[0]];
			  disp_bit0=0;
  	          break;
	   case 2:
	          P0=disp_code[eeprom_data[1]];
			  disp_bit1=0;
	          break;
	   case 3:
	          P0=disp_code[eeprom_data[2]];
			  disp_bit2=0;
	          break;
	   case 4:
	          P0=disp_code[eeprom_data[3]];
			  disp_bit3=0;
	          break;
	   case 5:
	          P0=disp_code[eeprom_data[4]];
			  disp_bit4=0;
	          break;
	   case 6:
	          P0=disp_code[eeprom_data[5]];
			  disp_bit5=0;
	         break;
	   case 7:
	          P0=disp_code[eeprom_data[6]];
			  disp_bit6=0;
	         break;
	   case 8:
	          P0=disp_code[eeprom_data[7]];
			  disp_bit7=0;
			  disp_bit=0x00;
	         break;
	   default:break;
	 }
   }
  else 
   {
     if(++flash_500ms==150)
      {
	   flash_cpl=~flash_cpl;
	   flash_500ms=0x00;
	  }
	  if(flash_cpl)
	   {
	    switch(disp_bit)
	      {
	       case 1:
              P0=disp_code[eeprom_data[0]];
			  disp_bit0=0;
  	          break;
	       case 2:
	          P0=disp_code[eeprom_data[1]];
			  disp_bit1=0;
	          break;
	       case 3:
	          P0=disp_code[eeprom_data[2]];
			  disp_bit2=0;
	          break;
	       case 4:
	          P0=disp_code[eeprom_data[3]];
			  disp_bit3=0;
	          break;
	       case 5:
	          P0=disp_code[eeprom_data[4]];
			  disp_bit4=0;
	          break;
	       case 6:
	          P0=disp_code[eeprom_data[5]];
			  disp_bit5=0;
	         break;
	       case 7:
	          P0=disp_code[eeprom_data[6]];
			  disp_bit6=0;
	         break;
	       case 8:
	          P0=disp_code[eeprom_data[7]];
			  disp_bit7=0;
			  disp_bit=0x00;
	         break;
	       default:break;
	     }
	   }
	  else
	   {
	     switch(flash_number_bit)
		  {
		   case 1:
		          switch(disp_bit)
	               {
	                  case 1:
                      P0=0xff;
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 2:
		           switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=0xff;
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 3:
		          switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=0xff;
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 4:
		           switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=0xff;
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 5:
		          switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=0xff;
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 6:
		          switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=0xff;
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 7:
		          switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=0xff;
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=disp_code[eeprom_data[7]];
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   case 8:
		           switch(disp_bit)
	               {
	                  case 1:
                      P0=disp_code[eeprom_data[0]];
			          disp_bit0=0;
  	                  break;
	                  case 2:
	                  P0=disp_code[eeprom_data[1]];
			          disp_bit1=0;
	                  break;
	                  case 3:
	                  P0=disp_code[eeprom_data[2]];
			          disp_bit2=0;
	                  break;
	                  case 4:
	                  P0=disp_code[eeprom_data[3]];
			          disp_bit3=0;
	                  break;
	                  case 5:
	                  P0=disp_code[eeprom_data[4]];
			          disp_bit4=0;
	                  break;
	                  case 6:
	                  P0=disp_code[eeprom_data[5]];
			          disp_bit5=0;
	                  break;
	                  case 7:
	                  P0=disp_code[eeprom_data[6]];
			          disp_bit6=0;
	                  break;
	                  case 8:
	                  P0=0xff;
			          disp_bit7=0;
			          disp_bit=0x00;
	                  break;
	                  default:break;
	               }
		         break;
		   default:break;
		  }
	   }
   }
   TR0=1;
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -