收藏 分享(赏)

第四章 单片机的功能单元.ppt

上传人:jinchen 文档编号:5779026 上传时间:2019-03-17 格式:PPT 页数:99 大小:2.13MB
下载 相关 举报
第四章  单片机的功能单元.ppt_第1页
第1页 / 共99页
第四章  单片机的功能单元.ppt_第2页
第2页 / 共99页
第四章  单片机的功能单元.ppt_第3页
第3页 / 共99页
第四章  单片机的功能单元.ppt_第4页
第4页 / 共99页
第四章  单片机的功能单元.ppt_第5页
第5页 / 共99页
点击查看更多>>
资源描述

1、,单片微型计算机 Single Chip microcomputer,2 0 1 0 年 0 9 月 2 8 日,主 编: 张俊谟 授课教师: 赵燕东 博士,第四章 80C51单片机的功能单元,并行I/0接口,定时器/计数器,串行接口,中断系统,4.1 并行I/O接口,4.1.1 P0口,P0口是一个多功能的8位口,可以按字节访问,也可以按字访问。,一. 位结构与工作过程分析,1. 位结构,2. 工作过程分析,(1).当内部控制信号置1时,多路开关接通地址/数据输出端,当地址/数据输出线置1时,控制上拉电路的“与”门输出为1,上拉FET导通,同时地址/数据输出通过反相器输出0,控制下拉FET截

2、止,这样A点电位上拉,地址/数据输出线为1。,当地址/数据输出线置0时,控制上拉电路的“与”门输出为0,上拉FET截止,同时地址/数据输出通过反相器输出1,控制下拉FET导通,这样A点电位下拉,地址/数据输出线为0。,(2).当内部控制信号置0时,多路开关接通锁存器的Q端,当内部控制信号为0时,与门关闭,上拉FET截止,形成P0口的输出电路为漏极开路输出;,当地址/数据输出线置0时,控制上拉电路的“与”门输出为0,上拉FET截止,同时地址/数据输出通过反相器输出1,控制下拉FET导通,这样A点电位下拉,地址/数据输出线为0。,3. P0口的功能和特点,(1).作I/O口使用,相当于一个真正的双

3、向口:输出锁存、输入缓冲,但输入时需先将口置1;每根口线可以独立定义为输入或输出。它具有双向口的一切特点。,(2).作地址/数据复用总线使用,此时,P0口为一个半双工口。作地址/数据复用总线用时,口不能逐位定义输入/输出。作数据总线用,输入/输出8位数据;作地址总线用,输出低8位地址。,(3).P0口能驱动8个TTL负载,4.1.2 P1口,P1口是一个多功能的8位口,可以按字节访问,也可以按字访问。,一. 位结构与工作过程分析,1. 位结构,2. 工作过程分析,(1)P1.i位作为输出口用时:,(2)P1.i位作为输入口用时:,先向P1.i位输出高电平,使A点提升为高电平,此操作称为设置P

4、1.i为输入线。,若外设输入为1时,A点为高电平,有读引脚读入总线后,B点也为高电平;,若外设输入为0时,A点为低电平,有读引脚读入总线后,B点也为低电平;,CPU输出0时:D=0,Q=0, ,晶体管导通,A点被下拉为低电平,即输出为0;,CPU输出1时:D=1,Q=1, ,晶体管截止,A点被上拉为高电平,即输出为1。,3. P1口的功能和特点,(1).输出锁存,输出时没有条件;,(2).输入缓冲,输入时需要先将该口设为输入状态, 先输出1;,(3).工作过程中无高阻悬浮状态,即该口不是输入口就是输出口。,4. P1口的操作,(1).字节操作,输出:,输入:,(2).位操作,置位、清除:,输入

5、、输出:,判跳:,JB P1.i ,rel ;P1.i =1,跳转,逻辑运算:,(3).读引脚操作,在响应CPU输出的读引脚信号时,端口本身的电平值通过缓冲器进入内不总线。,对于这类指令,执行前必须先将端口琐存器置1,使A点为高电平。,(4).读锁存器操作,在执行读锁存器的指令时,CPU首先完成将锁存器的值通过缓冲器读入内部,进行修改,然后重写到锁存器中去,这就是“读修改写”指令。,这类指令包括所有的口逻辑操作(ANL、ORL、XRL)和为操作(JBC、CPL、MOV、SETB、CLR)指令。,5. P1口的多功能线,P1.0定时器/计数器2的外部输入端T2;,P1.1定时器/计数器2的外部控

6、制端T2EX;,4.1.3 P3口,P3口是一个多功能的8位口,可以按字节访问,也可以按字访问。,一. 位结构与工作过程分析,1. 位结构,2. 工作过程分析,当复用输出功能B点置1时,输出锁存器的输出可以顺利通过引脚P3.i。其工作状态与P1口相似。这时,P3口的工作状态为一I/O口,为准双工口。,当输出锁存器的输出置1时,复用输出功能可以顺利通到引脚P3.i。,当复用输出为0时,因与非门的C点已经置1,现B点为0,故与非门的输出为1,FET导通,从而使A点为0。 当复用输出为1时,与非门的输出为1,FET截止,从而使A点为高电平。,3. P3口的功能和特点,P3.0RXD(串行口输入),P

7、3.2INT0(外部中断0请求),P3.3INT1(外部中断1请求),P3.4T0(定时/计数器0的外部输入),P3.5T1(定时/计数器1的外部输入),P3.1TXD(串行口输出),P3.6WR(片外数据存储器写选通信号输出),P3.7RD(片外数据存储器读选通信号输出),复用输入功能,复用输出功能,4.1.4 P2口,P2口是一个多功能的8位口,可以按字节访问,也可以按字访问。,一. 位结构与工作过程分析,1. 位结构,2. 工作过程分析,在内部控制信号的作用下,多路开关的输入投向输出锁存器的输出(C点)侧,这样多路开关将接通输出锁存器。,若经内部总线输出0,输出锁存器的Q端为0,信号经多

8、路开关和反相器后输出1,FET导通,A点为0,输出低电平。,若经内部总线输出1,输出锁存器的Q端为1,信号经多路开关和反相器后输出0,FET截止,A点为1,输出高电平。,(1)I/O口状态,(2)地址状态,在内部控制信号的作用下,多路开关的输入投向地址输出(B点)侧,这样多路开关将接通地址寄存器输出 。,(1)作I/O口使用时,P2口为一准双工口,功能与P1相同。,3. P3口的功能和特点,(2)作地址输出时,P2口可以输出程序存储器或片外数据存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址线,从而可分别寻址64KB的程序存储器或片外数据存储器。,(3)P2口能驱动4个TTL负载

9、。,汽车尾灯模拟,K1:左转弯开关 K2:右转弯开关 L1:左转弯灯 L2:右转弯灯 K1闭合:左灯间隔0.1s闪烁5次; K2闭合:右灯间隔0.1s闪烁5次; K1,K2同闭合或同断开,灯全灭.,4.2 定时器/计数器,定时器/计数器是单片机中重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路有很大好处。,定时器/计数器的核心是一个加一计数器,其基本功能是加1功能:,(1)在单片机的T0、T1或T2引脚上施加一个1到0的跳变,计数器增1,即计数功能。,(2)在单片机内部对机器周期或其分频进行记数,从而得到定时,这就是定时功能。,一 概述,作定时器用时,其记数寄存器值每

10、过一个机器周期加1。因此,可以认为定时器是对机器周期的记数。,因为一个机器周期固定由12个振荡周期构成,所以,记数率为振荡频率的1/12。,即:,作计数器用时,在其相应外部引脚上,每有一个由1到0的跳变,其记数寄存器的内容便要加1。,因为辨识一个1到0的跳变需要两个机器周期,故最高记数率为振荡频率的1/24。,即:,8051内含定时器0和定时器1两个16位定时/计数器;8052还有一个定时器2,共有三个定时/计数器。,定时器0和定时器1有四种运作方式可供选择;定时器2有三种运作方式。,定时器0和定时器1的运作方式,运作方式0,运作方式1,运作方式2,运作方式3,定时器2的运作方式,捕捉方式,自

11、重装方式,波特率发生器方式,二 定时器/计数器T0、T1,1. 定时器/计数器T0、T1的内部结构,内部结构,计数器TH0、TL0和TH1、TL1,特殊功能寄存器TMOD、TCON,时钟分频器,输入引脚T0、T1、 、,定时器/计数器T0、T1的内部结构框图,定时/计数器的功能与运作方式选择是通过定时器方式控制寄存器TOMD(Timer Mode)进行的。89H,GATE门控位,定时器1溢出标志,0定时,1记数,2. 定时器/计数器T0、T1的特殊功能寄存器,GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。,GATE=1时,由外部中断引脚 和TR0、TR1来启动定时器。 当 引脚

12、为高电平时,TR0置位,启动定时器T0; 当 引脚为高电平时,TR1置位,启动定时器T1。,方式0,方式1,方式2,方式3,定时器/计数器T0、T1的四种工作方式,3. 定时/计数器控制寄存器TCON(Timer Control):88H,7 6 5 4 3 2 1 0,定时器1溢出标志;,定时1运行控制位;,定时器0溢出标志;,定时0运行控制位;,方式选择,中断标志,方式选择,中断标志,(1). 工作方式0,工作方式0是一个13位定时/计数运作方式,如果13位由全1变成全0,计数寄存器发生溢出,其相应的中断请求标志TF1即被硬件置1。,三. 定时器/计数器T0、T1的工作方式,(2). 工作

13、方式1,工作方式1是一个16位定时/计数运作方式,(3). 工作方式2,TL作为8位计数器用,TH用以保存初始值。TH的值由软件预置。,(4). 工作方式3,定时器1只保持计数值。定时器0建立起两给独立的计数器TL0和TH0。,TL0既可定时,也可计数;TH0固定执行定时功能。,四. 定时器2,定时器2是8052的第三个定时/计数器,16位。,定时器2的定时/计数控制寄存器T2CON,定时器2的运作方式,(1).捕捉方式(Capture Mode),EXTN2=1时的捕捉方式:定时器2除进行上述工作外,其计数寄存器TH2和TL2的现行值尚在T2EX上的负跳变信号作用下,分别被捕获在RCAP2L

14、和RCAP2H寄存器中。,EXTN2=0时的捕捉方式:T2EX引脚上的信号不被传递,这时定时器2为一个16位定时器或计数器,溢出时,TF2标志置1,可用来请求中断。,(2).自重装方式(Auto-reload Mode),EXTN2=0时:当16位计数寄存器发生溢出时,不但TF2标志被硬件置1,而且RCAP2H和RCAP2L寄存器内由软件预置的值亦被重新装入TH2和TL2中。,EXTN2=1时:在保留上述功能的情况下,T2EX引脚上的外来负跳变输入信号也可触发16位自重装操作,并使EXF2标志置1。,3.波特率发生器方式(Baud Generator Mode),(3).波特率发生器方式下的定

15、时器2,当T2CON中RCLK+TCLK=1时,定时器/计数器T2将工作于波特率发生器方式,即其溢出脉冲用做串行口的时钟。,当定时器/计数器T2用做波特率发生器时,TH2的溢出不使TF2置位,不产生中断。因而,当定时器/计数器T2用做波特率发生器时,没有必要禁止中断。,当定时器/计数器T2用做波特率发生器时,若EXEN2置1,则T2EX端的信号产生负跳变时,EXF2将置1,但不会发生重装载或捕获操作。这时,T2EX可以作为一个附加的外部中断源。,五. 看门狗,看门狗(watchdog)有时又称为定时器3,它的作用是强迫单片机(微处理器)进入复位状态,使之从硬件或软件故障中解脱出来。,T3由外部

16、引脚 和电源控制寄存器PCON.4(WLE)和PCON.1(PD)控制。,看门狗定时器允许,低电平有效。 =0,允许看门狗定时器,禁止掉电方式; =1,禁止看门狗定时器,允许掉电方式。,WLE(PCON. 4)看门狗定时器允许重装标志,若WLE置位,定时器T3只能被软件装入,装入后WLE自动清除。,看门狗的工作过程:在T3溢出时,复位8XC552,并产生复位脉冲输出至复位引脚RST。,为防止系统复位,必须在定时器T3溢出前,通过软件对其进行重装。如果发生软件或硬件故障,将使软件对定时器T3重装失败,从而T3溢出导致复位信号的产生。,例:watchdog使用的一段程序如下:T3 EQU 0FFH

17、 ;定时器T3的地址PCON EQU 87H ;PCON的地址WATH-INTV EQU 156 ;看门狗的时间间隔LCALL WATCHDOG看门狗的服务程序:WATCHDOG: ORL PCON,#10H ;允许定时器T3重装MOV T3,WATCH-INTV ;装载定时器T3RET,六. 定时器/计数器的编程和使用,1. 定时器/计数器溢出率的计算,定时器/计数器运行前,在其中预先置入的常数,称为定时常数或记数常数(TC)。,其中:,对于T0和T1:,方式0 L=13,方式1 L=16,方式2 L=8,对于T2:,L=8,定时时间的倒数即为溢出率,即:,根据既定的定时时间t,计算出TC值

18、,并将其转换成二进制TCB,然后再分别送入Thi,TLi(对于T0,i=0;对于T1, i=1),对于定时器/计数器T0、T1:,方式0:TCB=TCH+TCL,TCH高8位,TCL低5位MOV THi,#TCH ;送高8位MOV TLi,#TCL ;送低5位,方式1:TCB=TCH+TCL,TCH高8位,TCL低8位MOV THi,#TCH ;送高8位MOV TLi,#TCL ;送低5位,方式2:TCB8位MOV THi,#TCB MOV TLi,#TCB,对于定时器/计数器T2:与T0、T1的方式1相同,2. 定时器/计数器的编程,编程步骤:,写TMOD,只能用字节寻址。设置定时器/计数器

19、的工作方式(M1,M0)、功能选择(C/T)及是否使用门控(GATE)。,将时间常数或记数常数写入Thi和TLi,也只能用字节寻址。,启动定时或记数,即写TCON,可用字节寻址也可用位寻址。如: SETB TRi ;启动定时器SETB TCON.4(T0)SETB TCON.6(T1)CLR TRi ;停止定时器,定时器中断开放和禁止,即写IE(IE.,IE.3,IE.1)如: SETB ETi ;允许中断ETi SETB EA ;开放中断CLR Eti ;禁止中断EtiCLR EA ;关闭中断,3. 定时器/计数器的应用举例,例1:使用定时器/计数器T0的方式0,设定1ms的定时。在P1.0

20、引脚上产生周期为2ms的方波输出。晶体振荡器的频率为6MHz。,例2:使用定时器/计数器T1的方式1,设定1ms的定时。在P1.0引脚上产生周期为2ms的方波输出。晶体振荡器的频率为6MHz。,4.3 串行接口,MCS-51中的串行接口是一个全双工通信接口,即能同时进行发送和接收。它可以作UART(通用异步接收和发送器)用,也可以作同步移位寄存器用。,一. 概述:,所谓全双工的异步串行通讯接口,是说该接口可以同时进行接收和发送数据,因为,口内的接收缓冲器和发送缓冲器在物理上是隔离的,即完全独立的。可以通过访问特殊功能寄存器SBUF(99H),来访问接收缓冲器和发送缓冲器。,二. MSC-51

21、串行口的组成,UART串行口的结构:,UART串行口,波特率发生器,串行口,波特率发生器:主要由定时器/计数器T1、T2及内部的一些控制开关和分频器所组成。它向串行口发送时钟信号TXCLOOCK(发送时钟)和RXCLOCK(接收时钟)。,串行口,接收寄存器SBUF和发送寄存器SBUF,串行口控制逻辑,串行口控制寄存器:SCON,串行数据输入/输出引脚,1. 数据缓冲寄存器SBUF,串行口缓冲寄存器SBUF是可直接寻址的专用寄存器。在物理上,它对应着两个寄存器,一个是发送寄存器,一个是接收寄存器。CPU写SBUF,就是修改发送寄存器;读SBUF,就是监督接收寄存器。接收器是双缓冲的,以避免在接收

22、下一帧数据之前,CPU未能及时响应接收器的中断,没有把上一帧数据读走,而产生两帧数据重叠的问题。对于发送器,为了保持最大的传输速率,一般不需要双缓冲,因为发送时CPU是主动的,不会产生写重叠的问题。,三. 串行口的特殊功能寄存器,2串行口控制寄存器SCON,SM0(SCON.7)和SM1(SCON.6):串行口操作模式选择位。,SCON用于控制和监视串行口的工作状态。它的定义如下:串行口状态控制寄存器SCON是一个逐位定义的8位寄存器,由它控制串行口通讯方式选择、接收和发送,指示串行口的状态。SCON既可以字节寻址也可以位寻址,字节地址为98H,位地址为98H-9FH。,SM2(SCON.5)

23、:,在模式2和3中多处理机通信使能位。,REN(SCON。4):,允许接收位。有软件置位或清除。REN=1时,允许接收,REN=0时,禁止接收。,TB8(SCON.3):,发送数据位8。该位是模式2和3中要发送的第9位数据。在许多通信协议中,该位是奇偶位。可以按需要由软件件置位或清除。在MCS-51多处理机通信中,这一位表示是地址帧还是数据帧。,RB8(SCON.2):,接收数据位8。是模式2和3中已接收的第9位数据。 在模式1中,若SM2=0,RB8是已接收的停止位。 在模式0中,RB8未用。,TI(SCON.1):,发送中断标志。在模式0中,在发送完第8位数据时,由硬件置位;在其他模式中,

24、在发送停止位之初,由硬件置位。TI=1时,申请中断,CPU响应中断后,发送下一帧数据。在任何模式中,都必须由软件来清除TI。,RI(SCON.0):,接收中断标志。在模式0中,接收第8位结束时,由硬件置位。在其他模式下,在接收停止位的本中间,由硬件置位。RI=1,申请中断,要求CPU取走数据。但在模式1中,SM2=1时,若未接收到有效的停止位,则不会对RI置位。必须靠软件清除RI。,3控制寄存器PCON,SMOD串行通信波特率系数控制位。 当SMOD=1时,使波特率加倍。 PCON的地址为87H,只能字节寻址。,四. 串行口的工作方式及多机通信方式,在操作方式0下,串行口作同步移位寄存器用,其

25、波特率是固定的,fosc/12,其中fosc是振荡器频率。这时数据由RXD(P3.0)端出入,同步移位时钟由TXD(P3.1)端输出。发送或接收的是8位数据,低位在先。,1. 方式0,功能图,RXD P3.0输入功能,时序图,接收过程,发送过程,方式0的应用:,2. 方式1,串行口工作于方式1时,传输的是10位:1位起始位(0);8位数据(低位在先);和 1位停止位(1)。,由TXD发送,由RXD接收。波特率可变,取决于定时器1或定时器2 的溢出速率。,T2CON寄存器中: 当RCLK=TCLK=1时,用定时器2作为接收和发送的波特率发生器。 当RCLK=TCLK=0时,用定时器1作为波特率发

26、生器。二者可以交叉使用,即发送和接收用不同的波特率。,接收过程:,发送过程:,3方式2,方式2和方式3中,发送(通过TXD)和接收(通过RXD)的都是11位;1位起始位(0),8位数据(低位在先),1位可编程位(第9位数据)和1位停止位。发送时,可编程位(TB8)可赋予0或1。接收时,可编程位进入SCON中的RB8。方式2和方式3的工作原理类同。唯一的区别是:模式2的波特率为fosc/32或fosc/64,而模式3的波特率是可变的,利用定时器1或定时器2作为波特率发生器。,接收过程:,发送过程:,4方式3,五多处理机通信,模式2和模式3有一个专门的应用领域,即多处理机通信。这两个模式中,接收的

27、是9位数据,第9位进到RB8,然后再来一位停止位。串行口可以这样来编程:当接收到停止位时,只有在RB8=1的条件下,串行口中断才会有效。要使串行口具有这一特点,可以靠把SCON寄存器中的SM2位置1来达到。当主处理机想发送一数据块给几个处理机中的一个时,它先送出一地址字节,以辨认目标从机。地址字节和数据字节可用第9位来区别:地址字节的第9位是1;数据字节的第9位是0。SM2=1,使得从机不会被一个数据字节所中断,因为从机接收到的第9位为0,且SM2=0,不满足产生装载SBUF信号的第2个条件,而 一个地址字节将会中断所有从机。这样,使每一台从机都检查一下所接收到的字节,以判别自己是不是目标从机

28、。被寻址的从机清除它的SM2位,并准备接收即将来到的数据字节。没有被寻址的从机,则维持他们的SM2=1,这些从机将不理睬进入到串行口的数据字节,继续干它们自己的事,直到一个新的地址字节的来临。,例: 主从式多机通讯,要求:将主机中的16个数据发送给02H从机,1. 将源程序分别送入主机和02H号从机,2. 在主机片内RAM的50H5FH单元存入数据00H,11H,FFH,3. 执行主机呼叫程序和从机应答程序,4. 检查从机片内RAM的50H5FH单元内的数据,多处理机通信的连线如下:,半双工,全双工,六串行帧:,由一定数量的位组成一串行帧。 模式0中,一帧的长度为8位。 模式1中,一帧的长度为

29、10位。 模式2和模式3中,一帧的长度为11位。,模式1、2和3中,每帧都包含1位起始位,8或9位数据位和1位停止位,数据位的位0位7分别装到SBUF.0SBUF.7中,位8则装到RB3(接收时)或TB8(发送时)中。通常,在非多处理机通信的情况下,9位数据位(模式2和模式3)中的最后一位数据位可以作为奇偶校验位。,设要传输的数据字节已经在累加器中,则可采用下列一段程序把数据字节和奇偶校验位从串行口发送出去:MOV C,P ;把奇偶标志传送给进位位MOV TB8,C ;把进位位传送给TB8 MOV SBUF,A ;把数据字节装入SBUF,其中P是程序状态字PSW中的奇偶标志位(PSW.0),当

30、累加器A的各位中,值为1的位数为奇数时,P=1,否则P=0。程序中用的是偶校验法,即保证发送帧中值为1的位数为偶数。程序最后一条指令执行后,就 起动了发送过程。,七串行口的波特率发生器及波特率:,每秒钟所传输的代码(二进制数码)位数为波特率(Band Rate),波特率发生器用于控制串行口的数据传输速率。,串行口的波特率发生器:,1. 方式0时的波特率由振荡器的频率( )所确定:,2. 方式2时的波特率由振荡器的频率( )和SMOD (PCON.7)所确定:,当SMOD=1时,,当SMOD=0时,,方式1和方式3的波特率由定时器T1和T2的溢出率和SMOD(PCON.7)所确定:,(1). 用

31、定时器T1( )产生波特率,(a). 定时器T1工作于方式0:此时定时器T1相当于一个13位的计数器,TC13位计数器初值 X 中断服务程序的机器周期数,在中断服务程序中重新对定时器置数。,(b). 定时器T1工作于方式1:此时定时器T1相当于一个16位的计数器,(c). 定时器T1工作于方式2:此时定时器T1相当于一个8位可以重装的方式,用TL1计数,用TH1装初值。,(2). 用定时器T2产生波特率,(RCAP2H,RCAP2L)为16位寄存器的初值(定时常数),八串行口的编程和应用,例:单片机之间串行通讯,将甲乙两台仿真器串行口的发送端与对方接收端连接,即甲机的TXD与乙机的RXD相连,

32、甲机的RXD与乙机的TXD相连,并实现双机共地。假设甲机为发送机,乙机为接收机,甲机的一组数据通过串行通讯传到乙机,乙机接收数据,并将这组数据存入乙机内部一段连续的空间内,并回传给甲机,甲机也存入内部RAM的一段空间内。,单片机-单片机通讯发送端程序流程,单片机-单片机通讯接收端程序流程,4.4 中断系统,一 中断、中断源及中断优先级,中断:程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去。,中断源:能产生中断的外部或内部事件。,中断优先级:几个中断源同时申请中断时,或者CPU正在处理某外部事件时,又有另一外部事件申请中断,CPU必须区分

33、哪个中断源更重要,从而确定优先处理谁的能力,这就是中断优先级问题。,80C51的中断系统结构示意图:,二 中断的控制和操作,1. 中断源,80C51有五个中断源:,(P3.2)外部中断0。当IT0(TCON.0)=0时,低电平有效;当IT0=1时,下降沿有效。,(P3.3)外部中断1。当IT1(TCON.2)=0时,低电平有效;当IT1=1时,下降沿有效。,TF0(P3.4)定时器/计数器T0溢出中断,TF1(P3.5)定时器/计数器T1溢出中断,RX,TX串行中断,2. 中断标志,、 、T0和T1的中断标志存放在TCON(定时器/计数器控制)寄存器中;串行口的中断标志存放在SCON(串行口控

34、制)寄存器中。,TCON:,SCON:,3. 中断允许控制,中断允许寄存器(IE)的字节地址为A8H,其格式如下:,EX0(IE.0)外部中断0允许位,ET0(IE.1)定时器/计数器T0中断允许位,EX1(IE.2)外部中断1允许位,ET1(IE.3)定时器/计数器T1中断允许位,ES(IE.4)串行口中断允许位,EA(IE.7)CPU中断允许位,4. 中断优先级,中断优先级寄存器(IP)的字节地址为B8H,其格式如下:,定时器0,定时器1,定时器2,外部中断0,外部中断1,串行口,5. 外部中断触发方式,和 的中断触发方式有两种:,电平触发方式,跳变触发方式,6. 中断请求的撤除,由单片机

35、内部硬件自动复位:对于定时器/计数器T0、T1的溢出中断和采用跳变触发方式的外部中断请求,在CPU响应中断后,由内部硬件自动复位中断标志TF0和TF1、TE0和TE1,而自动撤除中断请求。,2. 应用软件清除响应标志:对于串行接收/发送中断请求和80C52中的定时器/计数器T2的溢出和不捕获中断请求,在CPU响应中断后,内部无硬件自动复位中断标志RI、TI、TF2和EXF2,必须在中断服务程序中清除这些中断标志,才能撤除中断。,3. 既无硬件也无软件措施:对于采用电平触发方式的外部中断请求,CPU对引脚上的中断请求信号既无控制能力,也无应答能力。为保证CPU响应中断后、执行返回指令前,撤除中断

36、请求,必须考虑另外的措施。,三 中断的响应过程和中断矢量地址,1. 中断的响应过程,(1). 在每个机器周期的S5P2期间,各中断标志采样相应的中断源。CPU则在下一机器周期的S6期间按优先级的顺序查询中断标志。若查询到某中断标志为1,则按优先级的高低进行处理,即响应中断。,(2). 响应中断后,执行硬件生成的长调用指令“LCALL”,将程序计数器PC的内容压入堆栈保护,先低位地址,后高位地址,堆栈指针加2。,(3). 将对应中断源的中断矢量地址装入程序计数器PC,使程序转向该中断矢量地址,去执行中断服务程序。,(4). 中断服务程序由中断矢量地址开始执行,直到遇到RETI指令为止。,(5). 执行RETI指令,撤消中断申请,弹出断口地址进入PC,先弹出高位地址,后弹出低位地址,堆栈指针减2,恢复原程序的执行。,2. 中断矢量地址,例: 多中断,某CPU晶振选用6MHz,初始P1.0为高,外部 中断INT0触发后,P1.0变低,并启动计数器T0, 计数10次后,启动定时器T1,控制定时由P1.0输 出周期为200ms的方波信号。再接收两次外中断 后,关方波发生器,P1.0置低,结束。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报