收藏 分享(赏)

第2章 MCS-51单片机的硬件结构1_end.ppt

上传人:dreamzhangning 文档编号:3313370 上传时间:2018-10-12 格式:PPT 页数:110 大小:3.27MB
下载 相关 举报
第2章  MCS-51单片机的硬件结构1_end.ppt_第1页
第1页 / 共110页
第2章  MCS-51单片机的硬件结构1_end.ppt_第2页
第2页 / 共110页
第2章  MCS-51单片机的硬件结构1_end.ppt_第3页
第3页 / 共110页
第2章  MCS-51单片机的硬件结构1_end.ppt_第4页
第4页 / 共110页
第2章  MCS-51单片机的硬件结构1_end.ppt_第5页
第5页 / 共110页
点击查看更多>>
资源描述

1、第2章 MCS-51单片机的硬件结构,第2章 MCS-51单片机的硬件结构,2.1 MCS-51单片机的基本结构 2.2 MCS-51单片机的引脚及片外总线结构 2.3 微处理器、CPU的时序及辅助电路 2.4MCS-51单片机的存储器配置,2.1.1 MCS-51单片机的基本组成,图2-1 MCS-51单片机基本结构示意图,MCS-51单片机的基本组成,(1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。 (4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做

2、输入,也可做输出。 (6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。,返回本节,2.1.2 MCS-51单片机的外部引脚说明,8031 8051 8751,1I/O口线功能 4个8位并行 I/O 接口引脚 P0.0P0.7 、P1.0P1.7 、P2.0P2.7和 P3.0P3.7,为多功能引脚,可自动切换用作数据总线、地址总线、控制总线和或I/O 接口外部引脚。,40个引脚分为四类:电源、地2条;时钟2条;控制4条;I/O线32条。,P0.0-P0.7(39-32):双向I/O口P0.,第二功能是在访问外部存储器时,可分时用作低8位地址和8位数据线;在对8

3、751编程和校验时,用于数据的输人输出。 PO口能以吸收电流的方式驱动8个LS型TTL负载,Pl. 0-Pl. 7(1-8):双向I/O口Pl。 P1口能驱动(吸收或输出电流)4个LS型TTL负载。 在对EPROM编程和程序验证时,它接收低8位地址。在8052单片机中P1. 0还用作定时器2的计数触发输人端T2,P1. 1还用作定时器2的外部控制端T2EX。,P2. 0-P2. 7(21-28):双向I/O口P2。P2口可以驱动(吸收或输出电流)4个LS型TTL负载。第二功能是在访问外部存储器时,输出高8位地址。在对EPROM编程和校验时,它接收高位地址。,P30-P3.7(10-17):双向

4、I/O口P3。P3口能驱动(吸收或输出电流)4个LS型TTL负载。P3口的每条引脚都有各自的第二功能,详见2. 6节。,2控制线 ALE:地址锁存允许信号端 PSEN:外部程序存储器读选通信号端 EA/VPP:程序存储器选择信号端和编程电源输入端,8031 8051 8751,RST/VPD(9): RST是复位信号输人端,ALE/ (30): ALE是地址锁存允许信号,在访问外部存储器时,用来锁存由PO口送出的低8位地址信号。在不访问外部存储器时,ALE以振荡频率16的固定速率输出脉冲信号。因此它可用作对外输出的时钟。但要注意,只要外接有存储器,ALE端输出的就不再是连续的周期脉冲信号。 第

5、二功能 用于对8751片内EPROM编程的脉冲输人端。,它是外部程序存储器ROM的读选通信号。在执行访问外部ROM指令时,会自动产生PSEN信号;而在访问外部数据存储器RAM或访问内部ROM时,不产生PSEN信号。,(29):,访问外部存储器的控制信号。 当EA高电平时,访问内部程序存储器;但当程序计数器PC的值超过OFFFH(对8051/80051/8751)或1 FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。 当EA保持低电平时,只访问外部程序存储器,不管是否有内部程序存储器。 第二功能VPP为对8751片内EPROM的21 V编程电源输入。,(31):,RST/VPD(

6、9):RST是复位信号输人端。当此输人端保持两个机器周期( 24个振荡周期)的高电平时,就可以完成复位操作。第二功能是VPD ,即备用电源输人端。当主电源发生故障,降低到规定的低电平以下时,vl,1。将为片内RAM提供备用电源,以保证存储在RAM中的信息不丢失。,XTALl(19): 接外部晶体的一个引脚。当单片机采用外部时钟信号时,此脚应接地。 XTAL2(18): 接外部晶体的一个引脚。当单片机采用外部时钟信号时,外部时钟信号由此引脚接入。 使用单片机内部振荡电路时,用来接外部晶体的两端和微调电容。当单片机采用外部时钟信号时,则用来输入时钟脉冲。Vss(20): 接地端。 Vcc(40):

7、 电源端,接十5V。,2.2 微处理器,1运算器运算器由8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等组成。主要进行数据的处理和加工。,1)、ALU功能:用来完成二进制数的算术四则运算和值的逻辑运算。并通过对运算结果的判定,影响程序状态字寄存器PSW相关位的状态。 2)ACC :8位专用寄存器,作ALU的一个输入端,同时ALU的输出运算结果也送到ACC,最忙。,运算器,思考题,1、ALU的功能是什么?解释ADD

8、 A,#24H。 2、 ALU的两个输入端的操作数来自何处? 3、暂存寄存器TMP起作用? 4、什么总线?有何特点?什么是内部总线?什么是外部总线?(P7) 5、什么是缓冲器?工作原理?,3)程序状态字寄存器PSW 定义格式:C:进借位标志;AC:辅助进借位标志; F0:用户标志; RS1、RS0:工作寄存器组选择。,OV:溢出标志,P:奇偶标志,2控制器 是CPU的大脑中枢,主要由控制部件、时钟发生器、指令寄存器IR、指令译码器ID、数据指针DPTR、程序计数器PC、堆栈指针SP等组成。,功能:对逐条指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部

9、分的工作,从而使指令得以执行。,存入指令寄存器寄存,指令译码器译码,由定时与控制电路产生一系列控制信号,思考题:一条指令如何执行?,P0.0P0.7,P2.0P2.7,返回本节,单片机时钟电路通常有两种形式: 1内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图2-10所示)。 2外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内(如图2-11所示)。,3、单片机时钟电路及CPU基本时序,3、单片机时钟

