微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 在数码管动态显示里面有一句是unsigned char code seg={0,1,2,3,...

在数码管动态显示里面有一句是unsigned char code seg={0,1,2,3,...

时间:10-02 整理:3721RD 点击:
在数码管动态显示里面有一句是unsigned char code  seg[]={0,1,2,3,4,5,6,7},我想问0,1,2,3,4,5,6,7代表什么,同时为什么又会是这几个数字去表示,是怎么来的,感谢各位帮忙回答,谢谢!

动态显示里有段码,还有位选,你看看程序

这个我知道,但是主要是0,1,2这些是怎么来的,为什么不用16进制表示?

你这行代码是显示段选还是位选的?

要整个程序地去看

位选

首先定义的是unsigned char const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值01234567
然后在定义unsigned char code  seg[]={0,1,2,3,4,5,6,7};//分别对应相应的数码管点亮,即位码  
   在dofly[]里面代表的是数码管显示0-7,而数组里面每个元素都是16进制,而seg[]里面则用十进制表示0-7,假设将0-7用和dofly[]数组的方式表示也就是16进制,就是将0-7转化为16进制,那么而只会显示八位数码管的后4位,即所以我想问0-7是如何去表示的,而0-7能否在转化为16进制来表示?
而在后面  P0=dofly;//取显示数据,段码
    P2=seg;  //取位码
      seg表示的是每个数码管的位码,而dofly[]则表示每个数码管里面显示的数。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top