完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define D0 P0//数码管段定义 ***it a=P1^0; ***it b=P1^1; ***it c=P1^2; //定义138译码器的接口 unsigned char code CODE[17]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 void delay();//延时程序 void main () { unsigned int i; while(1) { for(i=0;i<8;i++) { switch(i) { case(0): a=0;b=0;c=0;break; case(1): a=1;b=0;c=0;break; case(2): a=0;b=1;c=0;break; case(3): a=1;b=1;c=0;break; case(4): a=0;b=0;c=1;break; case(5): a=1;b=0;c=1;break; case(6): a=0;b=1;c=1;break; case(7): a=1;b=1;c=1;break; } D0=CODE[i]; delay(); D0=0x00; } } } void delay() { unsigned int m,n; for(m=0;m<1000;m++) for(n=0;n<100;n++); } 上文是我写的带译码器的数码管动态显示数字的小程序,烧到开发板上后发现8个数码管只有第2、4、6、8个显示相应的数字,其他的没有显示,并且delay()延时是想让数字显示的持久些,但是数码管只有上述的四个显示很短的时间,几乎是一闪而过,但是接着却有更长时间什么都不显示,检查老半天也看不出错误,试着改下延时,当将m值改为m<200时8个数码管都显示数字,但是很暗,将延时里的m再调大点就还是只有四个显示了。试着改n的值亦是如此,延时时间变长就会出现问题,在其他的程序里也总是延时出现问题,很不解,求大神帮助,求新手相互讨论下延时的用法,有哪些需要注意的 |
|
相关推荐
3个回答
|
|
你可以算一下你的延时程序延时了多长时间,晶振,机械周期,时钟周期
|
|
|
|
|
|
|
|
我有洞洞板焊接的LED电子钟,需要加:176798246详聊,LED显示程序指导
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
787 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1216 浏览 0 评论
900 浏览 0 评论
963 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11866 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 05:06 , Processed in 0.532426 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号