10、电路及CPU基本时序,向CPU提供两相时钟信号,振荡器输出信号,一、机器周期、状态、振荡周期,一个机器周期=6个状态=12个振荡周期,1、振荡周期:振荡器输出的振荡时钟脉冲信号的周期。单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。,2、时钟周期:又称状态周期、状态时间S,是振荡周期的两倍。分为P1、P2节拍。 P1节拍通常完成逻辑操作, P2节拍通常完成内部寄存器间数据传送。,3、机器周期若把一条指令执行过程分为几个基本操作,则执行每个基本操作所需要的时间,称为机器周期。单片机的一个机器周期包括12个振荡周期,分为6个S状态:S1

11、-S6。每个状态又分为2拍,即前面介绍的P1和P2信号;个机器周期中的12个振荡周期可表示为S1P1,S1P2,S2P1S6P1,S6P2o,4、指令周期CPU执行一条指令所需要的时间。是以机器周期为单位的 ,CPU执行一条指令通常需要14个机器周期 。,MCS-51单片机各种周期的相互关系,思考题:若采用12MHZ晶振,各周期是多少?,振荡周期1/fosc=1/12MHZ=0.0833us,二、CPU执行指令时序,2.3 MCS-51单片机的存储器配置,2.3.1 片内数据存储器 2.3.2 片外数据存储器 2.3.3 程序存储器,返回本章首页,2.3.1 片内数据存储器,见下张幻灯片,特

12、殊 功 能 寄 存 器SFR通用 RAM区,00H,1FH,20H,2FH,30H,7FH,80H,FFH,80H,88H,90H,98H,A0H,A8H,B0H,B8H,D0H,E0H,F0H,特殊功能寄存器中位寻址,外 部 RAM(I/O口 地址),0000H,FFFFH,内部数据存储器 (a),外部数据存储器 (b),工作寄存器区,图2-9 MCS-51单片机存储器结构,位寻址区,128BRAM,当某一组被设定成工作寄存器组后,该组中的8个寄存器,从低地址到高地址就分别称为Ro-R7,从而可以把它们用作通用寄存器,并可按寄存器寻址方式被访问。一旦工作寄存器组被指定后,另外三组寄存器则同其

