完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
程序中延时函数为delay(100)时,可以滚动显示1-8,但是延时一旦改为delay(1)时,刷新频率一快就只显示个别几个数字,小弟新手一枚,实在是看不出有什么问题,还请个位大神前辈们多多指导!附件中包含proteus8.1工程文件以及keil工程文件,在此附上代码:#include
#include #define uchar unsigned char #define uint unsigned int ***it dula=P2^5; ***it weila=P2^6; uchar code shu[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0X90,0x88,0x83, 0xC6,0xa1,0x86,0x8e}; void delay(uchar z) { uchar x,y; for(x=110;x>0;x--) for(y=z;y>0;y--); } void main() { weila=0; dula=0; while(1) { weila=1; P0=0x01; weila=0; dula=1; P0=shu[1]; dula=0; delay(1); weila=1; P0=0x02; weila=0; dula=1; P0=shu[2]; dula=0; delay(1); weila=1; P0=0x04; weila=0; dula=1; P0=shu[3]; dula=0; delay(1); weila=1; P0=0x08; weila=0; dula=1; P0=shu[4]; dula=0; delay(1); weila=1; P0=0x10; weila=0; dula=1; P0=shu[5]; dula=0; delay(1); weila=1; P0=0x20; weila=0; dula=1; P0=shu[6]; dula=0; delay(1); weila=1; P0=0x40; weila=0; dula=1; P0=shu[7]; dula=0; delay(1); weila=1; P0=0x80; weila=0; dula=1; P0=shu[8]; dula=0; delay(1); } } 注:选用的是7段共阳极数码管
|
|
相关推荐
|
|
LED数码管的显示原理是每个位显示时间为20毫秒,你把延时从100改为1时,频率也相应套高了100倍,数码管当然只能看到的数量比以前的烧了!
|
|
|
|
|
|
但是我这个程序用到我自己的开发板里面是可以动态显示的1-8的,为什么用proteus仿真却不行呢? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
软件问题,也就是说软件仿真不如硬件仿真,所以我写程序都是用的 硬件仿真! |
|
|
|
|
|
1630 浏览 3 评论
2925 浏览 1 评论
3196 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
4933 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1115 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-3 08:23 , Processed in 0.609588 second(s), Total 54, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号