第二章MCS硬件体系结构课件.ppt

上传人(卖家):晟晟文业 文档编号:3862582 上传时间:2022-10-19 格式:PPT 页数:70 大小:1.83MB
下载 相关 举报
第二章MCS硬件体系结构课件.ppt_第1页
第1页 / 共70页
第二章MCS硬件体系结构课件.ppt_第2页
第2页 / 共70页
第二章MCS硬件体系结构课件.ppt_第3页
第3页 / 共70页
第二章MCS硬件体系结构课件.ppt_第4页
第4页 / 共70页
第二章MCS硬件体系结构课件.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、234n8位的位的CPU,其作用是实现各种算术运算、逻,其作用是实现各种算术运算、逻辑运算以及判断控制等功能。辑运算以及判断控制等功能。n片内振荡器及时钟电路。片内振荡器及时钟电路。n片内片内RAM,共有,共有128B,用来存放数据,又称,用来存放数据,又称为片内数据存储器。为片内数据存储器。n片内片内ROM,共有,共有4KB,用来存放程序,又称,用来存放程序,又称为片内程序存储器。在为片内程序存储器。在MCS-51系列单片机中,系列单片机中,8051有有ROM,而,而8031没有没有ROM。5n特殊功能寄存器特殊功能寄存器(SFR),共有,共有21个,是一组个,是一组特殊用途的寄存器。特殊用

2、途的寄存器。n32根根I/O线,分为线,分为4组组8位的双向输入输出位的双向输入输出端口。端口。n2个个16位的定时器位的定时器/计数器,具有四种工作计数器,具有四种工作方式。方式。n一个全双工串行通信接口,具有四种工作方一个全双工串行通信接口,具有四种工作方式。式。n5个中断源,个中断源,2级中断优先权。级中断优先权。n布尔处理器。布尔处理器。678910 中央处理器是单片机内部的核心部件,它决定了单片中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。中央处理器由机的主要功能特性。中央处理器由运算器运算器和和控制器控制器等等部件组成,其中包括若干特殊功能寄存器(部件组成,其中包

3、括若干特殊功能寄存器(SFR)。)。1.运算器运算器n运算器包括算术逻辑部件运算器包括算术逻辑部件ALU、布尔处理器、累、布尔处理器、累加器加器ACC、寄存器、寄存器B、暂存器、暂存器TMP1和和TMP2、程序状态字寄存器程序状态字寄存器PSW以及十进制调整电路等。以及十进制调整电路等。运算器的功能是实现数据的算术逻辑运算、位变运算器的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。址处理和数据传送操作。11n算术逻辑部件算术逻辑部件ALU MCS-51单片机的单片机的ALU功能十分强,它不仅可对功能十分强,它不仅可对8位变量进行逻辑位变量进行逻辑“与与”、“或或”、“异或异或”、循环

4、、循环、求补、清零等基本操作,还可以进行加、减、乘、除求补、清零等基本操作,还可以进行加、减、乘、除等基本运算。为了乘除运算的需要,设置了寄存器等基本运算。为了乘除运算的需要,设置了寄存器B,在执行乘法运算指令时,用来存放其中一个乘数和乘在执行乘法运算指令时,用来存放其中一个乘数和乘积的高积的高8位数;位数;在执行除法运算指令时,存入除数及在执行除法运算指令时,存入除数及余数。余数。MCS-51单片机的单片机的ALU还具有布尔处理功能。单还具有布尔处理功能。单片机指令系统中的布尔指令集、存储器中的位地址空片机指令系统中的布尔指令集、存储器中的位地址空间与间与CPU中的位操作构成了片内的布尔功能

5、系统,它中的位操作构成了片内的布尔功能系统,它可对位(可对位(bit)变量进行布尔处理,如置位、清零、)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑求补、测试转移及逻辑“与与”、“或或”等操作。在实等操作。在实现位操作时,借用程序状态字(现位操作时,借用程序状态字(PSW)中的进位标)中的进位标志志CY作为位操作的作为位操作的“累加器累加器”。12n累加器累加器 运算部件中的累加器运算部件中的累加器ACC是一个是一个8位的累位的累加器。从功能上看,它与一般微处理器的累加器。从功能上看,它与一般微处理器的累加器相比没有什么特别之处,但需要说明的加器相比没有什么特别之处,但需要说明的是是A

6、CC的进位标志的进位标志CY就是布尔处理器进行位就是布尔处理器进行位操作的累加器。操作的累加器。13n程序状态字程序状态字PSW MCS-51单片机的程序状态字单片机的程序状态字PSW是一个是一个8位寄存器,其中的位寄存器,其中的7位用来位用来寄存本次运算的状态信息。各位的含义如下:寄存本次运算的状态信息。各位的含义如下:CY:进位标志。有进位进位标志。有进位/借位时,借位时,CY=1;否则否则CY=0。AC:半进位标志。当半进位标志。当D3位向位向D4位有进位位有进位/借位时,借位时,AC=1;否则否则AC=0。常用于十进制调整运算中。常用于十进制调整运算中。F0:用户可设置的标志,可用软件

