单片机学习小组
直播中

孙原元

7年用户 196经验值
私信 关注

为什么51单片机数码管显示数字不能用十进制呢?

请问数码管上显示数字1,2.3....9平时都是定义在一个数组里的:uchar tab[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};
里面的数字是16进制,为什么不能用十进制呢,像这样:
uchar tab[]={1,2,3,4,5,6,7,8,9};
我外部检测到返回值是十进制,我要显示在数码管上,该怎么做呢?

回帖(4)

王飞云

2019-8-26 09:14:45
因为你的按照数码管的管脚定义来送相应的值啊,比如1对应的是0xf9,数码管的b,c点亮
举报

范佳慧

2019-8-26 09:20:03
多看看书吧
举报

阿信509

2019-8-26 09:27:47
当然必须可以用十进制啊,只是用16进制比较直观而已
举报

人中狼

2019-8-26 20:04:52
这个数组的值对应的是八段数码管在显示对应数字时所需要点亮的LED,现在一般都按最高位是小数点,位0-7为a,b,c,d,e,f,g来排列,但是这个排列也会因为威廉希尔官方网站 的实际连接而改变的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分