第5章MCS-51单片机的内部功能部件课件.ppt
《第5章MCS-51单片机的内部功能部件课件.ppt》由会员分享,可在线阅读,更多相关《第5章MCS-51单片机的内部功能部件课件.ppt(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第5章 MCS-51单片机的内部功能部件1 第第5 5章章 MCS-51MCS-51单片机的内部功能部件单片机的内部功能部件 总体要求:总体要求: 理解掌握MCS-51单片机中各内部功能部件的构成 理解掌握MCS-51单片机中各内部功能部件的应用特征 熟练掌握内部功能部件初始化程序设计与工作方式 变化的对应关系 能够独立完成本章作业 学习重点:学习重点: 内部功能部件的构成和应用特征 内部功能部件初始化程序设计与工作方式和应用 特征变化的关系 内部功能部件综合应用程序设计举例的学习 第5章 MCS-51单片机的内部功能部件25.1 MCS-515.1 MCS-51单片机的中断系统单片机的中断
2、系统5.2 MCS-515.2 MCS-51单片机的定时器单片机的定时器/ /计数器计数器5.3 MCS-515.3 MCS-51单片机的串行通信单片机的串行通信I/OI/O接口接口 第5章 MCS-51单片机的内部功能部件35.1 MCS-515.1 MCS-51单片机的中断系统单片机的中断系统5.1.1 5.1.1 中断的概念中断的概念 1. 什么是中断 所谓中断是指中央处理器CPU正在处理某件事情的时候,系统发生了某一事件(如定时器定时时间到),请求CPU迅速去处理,CPU暂时中断当前的工作,转去处理所发生的事件,处理完以后,再回到原来被中断的地方,继续原来的工作。这样的过程称为中断。实
3、现这种功能的部件称为中断系统(中断机构)。中断过程如图5-1所示。 第5章 MCS-51单片机的内部功能部件4图5-1 中断过程示意图 第5章 MCS-51单片机的内部功能部件5 2. 为什么要用中断 中断技术在实时控制、分时操作、人机交互、多机系统等方面得到广泛的应用,大大扩大了计算机的应用范围,提高了计算机的性能。引入中断后有以下优点: (1)同步工作 有了中断功能后,就可以使CPU和外设同步工作。 (2)实时处理 在实时控制中,现场采集到的各种数据可在任何一时刻发出中断请求,要求CPU处理,若中断是开放的,则CPU 就可马上对这些数据进行处理了。 第5章 MCS-51单片机的内部功能部件
4、 (3)分时处理 利用中断功能,CPU可以同时为多个对象服务。只有服务对象向CPU发出中断请求,CPU才转而为之服务,这样就大大提高了CPU的效率。 (4)故障处理 计算机在运行过程中出现了事先预料不到的情况或故障时(如掉电、存储出错、溢出等),可以利用中断系统自行处理,而不必停机。 6 第5章 MCS-51单片机的内部功能部件7 3. 中断源 引起中断的原因或能发出中断请求的来源,称为中断源,通常的中断源有以下几种: (1)外部输入/输出设备,如A/D转换器、打印机等。 (2)数据通信设备,如进行双机或多机通信。 (3)定时时钟。 (4)故障源,如掉电保护请求等。 (5)为调试程序而设置的中
5、断源。 第5章 MCS-51单片机的内部功能部件84. 中断系统的功能 (1)实现中断并返回当某一个中断源发出中断请求时,CPU应决定是否响应这个中断请求(当CPU正在执行更重要的工作时,可暂时不响应中断),若响应这个中断请求,CPU 必须在现行指令执行完后,保护现场和断点,然后转到需要处理的中断源的服务程序入口,执行中断服务程序。当中断处理完后再恢复现场和断点,使CPU返回去继续执行主程序。 (2)能实现优先排队通常,在系统中会有多个中断源,有时会出现两个以上的中断源同时提出中断请求的情况,这时CPU应能找到优先级别最高的中断源,响应它的中断请求,在优先级别最高的中断源处理完后,再去响应级别
6、较低的中断源。 第5章 MCS-51单片机的内部功能部件9(3)高级中断源能中断低级的中断处理当CPU响应某一中断源的请求,在进行中断处理时,若有优先级别更高的中断源发出中断请求,则CPU应能中断正在执行的中断服务程序,保留这个程序的断点和现场,响应高级中断,在高级中断处理完后,再继续执行被中断的中断服务程序。若当发出新的中断请求的中断源的优先级别与正在处理的中断源同级或更低时,CPU不响应这个中断请求,直到正处理的中断服务程序执行完后,才去处理新的中断请求。 第5章 MCS-51单片机的内部功能部件105.1.2 MCS-515.1.2 MCS-51的中断系统的中断系统 MCS-51单片机的
7、中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成,其结构框图如图5-2所示。 MCS-51单片机有个中断源(8052有个), 其中个为外部请求INT0(P3.2) 和INT1(P3.3),个片内定时/计数器T0 和T1 的溢出中断请求TF0(TCON.5) 和TF1(TCON.7),个片内串行口发送或接收中断请求TI(SCON.1) 或RI(SCON.0) ,这些中断请求源分别由特殊功能寄存器TCON和SCON 的相应位锁存。4个用于中断控制的特殊功能寄存器IE、IP、TCON(用位)和SCON(用位),可提供两个中断优先级,实现二级中断嵌套。个中断源对应个固定的中断入口
8、地址(矢量地址)。 第5章 MCS-51单片机的内部功能部件11图5-2 MCS-51中断系统结构图 第5章 MCS-51单片机的内部功能部件125.1.3 5.1.3 中断控制中断控制 MCS-51的中断系统从面向用户的角度来看,有以下4个特殊功能寄存器: (1) 定时器控制寄存器TCON; (2) 串行口控制寄存器SCON; (3) 中断允许寄存器IE; (4) 中断优先级寄存器IP。 其中TCON和SCON只有一部分位用于中断控制。通过对以上各特殊功能寄存器的有关位进行置位(置1)或复位(清0)等操作,可实现各种中断控制功能。 第5章 MCS-51单片机的内部功能部件13 1. 中断源请
9、求标志 (1) 定时/计数器控制寄存器TCON中的中断标志位 TCON 为定时计数器T0 、T1 的控制寄存器,同时也锁存了T0、T1 的溢出中断源和外部中断请求源等,字节地址为88H。与中断有关的位如下:bit8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TCON TF1 TF0 IE1 IT1 IE0 IT0 (88H) 第5章 MCS-51单片机的内部功能部件140INT IE0:外部中断标志。 若IE0=1 ,则表示外部中断( )向CPU 提出了请求中断。 IT0:外部中断触发方式控制位。 当IT0=0,外部中断(INT0)控制为电平触发方式。在这种方式下,CPU在每
10、个机器周期的S5P2期间采样INT0 (P3.2)的输入电平,若采到低电平,则认为有中断请求,随即由硬件置IE0=1。若采到高电平,则认为无中断请求或中断请求已撤除,随即对IE0 清。在电平触发方式中,CPU 响应中断后不能自动使IE0 清,也不能由软件使IE0 清,故在中断返回前必须请除INT0引脚上的低电平,否则会再次响应中断造成出错。0INT 第5章 MCS-51单片机的内部功能部件15 当IT0=1 ,外部中断( )控制为边沿触发方式,CPU 在每个机器周期的S5P2 期间采样 的输入电平,相继两次采样,一个周期采样为高电平,接着的下一个周期采样为低电平,则由硬件置IE0=1 ,表示外
11、部中断( )正在向CPU 请求中断,直到该中断被CPU 响应时,IE0 由硬件自动清,在边沿触发方式中,为了保证CPU 在两个机器周期内检测到先高后低的负跳变,输入高低电平的持续时间起码要保持个机器周期。 IE1:外部中断标志,功能与IE0类似。 IT1:外部中断触发方式控制位,功能与IT0 类似。 TF0:定时/计数器T0溢出中断标志。0INT0INT0INT 第5章 MCS-51单片机的内部功能部件16 TF1:T1溢出中断标志,功能与TF0类似。 当MCS-51系统复位后,TCON各位均清。 串行口控制寄存器SCON中的中断标志位 SCON为串行口控制寄存器,字节地址为98H,SCON的
12、低位TI和RI锁存串行口的接收中断和发送中断标志。其格式如下:bit89H 88H TCON TI RI(98H) 第5章 MCS-51单片机的内部功能部件17 TI:串行口发送中断标志。 CPU将位数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,由硬件置TI=,向CPU提出中断请求。但CPU响应中断时,不会对TI清,必须由软件(指令)清。 RI:串行口接收中断标志。 若串行口接收器允许接收,每接收完一个串行帧,硬件置RI=。RI=1表示串行口接收器正在向CPU请求中断。同样CPU响应中断时不会对RI清,必须由软件(指令)清。 2中断允许控制 对于每个中断源,其中断的开放与禁
13、止由中断允许寄存器IE中的某一位控制,IE的字节地址为A8H。其格式如下: 第5章 MCS-51单片机的内部功能部件18 EA:CPU的中断开放标志。 ES:串行口的中断允许位。 ET1:定时/计数器T1的溢出中断允许位。 EX1:外部中断( )的中断允许位。 ET0:定时/计数器T0的溢出中断允许位。 EX0:外部中断( )的中断允许位。 MCS-51单片机系统复位后,IE中各位均被清0,即禁止所有中断。1INT0INTbitAFH ACH ABH AAH A9H A8H IE EA ESET1 EX1 ET0 EX0 (A8H) 第5章 MCS-51单片机的内部功能部件19 3. 中断优先
14、级控制 MCS-51 单片机有两个中断优先级,对于每一个中断源的中断请求可编程为高优先级中断或低优先级中断,可实现二级中断嵌套。一个正在执行的低优先级中断能被高优先级中断请求所中断,但不能被另一个同优先级的中断请求所中断,一直执行到结束,遇到中断返回指令RETI,返回主程序后再执行一条指令才能响应新的中断请求。 MCS-51 单片机内有一个优先级寄存器IP,字节地址为B8H ,只要用指令改变其内容,就可对各中断源的中断优先级别进行设置。其格式如下: 第5章 MCS-51单片机的内部功能部件20 PS:串行口中断优先级控制位。 PT1:T1中断优先级控制位。 PX1:外部中断中断优先级控制位。
15、PT0:T0中断优先级控制位。 PX0:外部中断中断优先级控制位。 MCS-51单片机系统复位后,IP各位均为,各中断源均设定为低优先级中断。bitBCH BBH BAH B9H B8H IP PSPT1 PX1 PT0 PX0 (B8H) 第5章 MCS-51单片机的内部功能部件21 MCS-51 单片机的中断系统有两个不可寻址的“优先级有效”触发器。其中一个指示某高优先级的中断正在执行,所有后来的中断请求都被阻止。另一个触发器指示某低优先级的中断正在执行,所有的同级中断请求都被阻止,但不阻止高优先级的中断请求。 若同时收到几个同一优先级的中断请求时,哪一个先得到服务,取决于中断系统内部的查
16、询顺序。这相当于在每个优先级内,还同时存在另一个辅助优先级结构。MCS-51单片机中各中断源的优先顺序以及对应的入口地址见表5-1。 第5章 MCS-51单片机的内部功能部件22中断源同级的中断优先级口地址外部中断最高0003H0T0溢出中断000BH外部中断10013HT1溢出中断001BH串行口中断最低0023H表5-1 中断优先顺序及对应入口地址表 第5章 MCS-51单片机的内部功能部件235.1.4 5.1.4 中断的响应条件及响应过程中断的响应条件及响应过程 1响应条件 单片机响应中断的条件是:中断源有请求,CPU允许所有中断源请求中断(EA1),中断允许寄存器IE相应位置1。这样
17、,在每个机器周期内,单片机对所有中断源都进行顺序检测,并可在任一个周期的S6期间,找到所有有效的中断请求,并对其优先级排队,只要满足下列条件: 无同级或高级中断正在服务; 现行指令执行到最后一个机器周期且已结束; 若现行指令为RETI或需访问特殊寄存器IE或IP的指令时,执行完成该指令且紧随其后的另一条指令也已执行完。单片机便在紧接着的下一个机器周期S1期间响应中断,否则将丢弃中断查询的结果。 第5章 MCS-51单片机的内部功能部件24 2响应过程 单片机一旦响应中断,首先置位响应的优先级有效触发器,然后由硬件系统把断点地址压入堆栈保护,然后将对应的中断入口地址值装入程序计数器PC,使程序转
18、向该中断入口地址,以执行中断服务程序。 3中断响应时间 由上述可知,CPU不是在任何情况下都对中断请求立即响应的,而且不同的情况对中断响应的时间也不同。 如果在请求中断时,CPU正在处理最长指令(如乘、除法指令),则额外等待时间增加个机器周期;若正在执行RETI或访问IE、IP指令,则额外等待时间又增加个机器周期。综合估算,若系统中只有一个中断源,则响应时间为个机器周期。 第5章 MCS-51单片机的内部功能部件25 例5.1 采用中断和查询的方法扩充外部中断源,实现多个故障源显示。图5-3所示的电路可实现多个故障源的显示。当系统无故障时,4个输入故障源的故障信号输入端为低电平,无中断请求,指
19、示灯全部熄灭;当系统中某一路出现故障时,相应故障源的故障信号输入端为高电平,表示有中断请求,从而引起8031的中断,中断服务子程序的任务就是判定故障源,并使相应的指示灯点亮。 第5章 MCS-51单片机的内部功能部件26图5-3 例5.1对应的外电路 第5章 MCS-51单片机的内部功能部件27程序如下: ORG 2000H AJMP MAIN ;转向主程序 ORG 0003H AJMP SERVE ;转向中断服务程序MAIN:ANL P1,00H ;全部指示灯灭,并为读入故 障信号作准备 SETB IT0 ;选择 为边沿触发方式 SETB EX0 ;允许 中断 SETB EA ;CPU开中断
20、0INT0INT 第5章 MCS-51单片机的内部功能部件28LOOP1:MOV A,P1 ANL A,55H JNZ LOOP1 ;有外部中断请求转LOOP1 ANL P1,00H ;无中断请求灯全灭 SJMP LOOP1 ;等待中断SERVE:JNB Pl.0,L1 ;中断服务程序 SETB P1.1 ;查询中断源,若有故 障使其相应的指示灯点亮 SJMP L2L1: CLR P1.1L2: JNB P1.2,L3 第5章 MCS-51单片机的内部功能部件29 SETB P1.1 SJMP L4L3: CLR P1.3L4:JNB P1.4,L5 SETB Pl.5 SJMP L6L5:
21、CLR P1.5L6: JNB P1.6,L7 SETB Pl.7 SJMP L8L7: CLR P1.7L8: RETI 第5章 MCS-51单片机的内部功能部件305.2.1 5.2.1 定时定时/ /计数器的结构计数器的结构 MCS-51单片机内有两个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都具有定时和计数功能,可用作定时控制、延时以及对外部事件的计数及检测。定时/计数器的内部结构如图5-4所示。5.2 MCS-515.2 MCS-51单片机的定时器单片机的定时器/ /计数器计数器 第5章 MCS-51单片机的内部功能部件31图5-4 定时/计数器的内部结构 第5章
22、 MCS-51单片机的内部功能部件32 定时/计数器的核心是一个加计数器,其分别由两个位的特殊功能寄存器组成。T0由TH0和TL0构成,T1由TH1和TL1构成。地址顺序依次是8AH8DH。这些寄存器用于存放定时或计数的初值,每个定时器都可以由软件设置成定时工作方式或计数工作方式。这些功能都由定时/计数器方式寄存器TMOD设置,由定时/计数器控制寄存器TCON控制的。当定时器工作在计数方式时,外部输入信号是加到T0(P3.4)或T1(P3.5)端。外部输入信号的下降沿将触发计数,计数器在每个机器周期的 S5P2期间采样外部输入信号,若一个周期的采样值为1,下一个周期的采样值0,则计数器加1,故
23、识别一个从1到0的跳变需2个机器周期,所以对外部输入信号最高的计数速率是晶振频率的1/24。 第5章 MCS-51单片机的内部功能部件同时外部输入信号的高电平与低电平保持时间均需大于一个机器周期。当定时/计数器工作在定时方式时,加1计数器对机器周期计数,每一个机器周期加1,直至计数器计满溢出。由于一个机器周期由12个时钟周期组成,所以计数频率为时钟频率的1/12。 一旦定时/计数器被设置成某种工作方式后,它就会按设定的工作方式独立运行,不再占用PU 操作时间,直到加计数器计满溢出,才可能中断CPU的当前操作。用户可以重新设置定时/计数器的工作方式,以改变定时/计数器的工作状态。33 第5章 M
24、CS-51单片机的内部功能部件345.2.2 5.2.2 定时定时/ /计数器的方式寄存器和控制寄存器计数器的方式寄存器和控制寄存器 定时/计数器是一种可编程的部件,在其工作之前必须将控制字写入方式寄存器TMOD和控制寄存器TCON,用以确定工作方式,这个过程称为定时/计数器的初始化。 1工作方式寄存器TMOD TMOD用于控制T0 和T1 的工作方式。其格式如下:TC TC D7D6D5D4D3D2D1D0MODGATEM1M0GATEM1M0(89H) 定时器T1方式字段定时器T方式字段 第5章 MCS-51单片机的内部功能部件35 其中,高位控制定时器T1,低位控制定时器T0。各位的含义
25、如下: M1、M0:工作方式控制位,可构成以下种工作方式: M1 M0工作方式说 明0 0013位计数器0 1116位计数器1 02可再装入8位计数器1 13T0:分成二个8位计数器T1:停止计数 第5章 MCS-51单片机的内部功能部件36 :计数工作方式/定时工作方式选择位。 =0,设置为定时工作方式。 =1,设置为计数工作方式。 GATE:选通控制位 GATE=0,只要用软件(指令)对TR0(或TR1)置就可以启动定时器。 GATE=1,只有在 (或 )引脚为,且用软件对TR0(或TR1)置才能启动定时器工作。 系统复位后TMOD 的所有位清。TMOD不能位寻址,只能用字节地址设置工作方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 MCS-51单片机的内部功能部件课件 MCS 51 单片机 内部 功能 部件 课件
限制150内