定时器中断控制继电器问题,困扰一天一夜,求好心人指导,在线等。
#include <reg52.h>
#define uchar unsigned char;
sbit RELAY = P1^4; //定义继电器对应单片机管脚
uchar tt;
main()
{
tt=0;
TMOD=0x01; //定时/计数器0工作于方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1; //开总中断
ET0=1; //允许定时/计数器1 中断
TR0=1; //启动定时/计数器1 中断
while(1)
{
if(tt==100)
{
tt=0;
RELAY = 0; //开启继电器
}
else RELAY = 1;
}
}
/**********************************定时器中断*/
void time1() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
}
------tt一直是零。进不了if语句。但是继电器边上的指示灯会按我设置的继电器的开合频率微弱的闪烁。