51单片机:每来5 个脉冲,LED灯改变一次状态
51单片机:每来5 个脉冲,LED灯改变一次状态
作业要求:
初始时LED灯处于熄灭状态,每来5个脉冲,LED灯状态改变一次
代码如下:
/*每来5个脉冲,LED灯改变一次状态*/
#include<reg52.h>
sbit LED = P1^0;
unsigned int cnt = 0;
main()
{
TMOD &=0X0F;
TMOD |=0x01;
TH0 = (65536-1000)/256;
TL0 = (65536-1000)%256;
EA = 1; //开总中断
ET0 = 1; //T1开时定时器溢出
TR0 = 1; //开启定时器
while(1)
{
if(cnt==5)
{
cnt = 0;
LED =~LED;
}
}
}
void ET0_ISR(void) interrupt 1 //定时中断
{
//static unsigned int cnt = 0;
TH0 = (65536-1000)/256;
TL0 = (65536-1000)%256;
cnt++;
}