7、来置位或复位,编程时供测试用。用户可设置的标志,可用软件来置位或复位,编程时供测试用。RS1、RS2:四个通用寄存器组的选择位。这两位的四种组合状态用四个通用寄存器组的选择位。这两位的四种组合状态用来选择来选择03寄存器组。寄存器组。OV:溢出标志。当带符号数运算结果超出溢出标志。当带符号数运算结果超出-128+127范围时,范围时,OV=1;否则否则OV=0。当无符号数乘法结果超过。当无符号数乘法结果超过255时,或无符号时,或无符号数除法的除数为数除法的除数为0时,时,OV=1;否则否则OV=0。P:奇偶校验标志。每条指令执行完,若累加器奇偶校验标志。每条指令执行完,若累加器A中中1的个数

8、为奇数时,的个数为奇数时,P=1;否则否则P=0,即偶校验方式。,即偶校验方式。1415161718程序存储器程序存储器1920RS1 RS0 选择工作寄存器区选择工作寄存器区RS1 RS0 选择工作寄存器区选择工作寄存器区 0 0 0区(区(00H07H)1 0 2区(区(10H17H)0 1 1区(区(08H0FH)1 1 3区(区(18H1FH)212223242526272829303132端端 口口 功功 能能 第第 二二 功功 能能 引脚名引脚名 引引 脚脚 功功 能能 P3.0 RXD串行输入(数据接收)口串行输入(数据接收)口 P3.1 TXD串行输出(数据发送)口串行输出(数

9、据发送)口 P3.2 INT0外部中断外部中断0,输入,输入 P3.3 INT1外部中断外部中断1,输入,输入 P3.4 T0定时器定时器0,外部输入,外部输入 P3.5 T1定时器定时器1,外部输入,外部输入 P3.6 WR外部数据存储器写选通信号,输出外部数据存储器写选通信号,输出 P3.7 RD外部数据存储器读选通信号,输出外部数据存储器读选通信号,输出33 8051有一个全双工的可编程串行有一个全双工的可编程串行I/O端口。这个串行端口。这个串行I/O端口既可以在程序控制下将端口既可以在程序控制下将CPU的的8位并行数据变成串行数据位并行数据变成串行数据一位一位地从发送数据线一位一位地

10、从发送数据线TXD发送出去,也可以把从接收数据发送出去,也可以把从接收数据线线RXD串行接收到的数据变成串行接收到的数据变成8位并行数据送给位并行数据送给CPU。串行端。串行端口的这种串行发送和串行接收操作可以单独进行,也可以同时口的这种串行发送和串行接收操作可以单独进行,也可以同时进行。进行。8051串行发送和串行接收利用了串行发送和串行接收利用了P3口的第二功能,即利口的第二功能,即利用用P3.1引脚作为串行数据的发送线引脚作为串行数据的发送线TXD,利用,利用P3.0引脚作为串引脚作为串行数据的接收线行数据的接收线RXD。串行。串行I/O口的电路结构还包括串行口控口的电路结构还包括串行口

11、控制器制器SCON、电源及波特率选择寄存器、电源及波特率选择寄存器PCON和串行数据缓冲和串行数据缓冲器器SBUF等,都属于特殊功能寄存器等,都属于特殊功能寄存器SFR。其中,。其中,PCON和和SCON用于设置串行口工作方式,确定数据的发送和接收波特用于设置串行口工作方式,确定数据的发送和接收波特率;率;SBUF实际上由实际上由两个两个8位寄存器位寄存器组成,一个用于存放将要发组成,一个用于存放将要发送的数据,另一个用于存放刚接收到的数据,起着数据缓冲作送的数据,另一个用于存放刚接收到的数据,起着数据缓冲作用。用。34n中断系统中断系统n中断的概念中断的概念 中断是通过硬件来改变中断是通过硬

12、件来改变CPU的运行方向。计算机在执行程序的运行方向。计算机在执行程序的过程中,当出现的过程中,当出现CPU以外的某种情况,由服务对象向以外的某种情况,由服务对象向CPU发出发出中断请求信号,要求中断请求信号,要求CPU暂时中断当前程序的执行而转去执行相暂时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于外界的原因而被中间打断的的程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为情况称为“中断中断”。“中断中断”之后所执行的相应的处理程序通常称为中断服务或之

13、后所执行的相应的处理程序通常称为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为开的位置(或地址)称为“断点断点”。引起中断的原因,或能发出中断申请的来源,称为引起中断的原因,或能发出中断申请的来源,称为“中断中断源源”。中断源要求服务的请求称为。中断源要求服务的请求称为“中断请求中断请求”(或中断申请)。(或中断申请)。调用中断服务程序的过程类似于调用子程序,其区别在于调调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序是在程序中事先安排好的;用子程序是在程序中事先安排好的;而何时调用中

14、断服务程序事而何时调用中断服务程序事先无法确定,因为先无法确定,因为“中断中断”的发生是由外部因素决定的,在程序的发生是由外部因素决定的,在程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。硬件自动完成的。35nMCS-51中断系统的结构框图中断系统的结构框图 中断过程是在硬件基础上再配以相应的软件而实现的,不同中断过程是在硬件基础上再配以相应的软件而实现的,不同的计算机其硬件结构和软件指令不完全相同,因此,中断系统也的计算机其硬件结构和软件指令不完全相同,因此,中断系统也不相同。不相同。MCS-51中断系统的结

15、构框图如图所示。中断系统的结构框图如图所示。36n中断处理过程中断处理过程37 中断请求中断请求 中断源以某种方式(电平、脉冲或状态)产生向中断源以某种方式(电平、脉冲或状态)产生向CPU的请求。的请求。中断确认中断确认 中断请求的确认必须满足一些条件,其中最主要的条件是当前指令执行结束,中断请求的确认必须满足一些条件,其中最主要的条件是当前指令执行结束,且且CPU允许中断。允许中断。断点保护断点保护 在中断响应过程及中断服务程序中对断点进行保护,以便在中断处理结束时在中断响应过程及中断服务程序中对断点进行保护,以便在中断处理结束时能返回被中断的程序并接着中断前的状态继续执行。能返回被中断的程

16、序并接着中断前的状态继续执行。CPU会由硬件自动保会由硬件自动保护某些寄存器,不同的护某些寄存器,不同的CPU保护的寄存器不一样在中断服务程序中还需要保护的寄存器不一样在中断服务程序中还需要程序保护其他寄存器。程序保护其他寄存器。中断源识别中断源识别 如果多个中断源同时向如果多个中断源同时向CPU申请中断,必须判断是哪个中断源提出的请求,申请中断,必须判断是哪个中断源提出的请求,以便有针对地提供服务。目前中断源识别多采用矢量法,即为每个中断源以便有针对地提供服务。目前中断源识别多采用矢量法,即为每个中断源规定其中断服务程序的入口规定其中断服务程序的入口(起始起始)地址,即中断源的中断矢量。地址

17、,即中断源的中断矢量。中断服务中断服务 中断服务是通过中断服务是通过CPU执行中断服务程序实现的,不同的中断源的服务程序不执行中断服务程序实现的,不同的中断源的服务程序不同。中断服务程序应包括断点保护以及针对中断源的控制管理等程序。同。中断服务程序应包括断点保护以及针对中断源的控制管理等程序。断点恢复断点恢复 执行执行RETI指令恢复指令恢复PC值,使值,使CPU返回断点。返回断点。中断返回中断返回 中断服务程序的最后一条指令必须是中断返回指令中断服务程序的最后一条指令必须是中断返回指令RETI,其功能是将中断,其功能是将中断响应时由响应时由CPU硬件自动保护的寄存器从堆栈恢复到原寄存器中。硬

18、件自动保护的寄存器从堆栈恢复到原寄存器中。38n中断优先级控制中断优先级控制 通常系统中有多个中断源,当多个中断源同时发出中断请求通常系统中有多个中断源,当多个中断源同时发出中断请求时,时,CPU应能确定哪个中断更紧迫并首先响应。为此给每个中断应能确定哪个中断更紧迫并首先响应。为此给每个中断源规定了优先级别,称为源规定了优先级别,称为优先权优先权。当多个中断源同时发出中断请求时,优先权高的中断能先被当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。响应,只有优先权高的中断处理结束后才能响应优先权低的中断。按中断源优先权高低逐次响应的过

19、程称按中断源优先权高低逐次响应的过程称优先权排队优先权排队,这个过程可,这个过程可通过硬件电路实现,也可通过软件查询实现。通过硬件电路实现,也可通过软件查询实现。39n中断中断嵌套嵌套 当当CPU响应某一中断时,若有优响应某一中断时,若有优先权更高的中断源发出中断请求,则先权更高的中断源发出中断请求,则CPU中断正在进行的中断服务程序,中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程并保留这个程序的断点(类似于子程序嵌套),响应高级中断。高级中断序嵌套),响应高级中断。高级中断处理结束后,再继续进行被中断的中处理结束后,再继续进行被中断的中断服务程序,这个过程称为断服务程序,这个过

20、程称为中断嵌套中断嵌套,如右图所示。如果新发出中断请求的如右图所示。如果新发出中断请求的中断源的优先权级别与正在处理的中中断源的优先权级别与正在处理的中断源同级或更低时,断源同级或更低时,CPU不会响应这不会响应这个中断请求,直至正在处理的中断服个中断请求,直至正在处理的中断服务程序执行完以后才能响应新的中断务程序执行完以后才能响应新的中断请求。请求。40n中断源中断源 MCS-51的的5个中断源如下:个中断源如下:INT0:外部中断外部中断0,由,由P3.2脚输入。通过脚输入。通过TCON寄存器的寄存器的IT0位来决定是低电平有效还是下跳边有效。一旦输入信号有效,则位来决定是低电平有效还是下

21、跳边有效。一旦输入信号有效,则向向CPU申请中断,并建立申请中断,并建立IE0标志。标志。INT1:外部中断外部中断1,由,由P3.3脚输入。通过脚输入。通过IT1位(位(TCON.2)来决定是低电平有效还是下跳边有效。一旦输入信号有效,则向来决定是低电平有效还是下跳边有效。一旦输入信号有效,则向CPU申请中断,并建立申请中断,并建立IE1标志。标志。T0:定时器定时器T0溢出中断。当定时器溢出中断。当定时器T0产生溢出时,定时器产生溢出时,定时器T0中断请求标志位中断请求标志位TF0(TCON.5)置位(由硬件自动执行),)置位(由硬件自动执行),请求中断。请求中断。T1:定时器定时器T1溢

22、出中断。当定时器溢出中断。当定时器T1产生溢出时,定时器产生溢出时,定时器T1中断请求标志位中断请求标志位TF1(TCON.7)置位(由硬件自动执行),)置位(由硬件自动执行),请求中断。请求中断。RI或或TI:串行中断。当接收或发送完一串行帧时,内部串行串行中断。当接收或发送完一串行帧时,内部串行口中断请求标志位口中断请求标志位RI(SCON.0)或)或TI(SCON.1)置位(由硬件)置位(由硬件自动执行),请求中断。自动执行),请求中断。41n中断标志中断标志 TCON寄存器的中断标志寄存器的中断标志 TCON是定时器是定时器T0和和T1的控制寄存器,同时也锁存的控制寄存器,同时也锁存T