13、它数据RAM一样,只能按字节地址被予以读写。,工作寄存器区,00H1FH,供用户编程使用,临时存放8位信息。共四组,每组8个单元,即8个寄存器,位寻址区,20H2FH,16个字节。或布尔处理区。该区每一位都被赋予一个地址,供128位。每个地址单元可进行字节操作之外,还可进行为操作。,表2-3 内部数据存储器中的位地址,数据缓冲区,30H7FH,即用户区,供80个单元。用于存放运算数据和结果。实际上不使用的位寻址的字节和不使用的工作寄存器区都可以用作数据缓冲区使用。,堆栈区,用户可以指定内部RAM的最高若干字节做为堆栈区。在初始化程序中,可以对堆栈指针SP写入栈底的地址,于是从SP指定的栈底直到

14、7FH单元都是堆栈区。例如MOV SP # 5FH.那么从60H7FH单元都是堆栈区。,堆栈是片内RAM中临时开辟的暂存区,堆栈主要是为子程序调用和中断操作而设立的。其具体功能有两种:保护现场和保护断点。计算机无论是执行子程序还是执行中断操作最后都要返回主程序,因此计算机在转去执行这些程序之前,必须考虑其返回问题。这就要预先把主程序的断点保护起来,为程序的正确返回作准备。那么,把断点和现场内容保护在哪里?这就必须保护在堆栈内,思考题(教材P31-P33页),1、何谓堆栈? 2、为什么要设置堆栈? 3、栈区是如何确定? 5、数据进栈、出栈按何规律?用何指令? 6、进栈、出栈时指针如何变化? 7、

15、栈区存放什么内容?,特殊功能寄存器区(SFR),特殊功能寄存器也叫专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、定时器/计数器、中断系统等功能模块的工作,用户在编程时可以设定,却不能自由移作它用。,表2-4 特殊功能寄存器地址及功能表,2.3.2 片外数据存储器,外部数据存储器又称外部RAM,当片内RAM不能满足数量上的要求时,可通过总线端口和其他I/O口扩展外部数据RAM,其最大容量可达64K字节,其结构如图所示。 在片外数据存储器中,数据区和扩展的I/O口是统一编址的,使用的指令也完全相同,因此,用户在应用系统设计时,必须合理地进行外部RAM和I/O端口的地址分配,并保证译码

16、的唯一性。,返回本节,2.3.3 程序存储器,程序存储器的结构如图2-9(c)所示,包括片内和片外程序存储器两个部分。其主要用来存放编好的用户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。,返回本节,2.3.4 单片机复位电路及复位状态,1复位电路 单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图2-14所示。2单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表2-6所示。,2

17、2F C1,1K,R2 1K,图2-14 几种复位电路,表2-6 单片机复位后特殊功能寄存器的状态,返回本节,表2-1 MCS-51单片机存储器容量,返回本节,2.5 输入/输出(I/O)端口结构,MCS-51单片机有4个双向并行的8位I/O口P0P3,可并行输入或输出8位数据,也可按位使用。,I/O端口 实现单片机与外围设备之间数据传送的电路,1P1口的结构,图2-15 P1口的一位结构图,输出驱动器,缓冲器,只有一种功能:通用输入输出(I0)端口,准双向静态口。,P1口的功能,通用I0口三种工作方式: 输出方式、输入方式、端口操作,端口操作,在输入状态下,从锁存器和从引脚上读来的信号一般是

18、一致的,但也有例外。例如,当从内部总线输出低电平后,锁存器Q0, 1,场效应管V1开通,端口线呈低电平状态。此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。 又如,当从内部总线输出高电平后,锁存器Q1, 0,场效应管V1截止。如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。,8051单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。 读-修改-写指令的特点是,从端口(锁存器)输入(读)信号,在单片机内加以运算(修改)后,再输

19、出(写)到该端口上。,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。具有这种输入前要进行准备操作特点的输入输出端口,称为准双向IO口。8031单片机的P1、P2、P3都是准双向口。P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。,注意:,在端口引脚线上读入信号前,必须先对该端口写入l。,1、单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。2、如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。,Pl端口特点,1、Pl端口是单片机中唯一仅有的单功

20、能IO端口,并且没有特定的专用功能。 2、输出信号锁存在引脚上,故又称为通用静态口;但对输入信号没有锁存。 3、 P1口作为输人口使用时,随输入指令的不同,有两种工作方式,即所谓读锁存器与读引脚之分。 读端口即读锁存器时实际上不从外部读入数据,只把端口锁存器中的内容读人到内部总线,经过某种运算和变换后,再写回到端口锁存器。读引脚时才真正地把外部的输人信号读入到内部总线。,2P0口的结构,P0端口由锁存器、输入缓冲器、切换开关与相应场效应管驱动电路构成。,输出驱动器,控制电路,0,0,1,P0口有两种功能:通用IO接口和地址/数据分时复用。,P0口的功能,1、通用IO接口:不要要外部扩展时,内部

