雪玉寐影吧 关注:18贴子:443
  • 0回复贴,共1

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

只看楼主收藏回复

/*用定时器 T0 的中断控制 1 位 LED 闪烁*/
#include<reg51.h> //包含51单片机寄存器定义的头文件
sbit LED0=P1^0; //定义LED接P1^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==10)//中断10次为0.5S 2Hz
{ i=0;
LED0=~LED0; //LED灯状态切换
}
}


IP属地:江苏1楼2015-12-14 07:56回复