单片机c问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 11:38:58
我的跑马灯程序,P1口接led灯,低电平亮,但是用我的板运行时跑一次就不跑了,最后一位led一直亮着,不知道是什么问题呀?源代码如下:

#include <reg52.h>
////////////////////////////////////////////////////////
void delay(unsigned int cnt) //简单的延时
{
while(--cnt);
}
///////////////////////////////////////////////////////
main()
{
P1=0xfe;//给初始化值
while(1)
{
delay(30000);//delay at crystal frequency in 12MHz
P1<<=1;//左移一位
P1|=0x01;//最后一位补1
if(P1==0x7f)//检测是否移到最左端?
{
delay(30000);//delay
P1=0xfe;
}
}
}

是不是死机了?有开中断没?把所有中断关了EA=0,试试
另外if(P1==0x7f)//检测是否移到最左端?
{ 这里的延时去掉看看
另外,看门够启动没,如果启动了,关掉试试。