21、控制信号将使MUX开关接通到锁存器。此时,由于PO口没有内部上拉电阻,通常要在外部加一个上拉电阻来提高驱动能力。,2、地址/数据分时复用: 需要进行外部扩展时,内部控制信号将使MUX开关接通到内部地址数据线。此时,PO口在ALE信号的控制下,分时输出低8位地址和8位数据信号。,在输出状态下,当切换开关MUX向下时,从内部总线来的数据经锁存器反相和场效应管T2反相,输出到端口引脚线上。此时,场效应管T1关断。当切换开关MUX向上时,一位地址数据信号分时地输出到端口线上。此外,由T1、T2的通断组合,形成高电平、低电平与高阻浮动三态的输出。,P0口的工作原理,是单片机的总线口,分时出现数据D7一D

22、0、低8位地址A7一A0,以及三态,用来接口存储器、外部电路与外部设备。P0端口是使用最广泛的IO端口。,P0端口特点,P1端口与P0端口的主要差别在于:P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。,3P2口的结构,图2-5 P2口的一位结构图,P2口也是一个准双向口,有两种使用功能:作为普通I/O端口或作为系统扩展时的高8位地址总线。,P2口内部结构与PO口类似。 P2口作I/o端口使用时:内部控制信号使MUX开关接通到锁存器,此时P2口的用法与P1口相同。 P2口作外部地址总线使用时,内部控制信号使MUX开关接通到内部地址线,此时P2口的引脚状态由所

23、输出的地址决定。,需要特别指出的是,由于对片外地址的操作是连续不断的,只要进行了外部系统扩展,此时P0口和P2口就不能再用作I/ O端口了。,4P3口的结构,图2-6 P3口的一位结构图,P3.6,P3.7,表2-2 P3口的第二功能表,P3.6,P3.7,返回本节,使P3端品各线处于第二功能的条件是: 1串行I/O处于运行状态(RXD,TXD); 2打开了处部中断(INT0,INT1); 3定时器/计数器处于外部计数状态(T0,T1) 4执行读写外部RAM的指令(RD,WR)在应用中,如不设定P3端口各位的第二功能(WR,RD信号的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态

24、IO端口的工作状态。在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。,MCS-51单片机的片外总线结构,图2-8 MCS-51片外总线结构示意图,微型计算机中的总线通常分为: (1)地址总线(AB):地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7);P2口直接提供高8位地址(A8A15)。地址信号是由CPU发出的,故地址总线是单方向的。 (2)数据总线(DB):数据总线宽度为8位,用于传送数据和指令,由P0口提供。 (3)控制总线(CB):控制总线随时掌握各种部件的

25、状态,并根据需要向有关部件发出命令。,返回本节,第2.4节 定时/计数器,2.4.1 定时/计数器结构 2.4.2 定时/计数器工作方式 2.4.3 定时/计数器控制寄存器 2.4.4 定时/计数器常数的计算,返回本章首页,2.4.1 定时/计数器结构,是MCS一51单片机的重要功能模块之一。可实现定时控制、延时、对外部事件计数,还可用定时器产生毫秒宽的脉冲驱动步进电动机一类的电气机械。计数器主要用于外部事件的计数。8031/8051/8751单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能。可由程序选择作为定时器用或作为计数器用,定时时间或

26、计数值也可由程序设置。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。,返回本节,16位加法计数器,功能,作计数器用时:通过芯片引脚T0(P3.4)或T1(P3.5)加法计数器对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。,作定时器用时:加法计数器对内部机器周期脉冲计数。由于机器周期是定值,所以对内部机器周期脉冲计数也就是定时,内部机器周期1um,计数值100,相当于定时100um。,2.4.2 定时/计数器工作方式,每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。在模式0、1和

27、2,T0和T1的工作模式相同,在模式3,两个定时器的模式不同。下面以T1为例,分述各种工作模式的特点和用法。,1模式0,图2-8 定时/计数器T1(T0)工作模式0,13位定时器/计数器,5位,8位,213=8192,测引脚脉冲宽度,2模式1,图5-2 定时/计数器T1(T0)工作模式1,16位定时器/计数器,3模式2,图5-3 定时/计数器T1(T0)工作模式2,自动重新装入初值8位定时/计数器,8位加法计数器,8位初值寄存器,4模式3,定时/计数器T0工作模式3,返回本节,2个8位方式。工作方式3只适用于定时器T0,当定时器T1处于方式3时,相当于TR1=0,停止计数。,当T0为工作方式3

