单片机流水灯全亮,我亦有同样问题在看见最佳回答后仍不知如何解决,附网上搜索的最佳回答于问题补充中

网上的最佳回答:“外围系统的问题可能性很大,也就是说,没有振荡或者没有复位等等,这个问题还是常见的,这样的话单片机就处于初试状态,所有引脚都是高电平,并且程序没有执行,你用的是LED正极接单片机吧”
本人已用万用表前后侧量
多次,无虚焊。
在补充一下,现在的情况是LED灯全亮

单片机默认复位后或者上电后的所有引脚输出都为高电平,这是为了方便读取数据。所以,你的单片机在上电之后就是全亮,因为你的LED灯是正极接在了单片机的输出口上了,LED的负级接的地。这样芯片上电后,灯就全亮了。有可能你的芯片没有设置上电复位电路,就是说程序并没有在芯片上电之后就运行。所以就停在灯全亮这里了。单片机有上复位引脚,有的是上电后高电平脉冲复位,有的是低电平脉冲复,你用的时候要看一下对应型号的芯片手册上是怎么表示的。复位引脚的引脚名上有一个横线说明是低电平复位,没有横线说明是高电平复位。电上复位就是加一个电容和阻组成,上电时的这个高电平或者低电平的脉冲时间的要求(一般是12个机器周期),让芯片复位。这个时候单片机才完成开始硬件时钟和寄存器初始化同步,接下来才能正常运行程序。
还有一种情况就是你用的是P0口,没有接上拉电阻,P0口只有低电平没有高电平。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-30
问题是什么?如果是LED全亮,数码管一个都不亮,那么上面的解释已经很详细了。如果排除外围问题的话,那就是单片机根本没有写入程序或者程序出错。
第2个回答  2012-11-04
通常单片机在上电后所有IO管脚默认都是输入态,这是为了防止IO上电后和外围设备的输出管脚相冲突造成IO损坏。
因此无论你的LED正极接电源还是地,在初始化IO之前,LED都应该是不亮的。

因此如果LED全亮的话,首先应考虑的就是初始化程序没有做对。根据原理图,初始化后的LED管脚都应该设置为输出高电平,这样才能保证全部熄灭,然后主程序在依时间次序点亮、熄灭LED实现流水灯。
第3个回答  2012-10-30
要没看到你的程序,具体不好讲。
按电路上看,将P1口全部置高,LED就会熄灭。
第4个回答  2012-11-03
从你电路图上分析,流水灯应该是在P1口低电平有效,但是单片机在没有程序运行的情况下P1口应该输出高电平,流水灯不会亮,现在的问题可能是程序问题,该查查P1口的输出状态。
第5个回答  2012-10-30
看的不是太明白
相似回答