📄 93c46.c
字号:
}
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 + -