知道显示真值表的概念吗?把二进制转化为10进制数,或者00001011直接除以10,对应真值表的数据给十位显示;再取00001011除以10的余数,给个位显示;如果超过十位数,同样操作;
例如:当前数据位Data = 11111110(假设可以显示到百位,数据位254,真值表为 tTrueTable[ ]
百位寄存器 rBaiWei = tTrueTable[ Data / 100 ]; // 取百位数
十位寄存器 rShiWei = tTrueTable[ Data / 100 / 10 ]; // 取十位数
个位寄存器 rShiWei = tTrueTable[ Data / 100 % 10 ]; // 取个位数
然后把寄存器按照扫描的方式,传给数据口(假设P0),如P0 = rBaiWei;
用2个16进制数码管。
高位显示0001,低位显示0011
这样就把13显示出来了。
讲该寄存器的数据赋给接数码管的对应口,例如数码管显示接了P00~P07,显示选择位接了P10,则可以让P10=0时P00~P07对应显示1,P10=1时P00~P07显示3,只要P10交替为1的频率足够,交替显示是看不出开的.....