完善资料让更多小伙伴认识你,还能领取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,运行稳定就行!
|
|
|
|
是的。不过我理解了。这四句是要去掉才会消隐地。用程序的硬件电路验证过了。看懂别人,再按自己的思路来实现自己要的。这是我的学习方法。哈哈 |
|
|
|
跟选用的数码管是共阴还是共阳有关系,楼上的朋友说的消隐是正确的。一般每次更改数码管的显示值的时候,需要先关闭,在写到八个引脚,在开启。效果才会好。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
111 浏览 0 评论
【xG24 Matter开发套件试用体验】10-Bluetooth示例1
176 浏览 0 评论
474 浏览 0 评论
【xG24 Matter开发套件试用体验】power specification电源规格参数配置
438 浏览 0 评论
403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10804 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-21 20:18 , Processed in 0.568252 second(s), Total 52, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191