完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在学51单片机和proteus软件,学到数码管显示数字这一块,仿真时出现问题,问题主要如下:
十位为1或4时,不显示,各位为5时不显示,15,45都显示。 电路如图片所示,程序如下所示 #include #define uint unsigned int #define uchar unsigned char uchar temp,ge,shi; ***it duxuan=P2^6; ***it wexuan=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() { temp=44; while(1) { shi=temp/10; ge=temp%10; wexuan=1; P0=0Xfe; wexuan=0; duxuan=1; P0=table[shi]; duxuan=0; delay(5); wexuan=1; P0=0Xfd; wexuan=0; duxuan=1; P0=table[ge]; duxuan=0; delay(5); } } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
|
|
相关推荐
9个回答
|
|
15,45都不显示
|
|
|
|
P0.0~P0.7的引脚与RP1看上去没有连好。
|
|
|
|
另外,A~G,1~6,U2的Q0~Q7以及U3的Q0~Q7怎么连在一起了。
|
|
|
|
我发现把掩饰时间加长就能正常显示,不过我没有想通原因
|
|
|
|
|
|
|
|
|
|
|
|
P0.0~P0.7的引脚与RP1看上去没有连好,是总模式吗,但不像。
|
|
|
|
楼主应该在发送数据前关闭所有显示,防止打开位选锁存时。可以在发送数据前多加一句P0=0xff;
如: while(1) { shi=temp/10; ge=temp%10; P0=0xff; //消隐 wexuan=1; P0=0Xfe; wexuan=0; duxuan=1; P0=table[shi]; duxuan=0; delay(5); P0=0xff; wexuan=1; P0=0Xfd; wexuan=0; duxuan=1; P0=table[ge]; duxuan=0; delay(5); }
|
|
|
|
在数据发送前加一句P0=0xff;
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
3612 浏览 3 评论
4899 浏览 1 评论
5174 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
6895 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1197 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-7 10:27 , Processed in 0.813475 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号