完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大一学生,正在学单片机,可以有大佬解答一下,这两种数码管显示方法有什么区别吗?各自的优劣在哪里?
/*********************************/first void Display(INT16U Value) { //------------------------------ DU = 0; //关闭段选 P0 = table[Value/100]; //数码管显示百位 DU = 1; //打开段选 DU = 0; //关闭段选 WE = 0; //关闭位选 P0 = T_COM[0]; //第一位数码管 WE = 1; //打开位选 WE = 0; //关闭位选 Delay_Ms(3); //------------------------------- DU = 0; P0 = table[Value%100/10]|0x80; //显示十位 DU = 1; DU = 0; WE = 0; P0 = T_COM[1]; //第二位数码管 WE = 1; WE = 0; Delay_Ms(3); //------------------------------- DU = 0; P0 = table[Value%10]; //显示个位 DU = 1; DU = 0; WE = 0; P0 = T_COM[2]; //第三位数码管 WE = 1; WE = 0; Delay_Ms(3); } /********************************/second void display(uint i) { uchar q, b, s, g; static uchar wei; q = i / 1000; b = i % 1000 / 100; s = i % 100 / 10; g = i % 10; P0 = 0XFF;//清除断码 WE = 1;//打开位选锁存器 P0 = SMGwei[wei]; WE = 0;//锁存位选数据 P0 = 0XFF;//清除断码 switch(wei) { case 0: DU = 1; P0 = SMGduan[q] | 0x80; DU = 0; break;//0x80加上小数点 case 1: DU = 1; P0 = SMGduan[b]; DU = 0; break; case 2: DU = 1; P0 = SMGduan[s]; DU = 0; break; case 3: DU = 1; P0 = SMGduan[g]; DU = 0; break; } wei++; if(wei == 4) wei = 0; } |
|
相关推荐
3个回答
|
|
第一种是一口气完成对三位数码管的显示,延迟较多,可能会影响到其他子函数执行,例如:如果有按键扫描函数的话,显示函数占用时间过长可能会导致按键不灵敏等;第二种是每进入一次函数就显示一位,如果其他子函数运行时间安排不当,可能会出现明显闪烁,不过只要在其他子函数中没有使用太多的delay应该不至于会出现这种情况。个人推荐第二种,因为写程序时加太多delay会使得单片机的执行效率低很多。
最佳答案
|
|
|
|
第一种延时太多不可取,第二种简单容易实现
|
|
|
|
貌似采用第一种方法可以有效避免鬼影的产生,自己实践了几次总结出来的,希望对大家有帮助
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
imx6ull裸机编程,使用宏定义无法驱动,使用指针就可以驱动
434 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十二章 音频FFT实验
297 浏览 0 评论
飞凌嵌入式ElfBoard EL 1板卡-i2c与从设备通讯编程示例之i2c-tools工具使用
1266 浏览 0 评论
stc15f2k60s2利用串口传输字模存储到eeprom并进行点阵显示
1603 浏览 1 评论
1589 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11614 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 14:25 , Processed in 0.530230 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号