关于Keil3编译STC89C52RC单片机程序
程序编写应该没问题,用keil模拟运行过了,灯正常闪灭,但将HEX文件烧进单片机就不行了,单片机没反应#include<reg52.h>voiddelay(){unsig...
程序编写应该没问题,用keil模拟运行过了,灯正常闪灭,但将HEX文件烧进单片机就不行了,单片机没反应
#include<reg52.h>
void delay()
{unsigned long i;
for(i=0;i<70000;i++);
}
void main()
{
while(1)
{
unsigned int j,k;
{unsigned char led8[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
unsigned char led81[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
for(j=0;j<8;j++)
{P1=led8[j];
delay();
}
for(k=0;k<8;k++)
{P1=led81[k];
delay();
}
P1=0x00;
delay();
P1=0xFF;
delay();
P1=0x00;
delay();
P1=0xFF;
delay();
}
}
} 展开
#include<reg52.h>
void delay()
{unsigned long i;
for(i=0;i<70000;i++);
}
void main()
{
while(1)
{
unsigned int j,k;
{unsigned char led8[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};
unsigned char led81[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
for(j=0;j<8;j++)
{P1=led8[j];
delay();
}
for(k=0;k<8;k++)
{P1=led81[k];
delay();
}
P1=0x00;
delay();
P1=0xFF;
delay();
P1=0x00;
delay();
P1=0xFF;
delay();
}
}
} 展开
展开全部
STC单片机速度可以设置为单周期执行,比通常的单片机快12倍,
你用keil仿真的时候是按照普通51单片机执行的
是不是这里有差异
第二,就是检查你的硬件
你用keil仿真的时候是按照普通51单片机执行的
是不是这里有差异
第二,就是检查你的硬件
更多追问追答
追问
是不是像楼上说的将延时变短 可是改了还是不行
追答
我看了,你的程序里面没有设置单周期模式的指令,应该用的是普通模式
在普通模式下仿真:晶振为12MHz时候,大约每3.15秒切换一次状态,程序应该没有问题
强烈要求检查硬件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序没问题的话,需要检查一下电路
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询