下面是我写的代码(写的很乱大家将就着看一下吧)
#include"reg52.h"
#include"intrins.h"
sbit LED=P0^0;
sbit jc=P1^7;
static char zheci=1,shangci=1;
static char a=0xFF;
void hanshu() interrupt 1
{
TH0=(65535-2000)/256;
TL0=(65535-2000)%256; //2ms的延时,每2ms检测一次开关状态
TF0=0;
if((( a << 1 ) | jc) == 0xFF)
{
zheci=1;
}
else if((( a << 1 ) | jc) == 0)
{
zheci=0;
}
else; //判断该开关是否稳定并且读取他的高低电平
}
int main()
{
TMOD=0X01;
TR0=1;
EA=1;
ET0=1;
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
TF0=0;
LED=0;
while(1)
{
if(zheci != shangci)
{
if(zheci == 1)
{
LED=~LED;
} //判断按键是否按下并弹起改变led的亮灭
shangci=zheci;
}
}
}
为什么这个程序在仿真软件里面使用灯没有变化。
这个是所使用的电路图。
救救孩子吧,感谢感谢。