51单片机实例 用定时器 T0 的中断控制 1 位 LED 闪烁

时间:2022-11-25 10:57:02 作者:壹号 字数:822字

51单片机实例 用定时器 T0 的中断控制 1 位 LED 闪烁

/*用定时器 T0 的中断控制 1 位 LED 闪烁*/

#include <reg52.h>

sbit LED0=P0^0;

unsigned char i=0;
void ZD_Init(); //声明中断初始化子函数

void main()
{
ZD_Init();//中断初始化
while(1);//程序等待中断发生
}

void ZD_Init()//中断初始化子函数
{
EA=1;//打开总中断开关
ET0=1;//打开定是器0开关
TR0=1;//定时器0开始工作
TMOD=0X01;//选择定时器0工作模式1 16位定时器
TH0=(65536-50000)/256;//定时器高8位装初值定时50MS
TL0=(65536-50000)%256;//定时器低8位装初值
}

void Time0() interrupt 1 using 0//中断函数
{
TH0=(
65536-50000)/256;//定时器高8位装初值重装初值
TL0=(65536-50000)%256;//定时器低8位装初值重装初值
i++;
if(i==20)//中断20次为1S
{
i=0;
LED0=~LED0;
}
}