驱动力不够 |
求电路图!有点单片机不认识 |
zl2168 发表于 2016-10-9 21:17 好的 谢谢 |
display(shi,ge);放在while主循环里面,不要放在a==20里面 |
本帖最后由 zl2168 于 2016-10-9 21:29 编辑 “本人是单片机新手,最近正在学习51单片机,但在学习过程中遇到了困难” 为什么不找一本好的教材? 介绍你2本书, 张志良编著 《80C51单片机实用教程——基于Keil C和Proteus》,高等教育出版社,ISBN 978-7-04-044532-9,用于学理论。 《80C51单片机仿真设计实例教程——基于Keil C和Proteus》,清华大学出版社,ISBN 978-7-302-41682-1,用于实验操作。 电路与程序真实可靠可信可行,且便于阅读理解,便于自学。 这样就不会出现那么多问题!!! ![]() ![]() |
ahshmj 发表于 2016-10-8 15:15 好的,谢谢啊,我试一试 |
wuyibin2003 发表于 2016-10-8 13:40 这个复制的时候漏掉了,本来是P3=table[ge]; |
wuyibin2003 发表于 2016-10-8 13:40 上传程序的时候漏掉了,本来是P3=table[ge]; |
其他的错误,如P3=table; 大概是笔误?你自己看着改。 |
本帖最后由 ahshmj 于 2016-10-8 15:19 编辑 duan=1; P3=table[a]; duan=0; P2=0xfd; delay(1); //个位数的显示 duan=1; P3=table; duan=0; P2=0xfe; delay(1); 在这段程序中, “delay(1); //个位数的显示 duan=1; ” 当延时过后,接着就是duan=1 ,关闭了十位的显示。 个位显示过以后呢?要等到下次运行到一个“duan=1”时,才关闭个位显示,所以个位显示的时间长、就会很亮。 解决的办法是:个位的显示延时后面也加上“duan=1”,这样就会像十位一样了,如果感觉亮度都达不到要求,加大延时即可。 duan=1; P3=table[a]; duan=0; P2=0xfd; delay(1); //个位数的显示 duan=1; P3=table; duan=0; P2=0xfe; delay(1); duan=1; |
P3=table 好像没有子程序啊 |
加长了延时时间,亮度增加了。但是十位显示一直在闪烁, |
npn 发表于 2016-10-8 07:06 好的 谢谢啊 |
显示时间过短 |
配置一下P2M0、P2M1、P3M0、P3M1寄存器试试。 |
均分各位显示的时间即可。 |
雪玉寐影 发表于 2016-10-7 10:03 增加延时时间,还是没有解决问题。 |
雪玉寐影 发表于 2016-10-7 10:03 是十位显示的延时太短了吗?我再改长一点试试 |
小蜗牛单片机 发表于 2016-10-7 08:57 这个是我在上传程序的时候漏写了 本来是P3=table[ge]; |
这个延时好像太短了吧~~ |
P3=table; 这个有问题? |