23、0和和T1的溢出中断请求标志及外部中断的溢出中断请求标志及外部中断INT0和和INT1的中断标志等,的中断标志等,TCON的各位如图所示。的各位如图所示。D7 D6 D5 D4 D3 D2 D1 D0 TF1TR1TF0TR0IE1IT1IE0IT042与中断有关的位如下:与中断有关的位如下:TCON.7:TF1,T1的溢出中断标志。的溢出中断标志。T1启动计数后,从初值开始加启动计数后,从初值开始加1计数,计数,计满溢出后由硬件置位计满溢出后由硬件置位TF1,同时向,同时向CPU发出中断请求,此标志一直保持发出中断请求,此标志一直保持到到CPU响应中断后才由硬件自动清响应中断后才由硬件自动清

24、0。也可由软件查询该标志,并由软件清。也可由软件查询该标志,并由软件清0。TCON.5:TF0,T0溢出中断标志。其操作功能与溢出中断标志。其操作功能与TF1相同。相同。TCON.3:IE1,INT1中断标志。中断标志。IE1=1,外部中断,外部中断1向向CPU申请中断。申请中断。TCON.2:IT1,INT1中断触发方式控制位。中断触发方式控制位。IT1=0,外部中断,外部中断1控制为电平控制为电平触发方式。在这种方式下,触发方式。在这种方式下,CPU在每个机器周期的在每个机器周期的S5P2期间对期间对INT1(P3.3)引脚采样,若为低电平,则认为有中断申请,随即使引脚采样,若为低电平,则

