完善资料让更多小伙伴认识你,还能领取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;之前做消影动作。
|
|
|
|
哦好的,谢谢,
|
|
|
|
应该是消影问题。如果消影了,不管延迟多短都能显示的,只不过延迟短了之后人眼分辨不了了,这就是动态显示了。
|
|
|
|
|
|
|
|
应该是消影的问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
串口发送中断中对发送I/O口定义为GPIO输出,出现发送数据不完整,缺少2个字节,求解答
1168 浏览 3 评论
728 浏览 0 评论
【xG24 Matter开发套件试用体验】10-Bluetooth示例1
836 浏览 0 评论
919 浏览 0 评论
【xG24 Matter开发套件试用体验】power specification电源规格参数配置
747 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10860 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-26 03:17 , Processed in 0.663543 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191