1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
找了一段数码管显示0-9999的程序。我的电路是p3高4位控制位选,p0控制段。个人觉得里面有些是多余的。求探讨。看注释。
#include #define uchar unsigned char #define uint unsigned int void x_ms_delay(uint ms); uchar led_discode[11]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xff}; void led_display(uint dis_data); void main(void) { uchar i; uint number; P0=0Xff; P3=0X00; //关闭所有数码管(个人觉得这两句是没必要的,完全不影响显示) for(number=0;number<10000;number++) { for(i=0;i<30;i++) led_display(number); } } void led_display(uint dis_data) (下面有4个p3=0x00;为什么要加?不要这4个。显示效果是会更好的。网上有关于余辉的说法,但是个人觉得,只需点亮所需的,然后一直扫描就可以达到显示的效果。何须点亮,关闭,再扫描?) { uchar qian_bit,bai_bit,shi_bit,ge_bit; qian_bit=dis_data/1000; P0=led_discode[qian_bit]; //显示千位 P3=0Xe0; x_ms_delay(1); P3=0X00; bai_bit=(dis_data%1000)/100; P0=led_discode[bai_bit]; //显示百位 P3=0Xd0; x_ms_delay(1); P3=0X00; shi_bit=(dis_data%100)/10; P0=led_discode[shi_bit]; //显示十位 P3=0X70; x_ms_delay(1); P3=0X00; ge_bit =(dis_data%10); P0=led_discode[ge_bit]; //显示个位 P3=0Xb0; x_ms_delay(1); P3=0X00; } //毫秒级延时子程序 void x_ms_delay(uint ms) { uint us; while(ms--) { for(us=500;us>0;us--); } } |
|
相关推荐
7个回答
|
|
你用动态扫描一下,自己试试
|
|
|
|
嘿嘿。试过。我觉得不该加P3=0x00;全加上的话,就会导致。每次都把4个数码管打开。那样别的位在变化时,就会全部变。虽然因为扫描的快。眼睛只能看见每个管都在闪。但是把P3=0x00;去掉。就不会出现了。只是不明白写这程序的人。这句语句的含义。不过还是按照我自己的理解来写的好。
|
|
|
|
可能是他搞外部是高驱动有效,这句就是正确的,目的是为了消隐,程序需要结合硬件来分析确定
|
|
|
|
消隐,写代码一般按照实验效果去最好,很多东西不需要追究的特别清楚,每个人都有自己的理解方法。只要结果ok,运行稳定就行!
|
|
|
|
是的。不过我理解了。这四句是要去掉才会消隐地。用程序的硬件电路验证过了。看懂别人,再按自己的思路来实现自己要的。这是我的学习方法。哈哈 |
|
|
|
跟选用的数码管是共阴还是共阳有关系,楼上的朋友说的消隐是正确的。一般每次更改数码管的显示值的时候,需要先关闭,在写到八个引脚,在开启。效果才会好。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
503 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1756 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1183 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1053 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1287 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12022 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:39 , Processed in 0.723980 second(s), Total 81, Slave 65 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号