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;

        }

}

扩展资料

定时器有两种工作模式,分别为计数模式和定时模式。对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宽的脉冲信号,驱动步进电机。定时和计数的最终功能都是通过计数实现,若计数的事件源是周期固定的脉冲则可实现定时功能,否则只能实现计数功能。因此可以将定时和计数功能全由一个部件实现。

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机中的定时器中断是怎么用的 ?
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() i...

51单片机定时器中断基础(超级超级简单详细实用)
使用定时器0中断是中断应用的一个实例,以工作方式1为例。首先,定时器\/计数器寄存器TMOD是个8位字节,但不能逐位操作,高四位用于T1,低四位用于T0。设置工作方式时,GATE位用于控制启动和停止,通常设置为0。当CT位为1时,定时器处于计数模式,为0则为定时模式。选择工作方式1时,TMOD的值会是0x1...

怎样使用51单片机的定时器?
51单片机定时器\/计时器的使用 步骤:1、 打开中断允许位:对IE寄存器进行控制,IE寄存器各位的信息如下图所示:EA: 为0时关所有中断;为1时开所有中断 ET2:为0时关T2中断;为1时开T2中断,只有8032、8052、8752才有此中断 ES: 为0时关串口中断;为1时开串口中断 ET1:为0时关T1中断;为1...

51单片机的每个中断源有几个中断优先级?它们在进行中断请求是单片机如 ...
例如,假设在51单片机的一个应用系统中,定时器中断和外部中断0同时发生,且外部中断0被设置为高优先级,而定时器中断被设置为低优先级。在这种情况下,单片机会优先处理外部中断0,待其处理完成后再处理定时器中断。这种处理方式能够确保对外部突发事件的快速响应,同时也不耽误定时器中断的常规处理。总的...

51单片机ec11编码器中断法
首先要开启定时器TIM3,我们使用这个 HAL_TIM_IC_Start_IT(htim, Channel);启动定时器。使用定时器回调函数void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)在里面编写上面的程序,因为我们将B相接在PA7引脚,所以我们使用switch case语句进行判断引脚电平,如果单片机检测到A相为高电平就会...

51单片机中可以中断嵌套么?如果可以是如何规定的?
在51单片机中,中断嵌套是指在一个中断服务程序正在执行时,如果有另一个优先级更高的中断发生,系统会暂停当前中断的处理,转而响应更高优先级的中断,待其处理完后再返回继续处理之前的中断。这种机制使得单片机能够灵活应对多种中断事件,确保重要任务得到及时响应。51单片机支持多个中断源,如定时器中断...

51单片机定时的时候为什么一定要打开中断?
1、单片机的中断是一个很高明的办法。没有中断时单片机只会顺序执行主程序中的语句。2、单片机的定时器有自己的时钟,打开51单片机的定时器后,单片机一边顺序执行主程序的语句时,一边定时器在计时。当计到你设定的值后,他需要产生中断,然后暂停主程序语句,转到中断程序中执行你的命令。执行完命令后...

单片机定时器ET0=1是什么意思?
单片机定时 ET0=1的意思是51单片机的定时器0允许中断。ET0是51系列单片机定时器0的中断允许开关,定时器中断是为了满足定时或计数溢出处理的需要而设置的,当发生计数溢出时,表示定时时间已到或者计数值已满,接着就以计数溢出信号作为中断请求去置位一个溢出标志位。这种中断请求是在单片机芯片内部发生的...

51单片机怎样停止定时计数器,就是定时计数器完成了任务后不停下来,循...
51单片机中的定时器控制字中有两个控制位TR0、TR1,分别用于启动、停止定时器的计数。任何时刻,当TR0\/TR1为1时,T0\/T1定时器计数;当TR0\/TR1为0时,T0\/T1定时器停止计数。置TR0\/TR1为1的指令一般应该在初始化程序或主程序或其他程序中,不能在其自己的中断服务程序中。因为CPU能够进入运行该定时...

51单片机的3个定时器怎样使用?
51单片机只有T0,T1。52才有T2的。定时器设置方法:做定时用一般采用16位模式,也就是TMOD=0x11(10或01单独一个定时器的话),初值的计算是这样的:假设时间是X毫秒,晶振为YMhz,那么:THn=(65536-1000*X*Y\/12)\/256 TLn=(65536-1000*X*Y\/12)%256 之后就是TRn=1(开启定时器)ETn=1(开启...

相似回答