题目如下
问:如何改变计数值为压缩BCD码,使发光二极管显示压缩BCD码?
(注:压缩型BCD码:用四位二进制数表示一位BCD码,用一个字节表示的两位BCD码;例如:十进制为96的码制,用压缩BCD码为1001 0110)
KEil4 proteus7.8
仿真单片机型号 AT89C52
运行结果如下
结果为01110101 ,即为75
主函数部分
//KeyScan()判断按键是否按下
//每次jump时的值,并以数组形式表示
//8个LED共阳接法
uchar code jinwei[10] = {0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90};
while (1)
{
if(KeyScan()==1) //判断按键按下
{
count = count+1;
if(count % 16 == 0x0a)//取出后四位并判断是否需要跳转
{
++count1; //十进制所在数组
count = jinwei[count1];
if(count1==10){count1 = 0;}
}
}
P0 = ~count; //采用共阳极接法
}