25、认为有中断申请,随即使IE1标志置位;标志置位;若为高若为高电平,则认为无中断申请,或中断申请已撤除,随即使电平,则认为无中断申请,或中断申请已撤除,随即使IE1标志复位。在电标志复位。在电平触发方式中,平触发方式中,CPU响应中断后不能由硬件自动清除响应中断后不能由硬件自动清除IE1标志,也不能由软标志,也不能由软件清除件清除IE1标志,所以,在中断返回之前必须撤销标志,所以,在中断返回之前必须撤销INT1引脚上的低电平,引脚上的低电平,否则将再次中断导致出错。否则将再次中断导致出错。TCON.1:IE0,INT0中断标志。功能与中断标志。功能与IE1相同。相同。TCON.0:IT0,INT

26、0中断触发方式控制位。功能与中断触发方式控制位。功能与IT1相同。相同。43SCON寄存器的中断标志寄存器的中断标志 SCON是串行口控制寄存器,是串行口控制寄存器,各位如下图所示各位如下图所示。其中,低。其中,低2位位TI和和RI锁存串行口的接收中断标志和发送中断标志。锁存串行口的接收中断标志和发送中断标志。D7 D6 D5 D4 D3 D2 D1 D0 SM0SM1SM2RENTB8RB8TIRISCON.1:TI,串行发送中断标志。,串行发送中断标志。CPU将数据写入发送缓冲器将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使时,就启动发送,每发送完一个串行帧,硬件

