完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
#include
#define uint unsigned int #define uchar unsigned char uchar temp,shi,ge; ***it dula=P2^0; ***it wela=P3^7; uchar code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90 }; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } //…………以上延时程序………… void main() { temp=12; shi=temp/10; ge=temp%10; while(1) { wela=1; P1=0x01; wela=0; dula=1; P1=table[shi]; dula=0; delay(100); /*为什么这里delay(100)改成delay(5)就不显示了1了,可是delay(5)的时候,temp=22,也是可以显示2的 */ //………以上要是将dula先打开送数,再打开位送,就不行………………… wela=1; P1=0x02; wela=0; dula=1; P1=table[ge]; dula=0; delay(5); } } |
|
相关推荐
9个回答
|
|
|
你这是要干嘛呢???
|
|
|
|
|
|
这是刚看视频教程上的学的,Proteus 软件仿真的,shi位那delay(5);时第一位数码管出现不显示1和4,其它数正常,可是将delay(60)以上又是显示的,不知道问题出在那
|
|
|
|
|
|
这个不是程序的问题,是proteus的问题,这个仿真软件在仿真是你看到的是动画,如果你的delay很小,动画的频率就需要很快,但是proteus软件好像频率有限制,跟不上这么快的频率,所以仿真就会出错。
如果下载到板子上就不会有这个问题。 |
|
|
|
|
|
嗯谢谢,是软件的问题,上午发现了,仿真软件在动态显示上有两个问题,一是、二位以上的组合管(延时很短的情况下),会出现有些字显示了(第一位1和4,第二位5和6),二是、必须是选送位选,再送段选,如果反一下就显示不了或乱码
|
|
|
|
|
|
你那个在dula=0;之前不做消影动作恩,这样跑久了会出现乱码的。建议在dula=0;之前做消影动作。
|
|
|
|
|
|
哦好的,谢谢,
|
|
|
|
|
|
应该是消影问题。如果消影了,不管延迟多短都能显示的,只不过延迟短了之后人眼分辨不了了,这就是动态显示了。
|
|
|
|
|
|
|
|
|
|
|
|
应该是消影的问题
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
112 浏览 0 评论
219 浏览 0 评论
721 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
702 浏览 0 评论
有人有STM8H1K08T连接TM1650的源码吗,可以直接使用的那种,我的代码在烧录之后数码管一直处于熄灭状态
1036 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16976 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-10 14:09 , Processed in 0.818622 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2482