📄 7290.c
字号:
#include "I2C.h"
#include "ZLG7290.h"
sbit SPEAKER=P2^3;
uchar code duanma[10] ={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6}; // 0-9段码
uchar data jw[16];
uchar data num[2],address[2];
void Clearall(void); // 全清除显示
void KeyFun(uchar num,uchar *d) //重编键值 且执行功能键
{
switch(num)
{
case 1: {*d=0;break;}
case 2: {*d=1;break;}
case 3: {*d=2;break;}
case 4: {*d=3;break;}
case 9: {*d=4;break;}
case 10: {*d=5;break;}
case 11: {*d=6;break;}
case 12: {*d=7;break;}
case 17: {*d=8;break;}
case 18: {*d=9;break;}
case 19: {*d=10;break;}
case 20: {*d=11;break;}
case 25: {*d=12;break;}
case 26: {*d=13;break;}
case 27: {*d=14;break;}
case 28: {*d=15;break;}
default: break;
}
}
void int1() interrupt 2 using 0
{
unsigned char data KeyValue,p,*q;
uint i;
//读取键值
Delay(1);
KeyValue=ZLG7290_ReadReg(ZLG7290_Key);
Delay(1);
//显示键值
KeyFun(KeyValue,&p);
jw[p]=p;
q=&jw[p];
i=q;
address[0]=i/16;
address[1]=i%16;
ZLG7290_WriteReg(0x10,duanma[0]);
Delay(5);
ZLG7290_WriteReg(0x12,duanma[0]);
Delay(5);
ZLG7290_cmd(0x63,address[0]);
Delay(5);
ZLG7290_cmd(0x65,address[1]);
Delay(5);
num[0]=p/10;
num[1]=p%10;
ZLG7290_WriteReg(0x14,duanma[num[0]]);
Delay(5);
ZLG7290_WriteReg(0x11,duanma[num[1]]);
Delay(5);
}
void main(void)
{
EA = 0;
EX1 = 1;
EA = 1; //开中断1
Clearall();
SPEAKER=0;
while(1)
{
Delay(10); //有卡时
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -