输入输出中断定时与串行通信.ppt
《输入输出中断定时与串行通信.ppt》由会员分享,可在线阅读,更多相关《输入输出中断定时与串行通信.ppt(165页珍藏版)》请在三一办公上搜索。
1、1,第4章 输入/输出、中断、定时与串行通信,主要内容:介绍I/O的基本概念、I/O数据传递方式,中断的基本概念,串行通信基本概念。主要介绍单片机中断系统结构、特点及使用方法;片内定时器/计数器结构、原理及使用;片内串行口结构、原理以及双机和多机通信实现方法;PC机与单片机通信实现方法。,2,4.1 输入/输出概述,输入/输出的基本概念,输入/输出设备又称为计算机外围设备;简称外设或IO设备。单片机应用系统常用的输入设备有按钮、键盘、各种传感器等。常用的输出设备有LED(发光二极管显示器)、LCD(液晶显示器)等。二、输入输出信息种类 计算机与输入输出设备之间交换信息,有三种信息形式:数据信息
2、、控制信息和状态信息。,一、输入/输出设备,3,三、输入/输出接口与端口 CPU与外设,并不直接相连,而是通过接口电路进行连接。输入/输出设备与主机的连接部分称为输入/输出接口,简称IO接口。输入/输出接口的作用是:,2.锁存与缓冲作用:一般用D触发器进行锁存。,1.隔离与寻址作用:例如右图用三态门组成的接口。,3.信号电平或形式变换:例如A/D、D/A、232/485的变换。,4,通常接口电路中可编址并能进行读写操作的寄存器称为端口或简称口。一个接口电路中可能包括多个口,例如数据口、状态口、控制口,即包含有多个口地址。同一单片机系列中,片内集成的I/O模块各有不同,当片内I/O不能满足实际需
3、求时,可扩展外部I/O。四、I/O的分类 按照信号的传递方式,可将I/O分为串行和并行两类。按照I/O连接的信号大致可分为模拟量、数字量、脉冲量I/O三类。五、数据总线隔离技术 为了正确地进行数据的I/O传递,必须解决数据总线的隔离问题,即在任一时刻,CPU只对一个I/O进行操作。为此,对输出设备的接口电路要使用锁存器,对输入设备的接口电路,使用三态缓冲器。,5,六、单片机I/O编址方式 每一个I/O都需要编址,以便CPU分别进行寻址。常用的I/O编址方式有两种:独立编址方式和统一编址方式。独立编址方式:I/O和存储器分开编址,有各自独立的地址空间,采用不同的控制总线,使用不同的指令分别寻址。
4、统一编址方式:I/O与数据存储器在同一地址空间编址,寻址方式相同,采用相同的地址、数据、控制总线,使用相同的指令寻址。,6,4.1.2 输入输出的传送方式,单片机系统中有不同类型的I/O设备,由于I/O所连接的外设或I/O接口本身的速度与CPU的处理速度相比,通常低于CPU的速度,为了实现数据的正确传输,CPU通常采用三种控制方式,即无条件传送方式、查询方式和中断控制方式。一、无条件传送方式 I/O或与I/O连接的外设随时都处于准备好状态,这时CPU不需要测试外设状态,随时直接对其进行操作。,7,查询方式流程图,二、查询方式 查询方式是指CPU在执行输入输出指令之前,先对外围设备的状态进行检测
5、,以判别外设是否准备就绪。如果已经准备就绪,CPU就可以执行输入输出指令。如果还没有准备就绪,必须继续查询(如右图所示)。查询方式的特点:实现简单,通用性强,适合各种设备数据的输入/输出;其缺点是需要占用CPU的时间,外设速度较慢时,效率较低。,8,三、中断方式 中断方式下外设的状态信号以中断申请方式输入CPU。CPU响应中断,暂停正在执行的程序,转而执行中断服务程序,在中断服务程序中对外设进行输入/输出操作,中断返回后,再继续执行被中断的程序。中断方式可提高单片机系统的效率。,9,4.2.1 中断的概念,当CPU正在处理某件事情的时候,内部或外部发生的某一事件(如一个电平的变化,一个脉冲沿的
6、发生或定时器计数溢出等)请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件。处理完该事件以后,再回到原来被中止的地方,继续原来的工作,这样的过程称为中断。,4.2 MCS-51单片机的中断系统,10,一、中断源 中断源是指向CPU申请中断的事件来源。例如外部输入输出设备,定时/计数器,串行接口都可以作为中断源。二、中断优先权 中断优先权也叫中断排序,是用户根据中断源的性质和重要性自行排列的先后次序。在多个中断源同时提出申请时,保证优先权高的中断源首先得到响应,纵使CPU正在处理一个中断,也要暂时停止较低级的中断。响应优先权更高的中断源请求。这个过程称为中断嵌套或多重中断
7、。优先权排序可以用软件也可以用硬件实现。,11,三、中断系统的功能:(1)可实现高速CPU 与慢速外设之间的配合。因为许多外围设备的速度比CPU慢,二者间无法同步地进行数据交换。为此可通过中断方式实现CPU与外围设备之间的协调工作。(2)可实现实时处理。实时处理是自动控制系统对计算机提出的要求,各控制参量可以随时向CPU发出中断申请,而CPU也必须做出快速响应和及时处理,以便使被控对象总保持在最佳工作状态。(3)实现故障的紧急处理。当外围设备或计算机出现故障时,可以利用中断系统请求CPU及时处理这些故障。(4)便于人机联系。操作人员可以利用键盘中断等,实现人机联系,完成人的干预。,12,四、中
8、断响应过程 1)寻找中断源。(中断识别)2)将当前PC值(下一条指令的地址)压入堆栈(即保护断点),以便中断返回时使用。3)寻找中断入口,以便转向执行中断服务程序。4)保护现场。5)执行中断服务程序(中断处理)。6)执行完中断服务程序后,恢复现场并返回主程序(中断返回)。,13,4.2.2 MCS-51单片机的中断系统一、中断源与中断标志位8051/8031型单片机提供了5个中断源:两个外部中断源和三个内部中断源。每一个中断源都有一个中断申请标志,但串行口占两个中断标志位,一共六个中断标志,下表给出了它们各自的名称。,中断源和中断申请标志,14,MCS-51中断系统,MCS-51中断系统结构框
9、图,中断源,中断选择,中断标志,15,1.中断源(1)外部中断0请求,由P3.2引脚输入。可由用户设定为两种触发方式,(电平触发方式还是边沿触发方式)。一旦输入信号有效,则向CPU申请中断,并且将中断标志IE0置1。(2)外部中断1请求,由P3.3引脚输入。亦可由用户设定为电平触发方式还是边沿触发方式。一旦输人信号有效,则向CPU申请中断,并将中断标志IE1置1。,(3)片内定时器T0溢出中断请求。当定时器T0产生溢出时,T0中断请求标志TF0 置1,请求中断处理。(4)片内定时器T1溢出中断请求。当定时器T1产生溢出时,T1中断请求标志TF1置l,请求中断处理。(5)片内串行口发送接收中断请
10、求。当通过串行口发送或接收完一帧串行数据时,串行口中断请求标志TI或RI置1,请求中断处理。,16,因此,与中断有关的特殊功能寄存器有:中断允许控制寄存器(IE)定时器/计数器控制寄存器(TCON)中断优先级控制寄存器(IP)串行口控制寄存器(SCON),MCS-51单片机的中断系统中,使用何种中断,采用何种触发方式,可通过定时器/计数器控制寄存器TCON和串行口控制寄存器SCON的有关位来规定。只要根据这些位的状态就能确定有无中断请求及中断的来源。在中断源与CPU之间有二级中断允许控制逻辑电路,一级为总允许,第二级为源允许,由IE控制。中断优先级由IP控制。,17,2.中断请求标志,(1)T
11、CON的中断标志 TCON是专用寄存器,字节地址为88H,它锁存了外部中断请求标志及T0和T1的溢出中断请求标志。,IT0/IT1:外部中断请求的触发方式选择位:=0:在INT0/INT1端申请中断的信号低电平有效;=1:在INT0/INT1端申请中断的信号负跳变有效.IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。TF0/TF1:定时器溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动清零。TR0/TR1:定时器运行启停控制位:=0:定时器停止运行;=1:定时器启动运行。,18,(2)SCON的中断标志 SCON是串行口控制寄存器
12、,与中断有关的是它的低两位TI和RI。TI(SCON.1):串行口发送中断标志位。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能清除TI,TI必须由软件清除。RI(SCON.0):串行口接收中断标志位,当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。,SCON,19,二、MCS51的中断管理,1、中断允许寄存器IE中断的允许与开放,在中断源与CPU之间有两级中断允许控制逻辑电路,一级为总允许,第二级为源允许,由IE控制。,20,2中断优先级寄存器IP 中断优先级控制,内部自然优先级:入口地址 INT0 高 0003H T0 000BH INT1
13、 0013H T1 001BH TI/RI 低 0023H,21,3.同一级中的5个中断源的优先顺序,中断优先原则:(概括为四句话)1)低级不中断高级2)高级不睬低级3)同级不能打断4)同级、同时中断,按自然优先级,22,MCS-51中断系统,MCS-51中断系统结构框图,中断源,中断选择,中断标志,23,中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。,三、中断响应的条件及过程,1.中断响应(1)中断响应的条件:1)有中断源发出请求信号 2)中断是开放的(总允许、源允许)3)没有封锁(受阻),受阻情况是:CPU正在执行同级或高一级的中断服务程序;现行机器周期不是正在执行的指令的
14、最后一个机器周期,即现行指令完成前不响应任何中断请求;当前正在执行的是中断返回指令RETI或访问专用寄存器IE或IP的指令。也就是说,在执行RETI或是访问IE、IP的指令后,至少需要再执行一条其他指令,才会响应中断请求。,24,(2)中断响应过程 进入中断响应周期。CPU在中断响应周期要完成下列操作:1)根据中断请求源的优先级高低,使相应的优先级状态触发器置1。2)清相应中断请求标志位IE0、IE1、TF0或TF1。3)保留断点,把PC内容压入堆栈保存。4)把被响应的中断源的服务程序入口地址送入PC,转入相应的中断服务程序。,25,(3)中断响应时间 从查询中断请求标志位到转向中断服务入口地
15、址所需的机器周期数。1)最快响应时间 以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)2个周期(长调用LCALL)2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,26,2.中断处理(服务)与返回 在编写中断服务程序时加注意的几点:(1)因各入口地址之间只相隔8个字节,所以通常在中断入口地址单元处存放一条无条件转移指令,使中断服务程序灵活地安排在64KB程序存储器的任何空间。(2)若要在执行当前中断程序时禁止
16、更高优先级中断,可先用软件关闭CPU中断(全局中断),或禁止某中断源中断(局部中断),在中断返回前再开放中断。(3)注意保护现场和恢复现场。(4)中断服务程序的最后一条是返回指令RETI,该指令将清除响应中断时被置位的优先级状态触发器,然后自动将断点地址从栈顶弹出,装入PC,使程序返回到被中断处,继续向下执行。,27,中断服务程序流程图,28,3.中断请求的撤除 CPU响应中断请求后,在中断返回(RETI)前,该中断请求信号必须撤除,否则会引起另外一次中断。注意:(1)采用边沿触发的外部中断标志IE0或IEl和定时器中断标志TF0或TFl,CPU响应中断后能用硬件自动情除;(2)在电平触发时,
17、IE0或IEl受外部引脚中断信号的直接控制,CPU无法控制IE0或IEl,需要另外考虑撤除中断请求信号的措施,如通过外加硬件电路(见下页所示),并配合软件来解决;(3)串行口中断请求标志TI和RI也不能由硬件自动清除,需要在中断服务程序中,用软件来清除相应的中断请求标志.。,29,并在中断服务程序中增加如下指令,使得的/INT0输入变为高电平。ORLP1,#01HANLP1,#0FEH,外部中断为电平触发时,如果中断响应后,管脚仍为低电平,则会重新置位中断请求,为此可以在系统中增加辅助电路解决。,30,1.在CPU已经开放了外部中断允许的前提下;2.在INT0/INT1引脚输入一个负脉冲或低电
18、平;3.TCON寄存器中的IE0/IE1标志位自动变“1”;4.检测到IE0/IE1变“1”后,将产生指令:LCALL 0003H(/0013H)执行中断服务程序;4并将IE0/IE1标志位自动清“0”或用硬件电路撤除中断请求信号,以备下次申请。,外部中断(INT0,INT1)申请过程:,31,例1 假设允许片内定时器/计数器中断,禁止其他中断。试根据假设条件设置IE的相应值。解:根据题目要求,要允许内部定时器中断,就需要将IE寄存器的EA、ET1、ET0置1,其他位清0,可分别通过字节寻址或者位寻址进行。(1)用字节操作指令:MOV IE,#8AH 或 MOV A8H,#8AH(2)用位操作
19、指令:SETBET0;定时器/计数器0允许中断 SETBET1;定时器/计数器1允许中断 SETBEA;CPU开中断,32,例2 系统要求设定8051的片外中断为高优先级中断,片内中断为低优先级。请写出相应的指令。解:根据题目要求,需要将8051的外部中断优先级控制位PX0、PX1设置为1,而内部中断优先级控制位PT0、PT1、PS清为0。(1)用字节操作指令:MOV IP,#05H(2)用位操作指令:SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1,33,4.3 MCS-51单片机的定时器/计数器,定时器/计数器的结构定时器/计数器的工作方式定时器/计数器应用
20、,34,实现定时或延时控制有三种方法:软件定时、不可编程硬件定时器、可编程硬件定时器。可编程的硬件定时器就是其工作方式、定时值和定时范围可以很方便地由软件来确定和改变。通常,一个可编程定时/计数器的主要用途有:以均匀分布的时间间隔中断分时操作系统,以便切换程序。向I/O设备输出精确的定时信号,该信号的周期由程序控制。用作可编程波特率或速率发生器。检测外部事件发生的频率或周期。统计外部事件处理过程中某一事件发生的次数。在定时或计数达到编程规定的值之后,产生输出信号,向CPU申请中断。,35,51系列单片机有两个16位的定时器/计数器:T0和T1。T0由两个8位的定时寄存器TH0和TL0构成16位
21、寄存器,同样,T1由两个8位的定时寄存器TH1和TL1构成16位寄存器,它们分别映射在特殊功能寄存器中。TH0、TL0的地址分别为8CH、8AH,TH1和TL1的地址分别为8DH和8BH。其内部还有2个8位的专用寄存器TMOD(88H)和TCON(89H)。其中TMOD是定时器的工作方式寄存器,TCON是控制寄存器,主要用于定时/计数器管理与控制。,4.3.1 定时器/计数器的结构,36,8051单片机的定时器结构,T0,T1,37,一、定时器/计数器的定时和计数功能,在TMOD中,各有一个控制位(CT),分别用于控制定时器/计数器T0和T1是工作在定时器方式还是计数器方式。,1.定时功能-计
22、数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。,2.计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。即对由T0/T1引脚输入的负脉冲进行加法计数。,定时器/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1)。其输入的计数脉冲有两个来源(内部时钟脉冲和外部输入引脚)。当加到计数器为全“1”时,再输入一个脉冲,就使计数器回零,同时产生溢出脉冲使TCON中溢出中断标志TF0或TF1置1,并可向CPU申请中断。,38,二、定时器计数器的控制寄存器,与定时器计数器有关的控制寄存器有:,1定时器控制寄存器TCON,中
23、断请求标志,触发方式选择,启动定时器/计数器,0 低电平1 下降沿,0 停止1 启动,39,2工作方式控制寄存器TMOD,T1控制,T0控制,GATE门控位,M1 M0工作方式选择,用于选定定时/计数器的工作方式、启动方式等。,40,TMOD的高4位用于T1控制,低4位用于T0控制,符号的定义如下:(1)GATE:门控位。GATE和软件控制位TR、外引脚(/INT0、/INT1)的状态,共同控制定时器/计数器的启动和停止。GATE=0 普通用法 Timer的启/停由软件对TRx位写“1”/“0”控制。GATE=1 门控用法 Timer的启/停由软件对TRx位写“1”/“0”和在INTx引脚上出
24、现的信号的高/低共同控制。(2)C/T:定时/计数器方式选择位。C/T 1为计数方式;C/T 0为定时方式。(3)M1 M0:工作方式选择位。M1 M000;方式0 M1 M001;方式1 M1 M010;方式2 M1 M011;方式3。,41,4.3.2 定时器的工作方式,一、方式0,定时/计数器工作于方式0时为一个13位的计数器。选择定时器(T0或T1)的高8位和低5位组成的一个13位定时器计数器。下图是T0在方式0时的逻辑电路结构。T1的模式0电路结构与T0相同。,定时器T0的方式0逻辑电路,MCS-51单片机内部的定时/计数器是一种可编程器件,可设置为四种工作方式,由两个8位专用寄存器
25、TMOD和TCON进行管理与控制。,注:此时,/INT0(须为1)不是外部中断请求信号,而只是对定时/计数器的一个附加控制信号。,42,(1)加1计数器为13位。TL0=5位,TH0=8位(2)(GATE+INT0)TR0为真则启动定时器。(3)C/T=1为计数工作方式,计数脉冲由T0引脚输入。计数个数 N=(213初值)(4)C/T=0为定时工作方式,时钟频率为fosc/12。定时时间t=(213初值)*时钟周期*12 显然:在机器周期固定的情况下,定时时间的长短与计数器事先装入的初值有关,装入的初值越大,定时越短。(5)计数器溢出,TF0置1。由硬件申请中断。,43,二、方式1 定时/计数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 中断 定时 串行 通信

链接地址:https://www.31ppt.com/p-6349465.html