28、时,THo和TL0分成2个独立的8位计数器。其中,TL0既可用作定时器,又可用作计数器;TH0只能用作定时器.,通常情况下,T0不运行于工作方式3,只有在T1处于工作方式2,并不要求中断的条件下才可能使用。,2.4.3 定时/计数器控制寄存器,定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。,1工作模式控制寄存器TMOD(89H),图5-5 定时器工作模式寄存器TMOD,2定时器控制寄存器TCON(88H),图5-6 定时器工作模式寄存器TCON,返回本节,2.4.4 定时/计数器常数的计算,1计数器初值的计算 把计

29、数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式: TC=M-C 式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。,2定时器初值的计算在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式: T=(M-TC)T计数上式也可写成:TC=M-T/ T计数 式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。,返回本节,设T0(或T1)运行于计数器方式,要求计数X个外部脉冲后T0(或T1)回零,则计数初值C的求取方法如下: 因为

30、回零的含义是指加满到计数器的模值,即 x十C模 所以 C模一x模十(一x)(x)求补 由此可见,计数初值的大小等于需要计数的个数x求补运算后的结果,3、求补算法,例1:T0运行于计数器状态,工作于方式1(16位方式),要求外部引脚出现3个脉冲后,TH0,TL0全回零(以便申请中断)。求计数初值C。,解:C=(0003H)求补=FFFDH,例2:T0运行于定时器状态,时钟振荡周期为12MHZ,要求定时100us。求不同工作方式时的定时初值。,解:因为机器周期MC=12/12MHZ=1us 所以要计数的机器周期个数为64H。,应注意定时器在工作方式0时的初值装入方法。由于方式0是13位定时/计数方

31、式,对于T0而言,高8位初值装入TH0,低5位初值装入TL0的低5位(TL0的高3位无效)。所以对于上例,要装入1F9CH初值时,可安排成:,在具体装入初值时,必须把11111100B装入TH0,而把*11100B装入TL0。用指令表示即: MOV TH0,#0FCH ;#FCH=TH0 MOV TL0,#1CH ;#1CH=TL0,2.5 中断系统结构及管理,2.5.1 中断概念及请求 2.5.2 中断系统的结构 2.5.3 中断控制 2.5.4 中断响应过程,返回本章首页,2.5.1 有关中断的概念,返回本节,什么是中断? 什么可能引起中断?中断源 中断的嵌套与优先级处理 中断的响应过程,

32、五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。,具体地说,中断响应可以分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。,2.5.2 中断系统的结构,1外部中

33、断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 2内部中断源 T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。,51单片机的中断系统基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的 编程。,中断系统的结构框图,返回本节,外部中断有下跳沿引起和低电平引起的选择;串行中断有发送(TI)与接

34、收(R1)的区别;各个中断源打开与否,受中断自身的允许位和全局允许位的控制,并具有高优先级和低优先级的选择。,2.5.3 中断控制,1中断允许寄存器IE(A8H)字节地址A8H,位地址分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。 2中断优先寄存器IP(B8H)字节地址为B8H,位地址分别是B8HBFH,IP用来锁存各中断源优先级的控制位。,中断允许寄存器IE,中断优先寄存器IP,返回本节,优先级:单片机采用了自然优先级和人工设置高、低优先级的策略,即可以由程序员设定哪些中断是高优先级、哪些中断是低优先级,由于只有两级,必有一些中断处于同一级别,处于同一级

35、别的,就由自然优先级确定。,五个中断源的自然优先级与中断服务入口地址 外中断0:0003H 定时器0:000BH 外中断1:0013H 定时器1:001BH 串口 : 0023H,高级,低级,先高后低;停低转高;高不睬低;事先规定.,3、定时器控制寄存器,4、串行口SCON寄存器,寄存器的地址为98H,其中各位都可以位寻址,位地址为98H-9FH。串行口的中断申请标志只占用SCON中的两位,分布如下:,TI发送中断标志:当发送完一帧串行数据后置1,必须由软件清0。RI接收中断标志:当接收完一帧串行数据后置1,必须由软件清0。 串行口的中断申请标志是由TI和RI相或以后产生的,并且串行口中断申请

