|
#include<reg52.h>
unsigned int i;
sbit a=P1^0;
sbit b=P1^7;
sbit CD=P2^5;
sbit PW=P2^0;
sfr WDTRST=0xa6;
void Rst_Watchdog(void)//看門狗定時(shí)器子程序
{
WDTRST=0x1e;
WDTRST=0xe1;
}
void main()
{
EA=1;//總中斷開關(guān)
ET0=1;//0號(hào)定時(shí)器開關(guān)
TR0=0;//與門控制開關(guān)之一
TMOD=0x02;//模式2
TH0=255;
while(1)
{
Rst_Watchdog();
if(PW==0)
{
for(i=0;i<10000;i++)
Rst_Watchdog();
if(PW==0)
{
TR0=!TR0;
b=!b;
}
}
}
}
void DSQ0() interrupt 1
{
TH0=255;//定時(shí)時(shí)長(zhǎng)1us
a=0;
a=0;
a=1;
a=1;
a=1;
a=1;
a=1;
a=1;
a=0;
a=0;
a=1;
if(CD==0)
{
for(i=0;i==0;i++);
a=0;
a=0;
a=1;
a=1;
a=1;
}
else
{
a=1;
a=1;
a=1;
a=0;
a=0;
a=1;
for(i=0;i<1;i++);
}
a=1;
a=0;
a=0;
a=1;
for(i=0;i<2;i++);
a=1;
a=0;
a=0;
a=1;
for(i=0;i<900;i++)
Rst_Watchdog();
}
|
|