|
本程序采用八段共阴极数码管显示。程序及仿真见附件。
使用138译码器实现位选,74ls163实现段码驱动
程序思路:
1、添加位选及段选数组
uchar weixuan[] = {0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};
uchar duanma[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
其中P3.3口为138译码器使能信号,即0x08;将其与上位选码即得到位选吗数组
例:weixuan[1] = 0xf8 |0x01;
2、将输入数字以个十百千万位分开,存入输出数组;
output[3] = duanma[number/10000];
output[4] = duanma[number/1000%10];
output[5] = duanma[number/100%10];
output[6] = duanma[number/10%10];
output[7] = duanma[number%10];
3、利用for循环输出,输出过程为:
位选--段选--延时---消隐。
for(i=0;i<8;i++){
enable = weixuan[ i];
disp = output[ i];
delay(10);
disp = 0x00;
}
|
评分
-
查看全部评分
|