36、在得到CPU响应之后不会自动撤除。,2.5.4 中断响应过程,1响应条件 单片机响应中断的条件是:中断源有请求、CPU允许所有中断源请求(EA1)、中断允许寄存器IE相应位置1。,2、中断响应过程,单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行排队处理。,中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断入口地址装入程序计数器PC,使程序转向中断入口地址单元中去执行相应的中断服务程序,下列任何一种情况存在中断申请将被封锁:,(

37、1)CPU正在执行一个同级或高一级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。,2.5.4 中断请求的撤除,中断过程有以下几点应注意:1.没有对现场进行保护(如PSW,RAM寄存器的内容)2.不能清除T1,R1标志.,CPU响应中断请求后,在中断返回(执行RETI)前,必须撤除请求,否则会错误地再次引起中断过程。CPU响应中断后没有用硬件清除串口中断标志,必须由用户编制的中断服务程序来清除相应TI、RI。,对于电平触发的外部中断,由于CPU对INT0、INT1脚没

38、有控制作用,也没有相应的中断请求志位,因此需要外接电路来撤除中断请求信号。 ANL P1,#0FEH ORL P1,#01H,2.5.5 定时/计数器及中断系统综合应用,【例】设MCS-51单片机系统时钟频率CLK为6MHZ,请编出利用定时/计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序.,返回本章首页,(1)主程序,任务:1)T0工作方式的设定: 选择方式1(16位方式)(最大定时131ms)2)定时常数的设定: TC=216-100ms/2s =15536=3CB0H即:TH0应装3CH,TL0应装B0H,3)中断管理:允许T0中断,开放总中断即:IE应装1000

39、0010B。4)启动定时器T0: SETB TR05)设置软件计数器初值: (如使用R7)即R7应装0AH6)动态停机:SJMP $,主程序如下: MAIN:MOV TMOD,#01H ;设定T0为方式1MOV TH0,#3CH ;装入定时常数高8位MOV TL0,#0B0H ;装入定时常数低8位MOV IE,#82H ;开放T0中断SETB TR0 ;启动T0MOV R7,#0AH ;设置软件计数器SJMP $,(2)中断服务程序,任务:1)恢复T0常数;2)软件计数器减1; 3)判断软件计数器是否为0。为0时,改变 P1.0状态,并恢复软件计数器初值;不为0时中断返回。,程序如下: TOI

40、NT:MOV TL0,#0B0H ;恢复定时常数MOV TH0,#3CH ;DJNZ R7,NEXT ;CPL P1.0 ;定时1到,P1.0取反MOV R7,#0AH ; 恢复软件计数器初值 NEXT: RETI,完整程序如下:,ORG 0000H AJMP MAINORG 000BH AJMP TOINTORG 0030H MAIN: MOV TMOD,#01HMOV TH0,#3CH MOV TL0,#0B0HMOV IE,#82H SETB TR0MOV R7,#0AHSJMP $,TOINT: MOV TL0,#0B0HMOV TH0,#3CHDJNZ R7,NEXTCPL P1.0

41、MOV R7,#0AHNEXT: RETIEND,返回本节,2.8 8051单片机的节电工作方式,两种节电工作方式: 掉电方式和空闲(等待)方式 属于低功耗的工作方式,适用于采用干电池或停电时依靠备用电源供电的智能仪表。,PD/0为掉电方式,此时振荡器停止工作,备用电源投入,仅对片内RAM供电,只有片内RAM的内容被保存。,IDL/=0等待方式。此时振荡器依然工作,中断系统、串行接口、定时器计数器电路驱动工作。但时钟不送往CPU,即CPU处在等待状态,控制寄存器PCON:,(1)串行接口波特率系数控制位SMOD 串行接口用。 (2掉电方式控制位PD。 PD=1时进人掉电方式。 (3)等待方式控

42、制位IDL IDL=1时进人等待方式。 (4)通用标志位GFl、GF0用户设置软件标志用,退出等待方式有两种方法: (1)中断退出:由于在等待方式下中断系统仍工作,而且任何中断请求(只要IE设置牵断允许)均能通过硬件对IDL清零、因此中断请求后单片机将退出等待方式,并执行中服务程序。在执行RETI指令返回后,CPU执行的指令是原先置等待方式指令的下一条指,使CPU恢复等待方式以前的工作。 (2)按钮复位退出:采用按钮复位退出等待方式时,只有内部RAM的内容保持不变. PCON中的通用标志位GFI , GFO可用来指示中断发生在正常运行期间还是在等待方式. 退出掉电方式:只能用复位按钮。,THANK YOU VERY MUCH !,本章到此结束, 谢谢您的光临!,结束放映,返回本章首页,

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

当前位置:首页 > 高等教育 > 大学课件

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


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

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

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