27、将使TI置位。但置位。但CPU响响应中断时并不清除应中断时并不清除TI,必须由软件清除。,必须由软件清除。SCON.0:RI,串行接收中断标志。在串行口允许接收时,每接收完,串行接收中断标志。在串行口允许接收时,每接收完一个串行帧,硬件将使一个串行帧,硬件将使RI置位。同样,置位。同样,CPU在响应中断时不会清除在响应中断时不会清除RI,必须由软件清除。必须由软件清除。8051系统系统复位复位后,后,TCON和和SCON均均清清0,应用时要注意各位的初,应用时要注意各位的初始状态。始状态。44 IE寄存器中断的开放和禁止标志寄存器中断的开放和禁止标志 中断系统有两种不同类型的中断:中断系统有两

28、种不同类型的中断:n 非屏蔽中断非屏蔽中断n 可屏蔽中断可屏蔽中断 对非屏蔽中断,用户不能用软件方法加以禁止,一旦有中断申对非屏蔽中断,用户不能用软件方法加以禁止,一旦有中断申请,请,CPU必须予以响应。对可屏蔽中断,用户则可以通过软件必须予以响应。对可屏蔽中断,用户则可以通过软件方法来控制是否允许某中断源的中断,允许中断称为中断开放,方法来控制是否允许某中断源的中断,允许中断称为中断开放,不允许中断称为中断屏蔽。不允许中断称为中断屏蔽。MCS-51系列单片机的系列单片机的5个中断源都是可屏蔽中断,其中断个中断源都是可屏蔽中断,其中断系统内部设有一个系统内部设有一个中断允许寄存器中断允许寄存器

29、IE,用于控制,用于控制CPU对各中断对各中断源的开放或屏蔽,如下图所示。源的开放或屏蔽,如下图所示。D7 D6 D5 D4 D3 D2 D1 D0 EA-ESET1EX1ET0EX045IE寄存器各位定义如下:寄存器各位定义如下:IE.7:EA,中断允许控制位。,中断允许控制位。EA=1,开放所有中断,各中断源的,开放所有中断,各中断源的允许和禁止可通过各自的中断允许位单独加以控制;允许和禁止可通过各自的中断允许位单独加以控制;EA=0,禁止,禁止所有中断。所有中断。IE.4:ES,串行口中断允许位。,串行口中断允许位。ES=1,允许串行口中断;,允许串行口中断;ES=0禁禁止串行口中断。止

30、串行口中断。IE.3:ET1,定时器,定时器T1中断允许位。中断允许位。ET1=1,允许,允许T1中断;中断;ET1=0,禁止禁止T1中断。中断。IE.2:EX1,外部中断,外部中断1(INT1)中断允许位。)中断允许位。EX1=1,允许外部中,允许外部中断断1中断;中断;EX1=0,禁止外部中断,禁止外部中断1中断。中断。IE.1:ET0,定时器,定时器T0中断允许位。中断允许位。ET0=1,允许,允许T0中断;中断;ET0=0,禁止禁止T0中断。中断。IE.0:EX0,外部中断,外部中断0(INT0)中断允许位。)中断允许位。EX0=1,允许外部中,允许外部中断断0中断;中断;EX0=0,

31、禁止外部中断,禁止外部中断0中断。中断。8051单片机系统单片机系统复位复位后,后,IE寄存器中各中断允许位均清寄存器中各中断允许位均清0,即,即禁禁止所有中断止所有中断。46 IP寄存器中断优先级标志寄存器中断优先级标志 8051单片机有两个中断优先级,每个中断源都可以通过编单片机有两个中断优先级,每个中断源都可以通过编程确定为高优先级中断或低优先级中断,因此,可实现二级嵌程确定为高优先级中断或低优先级中断,因此,可实现二级嵌套。同一优先级别的中断源可能不止一个,也存在中断优先权套。同一优先级别的中断源可能不止一个,也存在中断优先权排队的问题。排队的问题。MCS-51系列单片机设置系列单片机

