中断系统定时器计数器串行口.ppt
《中断系统定时器计数器串行口.ppt》由会员分享,可在线阅读,更多相关《中断系统定时器计数器串行口.ppt(68页珍藏版)》请在三一文库上搜索。
1、第5章 中断系统、定时器/计数器、串行口,. 单片机的中断系统,5.1.1 中断的概念 所谓中断,是指当计算机正在执行正常程序时,系统中出现了某些急需处理的异常情况和特殊请求。计算机停止正在执行的正常程序,转而去处理异常情况,处理完异常情况后,再回到正常程序的过程。,5.1.2 中断源,中断源就是能向CPU提出申请的部件。 注:MCS-51单片机(51子系列)有五个中断源,其中两个外中断,三个内中断,具有两个中断优先级,可以实现二级中断嵌套。,内部结构如下:,5.1.3 中断的控制, 定时计数器控制寄存器() TCON 为定时计数器的控制器,单元地址为,位地址为,其格式如表-所示。 IT0:外
2、中断0的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE0:外中断0中断申请标志位,当满足触发条件时,IE0为“1”,否则为“0”,由硬件完成。 IT1:外中断1的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE1:外中断1中断申请标志位,当满足触发条件时,IE1为“1”,否则为“0”,由硬件完成。,TR0:为T0的启动位,为“1”时T0开始计数,为“0”时T0停止计数,由用户设定。 TF0:为T0的溢出标志位,当T0计满数后,TF0为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 TR1:为T1的启动位,为“1”时T1开始计数,为
3、“0”时T1停止计数,由用户设定。 TF1:为T1的溢出标志位,当T1计满数后,TF1为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。, 串行口控制寄存器(),SCON 为串行接口的控制器, 单元地址为, 位地址为 , 其格式如表 -所示。 RI:为串行口的接收标志位,当接收完一帧数据后,由硬件置“1”。 TI:为串行口的发送标志位,当发送完一帧数据后,由硬件置“1”。 注:其余的6位,在串行口中给大家讲解。,注:1、工作在中断方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”。其中IE0、IE1、TF0、TF1,在系统响应中断后,由硬件清“0”;RI、TI是由软件清“
4、0”。是因为这两个标志位共用一个入口地址。 2、工作在查询方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”,查询后由软件清“0”。, 中断允许控制寄存器,由于单片机没有专门的开中断和关 中断指令,个中断源中断的开放和关闭是通过中断 允许寄存器 进行两级控制的。所谓两级控制,是 指有一个中断允许总控制位,配合各中断源的中 断允许控制位共同实现对中断请求的控制。 的单 元地址为,位地址为,其内容 及位地址如表 -所示。,EA:总的中断允许,为“0”时禁止中断,为“1”时允许中断(所有的中断源)。 EX0:外中断0(INT0)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET0
5、:定时/计数器T0中断允许,为“0”时禁止中断,为“1”时允许中断。 EX1:外中断1(INT1)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET1:定时/计数器T1中断允许,为“0”时禁止中断,为“1”时允许中断。 ES:串行口S中断允许,为“0”时禁止中断,为“1”时允许中断。 注:都是由用户设定。, 中断优先级控制寄存器,中断优先级寄存器字节地址为,位地址为,其内容及位地址如表 -所示。,PX0:外中断INT0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT0:定时/计数器T0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PX1:外中断I
6、NT1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT1:定时/计数器T1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PS:串行口S优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 注:都是有用户设定。,注:高优先级中断源可以中断正在执行的低优先级中断服务程序,同级或低优先级中断源不能中断正在执行的中断服务程序。, 中断的处理过程, 中断响应 某一中断源向 发出中断请求,只有满足下面条件后,才能得到 的响应: 有中断源发出中断请求; 中断总允许位,即 开中断; 申请中断的中断源的中断允许位为,即相应的中断允许标志位为。,满足以上条件,
7、CPU一般会响应中断,但如果有下列情况之一,则中断响应被暂时搁置: 1、CPU正在执行一个同级或高优先级的中断服务程序; 2、当前的机器周期不是正在执行的指令的最后一个机器周期,只有在当前指令执行完后,才能响应中断; 3、当前正在执行的指令时返回指令(RET、RETI)或访问IE、IP指令。, 中断处理 中断响应的主要内容就是由硬件自动执行一条 长调用指令LCALL,其格式为LCALL addr16。这 里的addr16就是相应的中断服务程序入口地址。这些 中断入口地址已由系统设定。例如对于定时器计数 器的中断响应,自动调用的长调用指令为: LCALL 000BH, 中断返回 中断服务程序的最
8、后一条指令必须是中断返回 指令RETI。CPU 执行完这条指令后,把响应中断时 所保护的断点地址从堆栈中弹出,然后装入程序计数 器PC 中,CPU 就从原来被中断处继续执行原来被中 断的程序。,例题:在单片机的P0口外接8路LED发光管,用于流水灯显示,在外中断0(P3.2)引脚外接一独立式按,来控制流水灯的方向(中断方式)。,ORG 0000H LJMP ST ORG 0003H LJMP INT0 ORG 0050H ST: MOV SP, #2FH MOV A, #0FEH SETB IT0 SETB EA SETB EX0 CLR F0 ST1:JB F0, RRR MOV P0, A
9、 LCALL DEL RL A SJMP ST1 RRR:MOV P0,A LCALL DEL RR A SJMP ST1,DEL :MOV R7,#00H DEL1:MOV R6,#00H DEL2:NOP NOP NOP NOP DJNZ R6, DEL2 DJNZ R7, DEL1 RET INT0: CPL F0 RETI END,. 定时器计数器,5.2.1 定时器计数器的结构和工作原理 80C51单片机中设置有两个16位的可编程的定时器计数器T0、T1,其结构如图 -所示。通过用户设定,都可以工作在计数或者定时状态。,5.2.2定时器计数器的控制,1、 工作方式寄存器 用于控制 和
10、 的工作方式, 字节地址为, 其各位的定义格式如表- 所示,不可位寻址,低4位控制T0,高4位控制T1。,(1)工作方式选择位、 定时器计数器的工作方式由、的状态确定,其对应关系如表- 所示。,(2)定时器计数器方式选择位 为“0”时,工作在定时状态 为“1”时,工作在计数状态 (3)门控位 为“0”时,无门控 为“1”时,有门控 注:TMOD都是由用户通过软件设置。,、 定时器计数器控制寄存器 控制寄存器 的主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。 单元地址为,位地址为,其格式如表- 所示。,TR0:为T0的启动位,为“1”时T0开始计数,为“0”时T0停止计数,由用
11、户设定。 TF0:为T0的溢出标志位,当T0计满数后,TF0为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 TR1:为T1的启动位,为“1”时T1开始计数,为“0”时T1停止计数,由用户设定。 TF1:为T1的溢出标志位,当T1计满数后,TF1为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。,5.2.3 定时器计数器的工作方式,1、方式0(以T0为例) 定时器 方式的结构框图如图 -所示,为13位定时/计数器。,(1)T0工作的状态由C/T控制,为“0”时定时,为“1”时计数。 (2)T0启动由TR0(启动位)、GATR(门控位)、INT0(外引脚P3.2)控制。 GAT
12、R=0:TR0=1时,T0启动工作 TR0=0时,T0禁止工作 GATR=1:TR0=1且INT0=1时,T0启动工作 TR0=0或INT0=0时,T0禁止工作 (3)计数时,由外引脚输入计数脉冲 N:为计数值(已知) a:计数初值(未知量) 最大计数:8192个脉冲 定时时,由时钟的12分频作为计数脉冲 t:为定时时间,若fosc=12MHz,tmax=8.192ms,注:1、8051单片机的定时/计数器都是对输入的脉冲进行+1计数。 2、计数时由外引脚输入计数脉冲,再由13位的计数器进行计数。 3、定时时由内部时钟的12分频后,再由13位的计数器进行计数,最后得到时间。 4、由于是+1计数
13、,计满后产生溢出位TF0,所以用户根据需要计数或定时时间的大小,计算出定时/计数器的初值a,再通过软件放入定时/计数器的高8位(TH0)和低5位(TL0)中。 5、由于方式0是13位定时计数器(低8位中的高3位不用),所以在放数时要避开这3位。 6、由于方式0不能自动装入初值,故在溢出后,需通过软件再次装入初值给TL0和TH0。,例5-4 用定时器T1,工作方式0实现定时,并在P1.0引脚上输出周期为10ms的方波,设晶振Fosc 12MHz。 解:(a)确定工作方式对TMOD 赋值,使用T1, 所以低 位未用, 全部设为, 高 位中GATE=0,C/T=0,M1M0=00,所以TMOD=00
14、H。 (b)预置定时或计数的初值 要在P1.0引脚上输出周期为10ms的方波,只要每隔5ms将P1.0取反一次就可以了。因此选用T1在方式下定时时间为5ms,则T1的初值为:t=(8192-a)X12/Fosc, 已知t=5ms, Fosc 12MHz则a=3192=C78H=0000 1100 0111 1000B,因13位计数器中TL1的高位未用,可填写任意值,一般填写,TH1占高位,所以,a的实际填写值应为:a=0110001100011000B6318H,即:TH1=63H,TL1=18H。,中断方式: ORG 0000H LJMP MAIN ORG 001BH LJMP PTT1 O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 系统 定时器 计数器 串行口
链接地址:https://www.31doc.com/p-2710376.html