问题:unsigned char code tab[],这个数组我该怎么理解?里面16进制转换成什么进制的?
DUAN=tab[min/10];这里面min在上面定义了,但我又该怎么理解呢?
unsigned char code tab[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0xff}; //数字0-9的编码
unsigned char code tab_dian[]={0x80,0x9b,0x42,0x0a,0x19,0x0c,0x04,0x9a,0x00,0x08,0xdf}; //带点的数字0-9的编码
char min,sec; //定义计时分秒
uchar flag_set=0; //设置变量:0 正常 1 调分 2 调秒
单片机型号:STC89C51/52
部分代码如下:
void display()
{
if(flag_set==0) //正常模式下
{
DUAN=tab[min/10]; //送入段码
W0=0; //打开位地址
delay(1); //小延时
W0=1; //关闭位地址
DUAN=tab_dian[min%10]; //下同
W1=0;
delay(1);
W1=1;
DUAN=tab[sec/10];
W2=0;
delay(1);
W2=1;
DUAN=tab[sec%10];
W3=0;
delay(1);
W3=1;
} |