51定时器与中断

本文详细介绍了51单片机中的定时器0和定时器1的工作原理,包括计数模式、外部引脚控制以及十六位计数范围。同时阐述了51单片机的中断系统,包括定时器和串口通信中断的触发机制,以及中断优先级和中断请求的处理方式。
摘要由CSDN通过智能技术生成

51单片机中的定时器及中断

51定时器

在这里插入图片描述

  1. 51内置两个定时器定时器0,与定时器1
  2. 定时器的模式由以下几个参数控制
  • c/t:0:计时器计数由单片机晶振产生的脉冲控制,1:计数由外部引脚 T i T_i Ti(i:为通配符,定时器1与定时器2的外部引脚不同)产生的脉冲信号控制。

  • 启动控制:TRI&((!GATE)| I N T i INT_i INTi(低电平有效))可以看出当GATE为0时计时器计数由 T R i TR_i TRi控制;当GATE为1时,计数器的启动由TRi和外部引脚 I N T i INT_i INTi低电平控制

  • M1/M0:定时器的模式选择这两位共同决定了定时器的计数模式,但不要管记住当M1=0,M0=1时定时器采用十六位计数模式

  • 以上的参数分别存在TMOD和TCON地址上,

    #include <REGX52.h>
    TOMD|=0x01;
    TOMD&=0xfA;
    //将定时器模式设置为晶振计数,十六位计数器,由TR0控制
    //TOMD不可寻址所以需要直接赋值
    TR0=1//打开计时器0计数开关
    TF0=1//打开计时器0的中断请求;
    
    
  • T L i TL_i TLi T H i TH_i THi可以控制计数器低八位和高八位的值,十六位计数器能记录 2 16 2^{16} 216-1也就是0~65534;而12m的晶振产生每 1 − 12 1^{-12} 112秒产生一个脉冲信号经过/12也就是1um产生一次脉冲让计数器计数,计数器最大约能记录6.5nm秒的时间就要触发中断,可以配置 T L i TL_i TLi T H i TH_i THi来实现定时器在6.5nm内的计时周期; T L i TL_i TLi控制低八位, T H i TH_i THi控制高八位

51单片机中断系统

在这里插入图片描述

  1. 51中内置了四个中断器,分别由5个中断源控制:计时器1中断,计时器0的中断,串口通信中断,两个外部中断。在这里插入图片描述

  2. 两个定时器中断在定时器溢出时触发,两个外部中断由 I N T i INT_i INTi低电平触发( I T i IT_i ITi置0时低电平触发, I T i IT_i ITi置1时外部终端接口下降沿触发)。

  3. 串口通信中断在通信接受到数据时触发中断;

  4. 在中断模式IE选择中EA是中断的总开关,ES,ET1等等是各中断的开关。

  5. 中断优先级:在同一种中断请求中单片机会先将该中断开关断开,完成终端任务后再接上,也就是说同一时间同一种中断源不可能触发两次中断请求,不同的中断源可以同时触发中断:他们根据不同的中断优先级依次执行。在这里插入图片描述
    每个中断源分别有两个引脚接入了高优先级表和低优先级表俩个表中的各中断源优先级是一样的,但高优先级表比低优先级表优先级要高,我们可以通过IP的设置来自定义各中断源的优先级。
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值