51单片机之定时器/计数器0中断程序

学习了51中断程序的一些知识,简单的来说就是正在做一件事,突然发生了一件更紧急的,所以停下正在做的工作去处理它,处理完后又回来完成。

在这里插入图片描述

#include <REGX52.H>
#define uint unsigned int



sbit led=P1^3;
uint i;




void main ()
{
    TMOD=0x01;//工作模式1 ,需赋初值
	TH0=(65536-1000)/256; //定时1000,高八位
	TL0=(65536-1000)%256;
	EA=1;//打开中断允许总开关
	ET0=1;//定时器0中断允许
	TR0=1;//定时器0启动控制
	while(1);

}



void timer () interrupt 1   //定时器0中断
{
    TH0=(65536-1000)/256;  //1ms一次脉冲
	TL0=(65536-1000)%256;
	i++;
	if(i==1000)
	{
	  i=0;
	  led=~led;		//led一秒亮一次	,即1000次脉冲
	
	}



}

版权声明:本文为m0_67069564原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。