标题:
unsigned char code tab[]数组如何理解?单片机数码管显示功能代码求答
[打印本页]
作者:
闷闷的新人
时间:
2019-4-4 14:13
标题:
unsigned char code tab[]数组如何理解?单片机数码管显示功能代码求答
问题: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;
}
作者:
univers
时间:
2019-4-5 23:03
unsigned char code tab[],里面的0-9位代码,在c中会自动排成0/1/23***9。等于说等 第一位指向0xao第二位指向0xbn
作者:
jerry_fuyi
时间:
2019-4-6 11:42
16进制转成单片机一个8位端口上的高低电平,能显示出什么就要看接线方式了
顺便说一句,带点的数组就是不带点的数组每个元素加上0x20,这么写我感觉浪费空间
作者:
闷闷的新人
时间:
2019-4-16 16:02
char min,sec;
DUAN=tab[min/10];
为什么这样能用?没有赋初值也可以吗?
能给我讲解下这句的意思吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1