32、设置中断优先级寄存器中断优先级寄存器IP,控制各中,控制各中断源的优先级,如下图所示。断源的优先级,如下图所示。IP寄存器的每一位由软件置寄存器的每一位由软件置1或清或清0,1表示高优先级,表示高优先级,0表示低优先级。表示低优先级。D7 D6 D5 D4 D3 D2 D1 D0 -PSPT1PX1PT0PX047IP寄存器各位定义如下:寄存器各位定义如下:IP.4:PS,串行口中断优先级控制位。,串行口中断优先级控制位。PS=1,设定串行口为高优先,设定串行口为高优先级中断;级中断;PS=0,设定串行口为低优先级中断。,设定串行口为低优先级中断。IP.3:PT1,定时器,定时器T1中断优先级

33、控制位。中断优先级控制位。PT1=1,设定定时器,设定定时器T1为为高优先级中断;高优先级中断;PT1=0,设定定时器,设定定时器T1为低优先级中断。为低优先级中断。IP.2:PX1,外部中断,外部中断1中断优先级控制位。中断优先级控制位。PX1=1,设定外部中断,设定外部中断1为高优先级中断;为高优先级中断;PX1=0,设定外部中断,设定外部中断1为低优先级中断。为低优先级中断。IP.1:PT0,定时器,定时器T0中断优先级控制位。中断优先级控制位。PT0=1,设定定时器,设定定时器T0为为高优先级中断;高优先级中断;PT0=0,设定定时器,设定定时器T0为低优先级中断。为低优先级中断。IP

34、.0:PX0,外部中断,外部中断0中断优先级控制位。中断优先级控制位。PX0=1,设定外部中断,设定外部中断0为高优先级中断;为高优先级中断;PX0=0,设定外部中断,设定外部中断0为低优先级中断。为低优先级中断。当系统复位后,当系统复位后,IP寄存器低寄存器低5位全部清位全部清0,所有中断源均设定为低所有中断源均设定为低优先级中断优先级中断。48 如果同一优先级的几个中断源同时向如果同一优先级的几个中断源同时向CPU申请申请中断,中断,CPU通过内部硬件查询逻辑,按自然优先级通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由硬件顺序确定先响应哪个中断请求。自然优先级由

35、硬件形成,从高到低排列如下表所示。形成,从高到低排列如下表所示。中断源中断源 同级内部优先级顺序同级内部优先级顺序 外部中断外部中断0 最高级最高级 最低级最低级 定时器定时器T0中断中断 外部中断外部中断1 定时器定时器T1中断中断 串行口中断串行口中断49n中断响应时间中断响应时间 中断响应时间是中断响应时间是指从中断请求标志置位到指从中断请求标志置位到CPU开始执行中断服开始执行中断服务程序的第一条指令所持续的时间务程序的第一条指令所持续的时间。CPU并非每时每刻对中断请求并非每时每刻对中断请求都予以响应,不同的中断请求其响应时间不同,不同情况下都予以响应,不同的中断请求其响应时间不同,

36、不同情况下CPU响响应中断的时间也是不同的,因此,中断响应时间形成的过程较为复应中断的时间也是不同的,因此,中断响应时间形成的过程较为复杂。杂。以外部中断为例,以外部中断为例,CPU在每个机器周期的在每个机器周期的S5P2期间采样其输入期间采样其输入引脚引脚INT0或或INT1的电平,如果中断请求有效,则置位中断请求标的电平,如果中断请求有效,则置位中断请求标志志IE0或或IE1,然后在下一个机器周期再对这些值进行查询,这就意,然后在下一个机器周期再对这些值进行查询,这就意味着中断请求信号的低电平至少应维持一个机器周期。此时如果满味着中断请求信号的低电平至少应维持一个机器周期。此时如果满足中断

37、响应条件,则足中断响应条件,则CPU响应中断请求,在下一个机器周期执行一响应中断请求,在下一个机器周期执行一条硬件长调用指令条硬件长调用指令LCALL,使程序转入中断矢量入口。,使程序转入中断矢量入口。LCALL指令指令执行时间是两个机器周期,因此,外部中断响应时间至少需要执行时间是两个机器周期,因此,外部中断响应时间至少需要3个个机器周期,这是最短的中断响应时间。机器周期,这是最短的中断响应时间。如果中断请求不能满足前面如果中断请求不能满足前面所述的三个条件而被阻断,则中断响应时间将延长。所述的三个条件而被阻断,则中断响应时间将延长。50n定时器定时器/计数器计数器 MCS-51单片机内部有

38、两个单片机内部有两个16位可编程的定时器位可编程的定时器/计数器,即计数器,即定定时器时器T0和和定时器定时器T1(8052提供第三个定时器提供第三个定时器T2)。它们既可用)。它们既可用作定时器方式,又可用作计数器方式。作定时器方式,又可用作计数器方式。n 定时器定时器/计数器的控制字计数器的控制字 定时器定时器/计数器的基本部件是两个计数器的基本部件是两个8位的计数器(其中位的计数器(其中TH1、TL1是是T1的计数器,的计数器,TH0、TL0是是T0的计数器)拼装而成。的计数器)拼装而成。作定时器使用时,输入的时钟脉冲由晶体振荡器的输出经作定时器使用时,输入的时钟脉冲由晶体振荡器的输出经

