用汇编语言实现51单片机定时器中断和中断嵌套1

实现定时器中断外部中断和中断嵌套1

一、背景知识
1.定时器结构和原理:
**(1)组成:**两个16位的定时器T0和T1,以及他们的工作方式寄存器TMOD和控制寄存器TCON等组成。内部由总线与CPU连接。
在这里插入图片描述
(2)工作模式
计数器工作模式:
计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0的负跳变(下降沿)时,计数器(TH0,TL0或TH1,TL1)的值增1。
定时器工作模式:
计数脉冲来自内部时钟脉冲,每个机器周期计数值增1,每个机器周期=12个振荡周期,计数频率为振荡频率1/12。

方式0(M1M0=00):
为13位计数器在这里插入图片描述
当C/T=0时为定时工作模式:
开关接到振荡器的12分频器输出上,计数器对机器周期脉冲计数。其定时时间为:T=(2^13-初值)*(1/晶振频率)*12
当C/T=1时为计数工作模式:
开关与外部引脚T1(P3.5)接通,计数器对来自外部引脚的输入脉冲计数。当外部信号发生负跳变时计数器加1。

方式1(M1M0=01)
为16位计数器,定时时间:T=(2^16-初值)*(1/晶振频率)*12

方式2(M1M0=10)
为8位计数器在这里插入图片描述
THx作为常数缓冲器,当TLx计数溢出时,在置“1”溢出标志TFx的同时,还自动的将THx中的初值送至TLx,使TLx从初值开始重新计数。定时时间:T=(2^8-初值)*(1/晶振频率)*12

方式3(M1M0=11)
在这里插入图片描述
当T0处于方式3时, T1仍可设置为方式0、方式1和方式2。此时定时器T1一般用作串口的波特率发生器,或不需要中断的场合。这个在串口通信那边应用比较多。

(3)工作寄存器相关功能
在这里插入图片描述
工作方式寄存器TMOD:
用于设置定时器的工作模式和工作方式;GATE是在下面控制信号K的组成成分,C/T非是用于选择为定时器还是计数器,M1M0是工作方式的选择。
控制寄存器TCON:
用于启动和停止定时器的计数,并控制定时器的状态; TR1、TR0 —计数运行控制位(TRx=1: 启动定时器/计数器工作,TRx=0: 停止定时器/计数器工作);IE0、IE1 —外中断中断请求标志;TF1 、TF0—溢出中断请求标志;
IT1、IT0 —— 外中断触发方式控制位
在这里插入图片描述
当TMOD标志位C/T非=0 定时器工作在定时方式:
加1计数器对脉冲f进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出; 因为一个计数脉冲的周期就是一个机器周期从而达到计时功能
当TMOD标志位C/T非=1 定时器工作在计数方式:
加1计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外信号脉冲进行计数,每来一个脉冲,计数器加1,直到计时器计满溢出;
控制信号K可以控制计时器的“启动”和“停止”:
在这里插入图片描述
2.中断和中断嵌套:
(1)中断在这里插入图片描述
一共有五种中断,其中有两个外部中断(INT0–由P3.2口引进;INT1,由P3.3口引入,都是在低电平或者下降沿引起),有3个内部中断(T0和T1作为计时器溢出引起的中断;TI/RI串行I/O口中断)
在这里插入图片描述
中断过程有三个方面的四个寄存器作用:
①.中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON
在这里插入图片描述
TCON寄存器:
TF1\TF0=1时,计时器溢出中断请求标志位
IE1\IE0=1时,外部中断请求标志位
IT1\IT0,外部中断触发方式控制位,等于1时为边沿触发,等于0为电平触发
在这里插入图片描述
寄存器SCON:
RI: 串口接收中断标志。每接收完一个串行帧,由硬件置位RI,RI须由软件清除。
TI: 串口发送中断标志。每发送完一个串行帧,由硬件置位TI。TI须由软件清除。
② 中断允许控制寄存器IE;
在这里插入图片描述
EA —— CPU中断允许控制位( EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。)
EX0 —— 外中断INT0中断允许控制位( EX0=1,INT0开中;EX0=0,INT0关中。 )
EX1 —— 外中断INT1中断允许控制位(EX1=1,INT1开中;EX1=0,INT1关中。)
ET0 —— 定时/计数器T0中断允许控制位(ET0=1,T0开中;ET0=0,T0关中。)
ET1 —— 定时/计数器T1中断允许控制位(ET1=1,T1开中;ET1=0,T1关中。)
ES —— 串行口中断(包括串发、串收)允许控制位 ( ES=1,串行口开中;ES=0,串行口关中。)
③ 中断优先级控制寄存器IP。
在这里插入图片描述

  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值