初学求助!Proteus仿真8051单片机8个LED左移右移问题

2019-07-18 10:34发布

我的proteus是8.0版本,keil是Keil 4 版本,在Proteus里面选择8051的单片机,导入程序后,如果不连接任何LED,进行仿真,P1.0-P1.7接口电平循环变化,但是一旦接上8个LED,总是只有连接在P1.0上的LED闪烁,且闪烁周期为8个LED都一次闪烁情况下的周期,其他LED均不亮,IO口也没有电平变化,如果只接一两个LED,也只是前端的一个LED可以闪烁,另一个不亮,而且只有从P1.0到发光的LED所接IO口有电平变化,其他IO口均显示为高电平。
经检查,Keil程序、Proteus里面元器件的选择、导入.hex程序的过程等各项操作均无误,求助为什么总是出现这种情况啊!!!!
下面附图和程序.....
求助!!!!!!!!!!!!!

Keil 4 中程序代码


#include <reg52.h>

void Delay(unsigned int t)
{
        while(--t);
}
void main()
{
        unsigned int i;       
        Delay(5000);
        P1=0Xfe;
        while(1)
        {
                for(i=0;i<8;i++)
                {
                        Delay(5000);
                        P1<<= 1;
                        P1=P1|0x01;
                }
                P1=0xFE;
        }  
}





不连接LED时IO口均有电平变化.jpg
连接上8个LED只有第一个闪烁.jpg
只连接两三个LED仍然只有一个亮.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
Luyisiana
2019-07-18 14:44
原理上面基本没什么问题,proteus软件看现象有时候也不一定很可靠,但有时候必要的完善一下电路和程序也许现象就正常了。首先延时时间有点短,需要加长点。其次电路里面加下限流电阻。

一周热门 更多>