39、12分分频频后得到,所以定时器也可看作是对后得到,所以定时器也可看作是对CPU机器周期的计数器,其机器周期的计数器,其频率为晶振频率的频率为晶振频率的1/12。如果晶振频率为。如果晶振频率为12MHz,则定时器每接,则定时器每接收一个输入脉冲的时间为收一个输入脉冲的时间为1s。当用作对外部事件计数时,需外接当用作对外部事件计数时,需外接CPU的外部输入引脚的外部输入引脚T0(P3.4)或)或T1(P3.5)。在这种情况下,当检测到输入引脚上的电。在这种情况下,当检测到输入引脚上的电平由平由高跳变到低高跳变到低时,计数器就加时,计数器就加151 定时器定时器/计数器有计数器有四种四种工作方式,其

40、工作方式的选择及控制都工作方式,其工作方式的选择及控制都由两个特殊功能寄存器(由两个特殊功能寄存器(TMOD和和TCON)的内容来决定。用指)的内容来决定。用指令改变令改变TMOD或或TCON的内容后,则在下一条指令的第一个机器的内容后,则在下一条指令的第一个机器周期的周期的S1P1期间起作用。期间起作用。定时器的工作方式寄存器定时器的工作方式寄存器TMOD TMOD为定时器的工作方式寄存器,每位的定义如图所示。为定时器的工作方式寄存器,每位的定义如图所示。高高4位用于定时器位用于定时器1,低,低4位用于定时器位用于定时器0,其中,其中M1、M0用于确定用于确定所选的工作方式。所选的工作方式。

41、52 M1、M0:4种工作方式选择,种工作方式选择,4种编码对应的工作方式如下表种编码对应的工作方式如下表。M1 M0方式方式 说说 明明 0 0 013位定时器位定时器/计数器,计数器,TH的高的高8位和位和TL的低的低5位位 0 1 116位定时器位定时器/计数器计数器 1 0 2自动装入时间常数的自动装入时间常数的8位定时器位定时器/计数器计数器 1 1 3T0分为两个分为两个8位独立计数器;位独立计数器;对对T1置方式置方式3时,时,停止工作(无中断重装停止工作(无中断重装8位计数器)位计数器)C/T:定时器方式或计数器方式选择位。定时器方式或计数器方式选择位。C/T=1为计数器方式;

42、为计数器方式;C/T=0为定时器方式。为定时器方式。GATE:门控位,用于确定外部中断请求引脚(门控位,用于确定外部中断请求引脚(INT0,INT1)是否)是否参与参与T0或或T1的操作控制。当的操作控制。当GATE=0时,只要工作方式寄存器时,只要工作方式寄存器TCON中的中的TR0(或(或TR1)置)置1,允许,允许T0(或(或T1)开始计数;)开始计数;当当GATE=1时,时,不仅要不仅要TCON中的中的TR0或或TR1置位,还需要置位,还需要P3口的口的INT0或或INT1引脚引脚为高电平,才允许为高电平,才允许T0(或(或T1)计数。)计数。TMOD寄存器在寄存器在复位时每一位均清复

43、位时每一位均清0。53 定时器控制寄存器定时器控制寄存器TCON TCON用于控制定时器的操作以及对定时器中断进行控制,用于控制定时器的操作以及对定时器中断进行控制,如下图如下图所示所示。其中,。其中,TR0和和TR1的定义如下:的定义如下:TR0:T0的运行控制位,置的运行控制位,置1或清或清0用于实现启动计数或停止计数。用于实现启动计数或停止计数。TR1:T1的运行控制位,置的运行控制位,置1或清或清0用于实现启动计数或停止计数。用于实现启动计数或停止计数。D7 D6 D5 D4 D3 D2 D1 D0TF1TR1TF0TR0IE1IT1IE0IT054n 定时器定时器/计数器工作方式计数

44、器工作方式 MCS-51的定时器的定时器/计数器可以通过对计数器可以通过对TMOD的控制位的控制位C/T进行设置进行设置来选择定时器方式或计数器方式。对来选择定时器方式或计数器方式。对M1M0两位进行设置可以选择两位进行设置可以选择4种种工作方式。工作方式。方式方式0 M1M0设置为设置为00时,定时器设定为工作方式时,定时器设定为工作方式0,此时,此时16位寄存器位寄存器只用了只用了13位,由位,由TH0的的8位和位和TL0的低的低5位组成一个位组成一个13位计数器。位计数器。当当GATE=0时,只要时,只要TCON中的中的TR0为为1,TL0及及TH0组成的组成的13位位计数器就开始计数;

