我的
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;
}
}
-
-
-
谢谢哦~我之前加过限流电阻的,结果加上电阻即使阻值只有1欧,LED都不亮.....不加电阻LED才能亮........然后也改过延时时间,改成60000也还是行不通T_T
现在只有用下面的数组可以实现循环闪烁...........
unsigned char code table[]={0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0x00,0x00,0x55,0x55,
0xaa,0xaa
};
一周热门 更多>