您的位置首页百科知识

51单片机中的定时器中断是怎么用的 ?

51单片机中的定时器中断是怎么用的 ?

的有关信息介绍如下:

代码如下:

//实现led灯一秒亮灭闪烁

void main()

{

    TMOD=0x01;//设置定时器0为工作方式1(M1 M0为01)

    TH0=(65536-45872)/256;//装初值11.0582晶振定时50ms数为45872

    TL0=(65536-45872)%256;

    EA=1;//开总中断

    ET0=1;//开定时器0中断

    TR0=1;//启动定时器0

    while(1);//程序停止在这里等待中断发生

}

void T0_time() interrupt 1

{

    TMOD=0x01;//重装初值

    TH0=(65536-45872)/256;

    num++;//num每加一次判断一次是否到20次

    if(num==20)//如果到了20次,说明1秒时间到

        {

            num=0;//num清0重新计睁银数

            led=~led1;

        }

}

51单片机中的定时器中断是怎么用的 ?

扩展资料

定时器悉隐宴有两种工作模式,分别为计数模式和定时模式。对Px,y的输入脉冲进行计数为计数模式。定时模式,则是对MCU的主时钟经过12分频后计数。因为主时钟是相对稳定的,所以可以通过计数值推算出计数所经过的时间。

51单片机计数器的脉冲输入脚。主要的脉冲输入脚有Px,y, 也指对应T0的P3.4和对携让应T1的P3.5,主要用来检测片外来的脉冲。而引脚18和19则对应着晶振的输入脉冲,脉冲的频率和周期为

F = f/12 = 11.0592M/12 = 0.9216MHZ      T = 1/F = 1.085us 

51计数器的计数值存放于特殊功能寄存器中。T0(TL0-0x8A, TH0-0x8C), T1(TL1-0x8B, TH1-0x8D)

定时器常用作定时时钟,以实现定时检测,定时响应、定时控制,并且可以产生ms宽的脉冲信号,驱动步进电机。定时和计数的最终功能都是通过计数实现,若计数的事件源是周期固定的脉冲则可实现定时功能,否则只能实现计数功能。因此可以将定时和计数功能全由一个部件实现。