45、计数器就开始计数;当当GATE=1时,此时仅时,此时仅TR0=1仍不能使计数器计数,还需要仍不能使计数器计数,还需要INT0引脚为引脚为1才能使计数器工作。由此可知,当才能使计数器工作。由此可知,当GATE=1和和TR0=1时,计时,计数器是否计数取决于数器是否计数取决于INT0引脚的信号,引脚的信号,当当INT0由由0变变1时,开始计数时,开始计数;当当INT0由由1变变0时,停止计数时,停止计数,因此可用来测量在,因此可用来测量在INT0端出现的脉冲端出现的脉冲宽度。宽度。当当13位计数器从设定的初值加位计数器从设定的初值加1到全到全“1”后,再加后,再加1就产生溢出。就产生溢出。此时置此

46、时置TCON的的TF0位为位为1,同时计数器变为全,同时计数器变为全“0”。55 方式方式1 方式方式1和方式和方式0的工作相同,区别在于的工作相同,区别在于TH0和和TL0组成一个组成一个16位计数器。位计数器。方式方式2 方式方式2把把TL0配置成一个可以自动恢复初值的配置成一个可以自动恢复初值的8位计数器,位计数器,TH0作为常数作为常数缓冲器,缓冲器,由软件预置的初值保存在由软件预置的初值保存在TH0中。当中。当TL0产生溢出时使溢出标志产生溢出时使溢出标志TF0置置1,同时将,同时将TH0的的8位数据重新装入位数据重新装入TL0中。中。方式方式2常用于定时控制。例如,如果要求每隔常用

47、于定时控制。例如,如果要求每隔250s产生一个定时控制脉产生一个定时控制脉冲,则可以采用冲,则可以采用12MHz的振荡器,的振荡器,TH0预置为预置为6,并使,并使C/T=0即可实现。方即可实现。方式式2不用作串行口波特率发生器。不用作串行口波特率发生器。方式方式3 方式方式3对定时器对定时器T0和定时器和定时器T1很不相同。若很不相同。若T1设置为方式设置为方式3,则立即停,则立即停止工作,保持原有的计数值。所以方式止工作,保持原有的计数值。所以方式3只适用于只适用于T0。当当T0设置为方式设置为方式3时,此时时,此时TL0和和TH0是两个相互独立的是两个相互独立的8位计数器,位计数器,TL

48、0利利用了用了T0本身的一些控制(本身的一些控制(C/T、GATE、TR0、INT0和和TF0)方式,其操作)方式,其操作与方式与方式0和方式和方式1类似。而类似。而TH0用作定时器功能,对机器周期计数,并借用用作定时器功能,对机器周期计数,并借用了了T1的控制位的控制位TR1和和TF1。在这种情况下。在这种情况下TH0控制了控制了T1的中断。此时的中断。此时T1还还可以设置为方式可以设置为方式0、1或或2,用于不需要中断控制的场合,或用作串行口的波,用于不需要中断控制的场合,或用作串行口的波特率发生器。特率发生器。通常,只有在通常,只有在T1用作串行口波特率发生器时,用作串行口波特率发生器时

49、,T0才设置为方式才设置为方式3,以增,以增加一个加一个8位计数器。位计数器。56n 定时器定时器/计数器的初始化计数器的初始化 初始化步骤初始化步骤 MCS-51内部定时器内部定时器/计数器是可编程序的,其工作方式和工作过计数器是可编程序的,其工作方式和工作过程均可由程均可由MCS-51通过程序进行设定和控制。因此,通过程序进行设定和控制。因此,MCS-51在定时在定时器器/计数器工作前必须先对它进行初始化。初始化步骤为:计数器工作前必须先对它进行初始化。初始化步骤为:l 首先给定时器的工作方式寄存器首先给定时器的工作方式寄存器TMOD送一个方式控制字,送一个方式控制字,设定定时器设定定时器

50、/计数器的相应工作方式。计数器的相应工作方式。l 给定时器给定时器/计数器送定时器初值或计数器初值,确定需要定时计数器送定时器初值或计数器初值,确定需要定时的时间和需要计数的初值。的时间和需要计数的初值。l 给中断允许寄存器给中断允许寄存器IE送中断控制字,给中断优先级寄存器送中断控制字,给中断优先级寄存器IP送中断优先级字,开放相应中断和设定中断优先级。送中断优先级字,开放相应中断和设定中断优先级。l 给定时器控制寄存器给定时器控制寄存器TCON送命令字,启动或停止定时器送命令字,启动或停止定时器/计计数器的运行。数器的运行。57 计数器初值的计算计数器初值的计算 定时器定时器/计数器可用软

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第二章MCS硬件体系结构课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|