第二章系统结构(单片机)._第1页
第二章系统结构(单片机)._第2页
第二章系统结构(单片机)._第3页
第二章系统结构(单片机)._第4页
第二章系统结构(单片机)._第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第二章 51系列单片机系统结构2CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR216位位定时器定时器/计数器计数器可编程可编程I/O程序存储器程序存储器4KBROM可编程全双工可编程全双工串行口串行口外中断外中断内中断内中断控制控制并行口并行口串行通信串行通信外部时钟源外部时钟源外部事件计数外部事件计数32-1-2 89C52的总体结构一 中央处理器CPUn由算术逻辑运算部件ALU、布尔处理器、工作寄存器和控制器组成。二 存储器n8K FLASH 程序存储器nRAM扩大到256Bn可在外部将程序存储器扩展到64KB,也可

2、扩展64KB的RAM/IO口。三 I/O部件和I/O引脚n4个并行口,3个16位的定时器,异步串行口。n大多数I/O引脚复用,为多功能引脚。4封装形式封装形式:5 1主电源引脚主电源引脚 VCC(40脚):接+5 V电源正端。 GND(20脚):接+5 V电源地端。 2外接晶体引脚外接晶体引脚 XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。XTAL2(18脚):接外部石英晶体的另一端。在单片机内部,它是一个反相放大器的输出端。正常工作时,该引脚应有脉冲信号输出.引脚说明63输入输入 / 输出引脚输出引脚 (1) P0口(393

3、2脚):P0.0P0.7统称为P0口。在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。 (2) P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。(P1.0、P1.1为多功能准双向口)7(3) P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。 (4) P3口(1017脚):P3.0P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且

4、P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。894控制线控制线 (1) ALE/PROG(30脚):运行方式时,ALE为外部存储器低8位地址锁存信号;FLASH编程期方式时,该引脚用作编程脉冲输入端。 (2) RST (9脚):该引脚为单片机的上电复位端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。10(3)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不出现。

5、(4)EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器;FLASH编程方式时,为编程电源输入端VPP。11 综述,51系列单片机的引脚可归纳为以下两点: (1) 单片机功能多,引脚数少,因而许多引脚都具有第二功能。 (2) 单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64 KB。122-2 存储器组

6、织一 51系列单片机有5个独立的存储空间:1. 64KB程序存储器空间(00FFFFH)2. 256B内部RAM 空间(00FFH)3. 128B内部特殊功能寄存器空间(80H0FFH)4. 位寻址空间(00FFH)5. 64KB外部数据存储器(RAM/IO空间) (00FFFFH)13二 根据用户使用角度分类: 1 片内外统一编址的64KB的程序存储器空间 2 256B的片内RAM空间 3 64KB的片外RAM空间三 51单片机中程序存储器和数据存储器彼此分开独立有利于“面向控制”14AT89C52单片机存储器结构152-2-1 程序存储器 程序存储器是用来存放已编好的程序和表格常数。计算机

7、为了有序地工作,设置了一个专用寄存器 - 程序计数器PC,用以存放将要执行的指令地址。由于51单片机的程序计数器为16位,因此,可寻址的地址空间为64 KB。161程序存储器分为片内和片外两部1 CPU访问片内和片外存储器,可由EA引脚所接的电平来确定2 EA引脚接“1”:程序从片内0000H开始执行,PC值超过片内容量时,自动转向片外ROM3 EA引脚接“0”:程序直接从片外ROM的0000H处开始执行17图3.5 程序存储器编址图(a) 51子系列;(b) 52子系列18二二 程序的程序的6个特殊入口地址个特殊入口地址 51系列的中断源数目因型号而异,中断入口有多有少。但总是从地址3开始,

8、每隔8个字节安排一个中断入口。操 作入 口 地 址复位0000H外部中断00003H定时器/计数器0000BH外部中断10013H定时器/计数器1001BH串行口中断0023H定时器/计数器2002BH192-2-2 内部RAM数据存储器n片内数据存储器最大可寻址256个单元,它们又分为两部分: 低128字节(00H7FH)是真正的RAM区;高128字节(80HFFH)为特殊功能寄存器(SFR)区。20图图 低低128字节字节RAM区区图图 高高128字节字节RAM区区(SFR区,特殊功区,特殊功能寄存器区能寄存器区)21一工作寄存器区(001FH)1 001FH区域为4组工作寄存器区,每组包

9、含8个8位寄存器,编号为R0 R7。2 CPU当前使用的工作寄存器区由PSW中的RS0、RS1二位设置3 寄存器R0、R1常用做间接寻址时的地址指针22 表表2.4 工作寄存器组的选择表工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)23二 位寻址区(202FH) 1 共16个字节单元,128位,是可位寻址的RAM区。 2 16个单元的每一位可用于存放各种程序标志、位控制变量。 3 这16个位寻址单元加上可位寻址的 SFR(地址为8的倍数)一起构成布尔(位)

10、处理器的数据存储器空间位存储器。2425三 数据缓冲器区30H7FH是数据缓冲区,也即用户RAM区,共80个单元。 由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。261 51系列的堆栈是向上生成: 进栈时SP内容先增加,再存入数据 出栈时先弹出数据,再SP内容减少。2 堆栈原则上可在内部RAM 任意位置,实际设在 30HFFH范围内。3 系统复位时(SP)为07H,实际从08H开始堆放信息。四 堆栈和堆栈指针栈底SPSP+1数据压入

11、数据弹出272-2-3 特殊功能寄存器(SFR) 特殊功能寄存器(SFR,即Special Function Registers),又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。28(1) 累加器ACC(E0H)n累加器ACC是最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。29(2) 寄存器B(F0H)n在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放

12、被除数,B中放除数,商存放于A,B中存放余数。n在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。30(3) 程序状态寄存器PSW(D0H)nPSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。nPSW除有确定的字节地址(D0H)外,每一位均有位地址。31(4) 栈指针SP(81H)n堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。32(5) 数据指针DPTR(83H,82H)nDPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示

13、(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。nDPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。33(6) /端口P0P3(80H,90H,A0H,B0H)nP0P3为4个8位特殊功能寄存器,分别是4个并行/端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一条/线均可独立用作输入或输出。n用作输出时,可以锁存数据;用作输入时,数据可以缓冲。n图2-11所示为各个SFR所在的字节地址位置。空格部分为未来设计新型芯片可定义的SFR位置。34图图 特殊功能寄存器特

14、殊功能寄存器SFR的位置的位置352-2-4 外部RAM和I/O口 1 该区域只能用寄存器间接寻址的方法访问 2 所用寄存器为DPTR、R1、R03 外部扩展RAM与I/O口是统一编址362-3 时钟电路、CPU定时一 NMOS型单片机的时钟电路(略)1 内部时钟方式 2 外部时钟方式振荡器产生的时钟频率主要由SYS参数确定。电容的作用:使振荡器起振且对振荡器的频率起微调37二 CMOS型单片机时钟电路1 内部时钟方式 2 外部时钟方式注意:振荡器工作受PD控制,当PD=0时,振荡器停止工作,单片机停止工作,从而节电。38CPU工作时序一 时钟周期(振荡周期) 1 最基本最小的时间单位 2 一

15、个时钟周期内,CPU仅完成一个最基本的动作。3 在51单片机中把一个时钟周期定义为一个节拍(P表示),二个节拍定义为一个状态周期(S表示)。39二 机器周期1 完成一个基本操作所需的时间称为机器周期。例如,取指令、读存储器、写存储器等等。2 一个机器周期由若干状态周期(S)组成。 在89C52中一个机器周期由6个S周期组成,用S1、S2、S3、S4、S5、S6表示。3 包含一个机器周期的指令为单周期指令,包含两个机器周期的指令为双周期指令。40三 指令周期1执行一条指令所需的时间即指令周期。一般由若干条机器周期组成。251单片机中仅乘法、除法指令是4周期指令,其余都是单周期指令和双周期指令。机

16、器周期数少则执行速度快。结论: 一个指令周期包括若干个机器周期,一个机器周期包括若干时钟周期。41422-4 复位和复位电路2-4-1 复位信号的产生1 RST是外部复位信号的输入脚2 外部电路产生的复位信号通过RST进入片内的史密特触发器3 当RST引脚端保持两个机器周期以上的高电平时, 51单片机进入复位状态43 2-4-2 复位状态44(PSW)=00H,由于RS1(PSW.4)=0,RS0(PSW.3)=0,复位后单片机选择工作寄存器0组。 (SP)=07H,复位后堆栈在片内RAM的08H单元处建立。TH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。 (TMOD)

17、=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。 (TCON)=00H,复位后定时器/计数器T0、T1停止工作,外部中断0、1为电平触发方式。 45 (SCON)=00H,复位后串行口工作在移位寄存器方式,且禁止串行口接收。 (IE)=00H,复位后屏蔽所有中断。 (IP)=00H,复位后所有中断源都设置为低优先级。 P0P3口锁存器都是全1状态,说明复位后4个并行接口设置为输入口。462-4-3 复位电路 51单片机系统常常有上电复位和人工复位两种方法。所谓上电复位,是指计算机加电瞬间,要在RST引脚上出现足够宽的正脉冲,使单片机进入复位状态。人工复位是指用户按下复位按钮

18、,使单片机进入复位状态。47一 上电自动复位 上电复位利用电容器充电来实现。接通电源后,电容通过内部电阻进行充电,在RST引脚上出现一定时间的高电平,RC时间常数越大,RST保持高电平的时间越长,51单片机就可有效的复位。 当fosc=12MHZ时,典型值C=1F。RC+5VVCCRSTVSS89C52外部复位48 二 人工复位(按键手动复位) 系统运行时,通过按键使复位端经电阻与VCC接通而实现复位。R+5VVCCRSTVSS89C52CR1R1=20049三 外部Watchdog电路复位n对内部没有WDT(定时监视器)的单片机,可以用单稳态电路单稳态电路在外部设计一个Watchdog。n系

19、统正常工作时,定时输出脉冲,使单稳态输出低电平。n系统软件出现故障时,未及时输出脉冲,单稳态电路输出高电平,系统复位。50内部复位n对内部有WDT的单片机,系统正常工作时,软件定时清零WDT。WDT不会计数溢出。n软件工作异常时,WDT计数溢出,产生内部复位信号,器件复位,并在RST端输出正脉冲,复位外部扩展电路。51系统复位 在单片机应用系统中,不仅单片机本身,而且外部扩展的接口电路也需要复位,因此需要一个系统复位信号。522-5 中断系统n中断中断指CPU对系统中或系统外发生的某个事件的一种响应过程,即CPU暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序。当处理结

20、束后,再返回到被暂停程序的断点处,继续执行原来的程序。n中断系统中断系统实现这种中断功能的硬件系统和软件系统。n断点断点即主程序被断开的的位置(地址)。53n中断技术的优点:n 提高CPU的效率。n 提高实时数据的处理时效。n 故障处理n中断系统的功能:n 中断优先权排队n 实现中断嵌套 n 自动响应中断n 实现中断返回。54中断系统需要解决以下基本问题:(1) 中断源中断源:中断请求信号的来源。包括中断请求信号的产生及该信号怎样被CPU有效地识别。而且要求中断请求信号产生一次,只能被CPU接收处理一次,即不能一次中断申请被CPU多次响应。这就涉及到中断请求信号的及时撤除问题。(2) 中断响应

21、与返回中断响应与返回:CPU采集到中断请求信号后,怎样转向特定的中断服务子程序及执行完中断服务子程序怎样返回被中断的程序继续正确地执行。中断响应与返回的过程中涉及到CPU响应中断的条件、现场保护等问题。55 一个计算机应用系统,特别是计算机实时测控应用系统,往往有多个中断源,各中断源所要求的处理具有不同的轻重、缓急程度。如果当前处于正在处理某个事件的过程中,有更重要、更紧急的事件到来,就应当暂停当前事件的处理,转去处理新事件。这就是中断系统优先级控制所要 解决的问题。中断优先级 的控制形成了中断嵌套。 (3) 优先级控制:优先级控制:5689C52 的中断系统n6个中断源,具有二个中断优先级,

22、可实现二级中断服务程序的嵌套。每个中断源均可软件编程为高优先级或低优先级中断,允许或禁止向CPU请求中断。n有关的特殊功能寄存器(SFR)有:n中断允许寄存器IEn中断优先级控制寄存器IPn中断源寄存器(TCON、SCON中的有关位)注:均可位寻址。均可位寻址。57中断系统结构图11IE0IE01查询顺序识别查询顺序识别111中断入口地址中断入口地址低级中断请求低级中断请求查询硬件IPPX0PT0PX1PT1PSPT2ET2ESET1EX1ET0EX0 IEINT0TF0INT1TF1TIRITF2EXF2582-5-1中断源及中断入口 1外部中断类 从单片机外部引脚 、 输入中断请求信号的中

23、断,即外部中断源有两个。输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚 、 输入。 两种触发方式:电平触发及跳变(边沿)触发。这两种触发方式可以通过对TCON编程来选择。_0INT_1INT_1INT_0INT592 定时中断类 为满足定时或计数溢出处理的需要而设置。该中断请求是在单片机芯片内发生,无需设置引入端。3 串行口中断类 为串行数据的传送需要而设置。该中断请求发生在芯片内部。 RI或TI串行中断请求。当接收或发送完一帧数据时,使内部串行口中断请求标志RI或TI=1,请求中断。602-5-2 中断请求标志1 TCON中的中断标志(可位寻址

24、) D7 D6 D5 D4 D3 D2 D1 D0 IT0(IT1):外部中断0(或1)触发方式控制位。 被设置为0,则选择外部中断为电平触发方式; 被设置为1,则选择外部中断为边沿触发方式。 IE0(IE1):外部中断0(或1)的中断请求标志位。硬件自硬件自动清动清0(边沿触发)。(边沿触发)。 TF0(TF1):T0(T1)溢出中断标志。CPU响应该中断后由硬件自动清硬件自动清0,也可由软件清,也可由软件清0。TF1TF0IE1IT1IE0IT0612 SCON中的中断标志(可位寻址)TI串行发送中断标志。CPU将一个字节数据写入发送缓冲器后启动发送,每发送完一个串行帧,硬件置位TI。但C

25、PU响应后,不能自动清除TI,必须由软件清除软件清除。RI接收中断标志。在串行口允许接收时,每接收完一个串行帧,硬件置位RI。但CPU响应后,不能自动清除TI,必须由软件清除软件清除。 SMODTIRI622-5-3 中断控制1 中断允许控制IE(可位寻址) D7 D6 D5 D4 D3 D2 D1 D0字节地址A8HEA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1,开放中断。EA的作用是使中断允许形成两级控制。ET2:T2中断允许位。为0,禁止T2中断; 反之允许。ES:串行口中断允许位。ES=0,禁止串行口中断;ES=1允许串行口中断。EA ET2 ESET1EX1 ET0EX

26、063ET1(ET0):定时器/计数器T1(T0)的溢出中断允许位。ET1(ET0)=0,禁止T1(T0)中断;ET1(ET0)=1,允许T1(T0)中断。EX1:外部中断1( )的中断允许位。EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。同理:EX0_1INT642 中断优先级控制(1) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。(2) 正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。(3) CPU同时接收到几个中断请求时,首先响应优先

27、级最高的中断请求。89C52的中断源有两个用户可控的中断优先级,从而可实现二级中断嵌套。中断系统遵循如下三条规则:65中断优先级控制IP(可位寻址) D7 D6 D5 D4 D3 D2 D1 D0字节地址B8H PT2:定时器/计数器T2的中断优先级控制位。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器T1的中断优先级控制位。 PX1:外部中断 的中断优先级控制位。 PT0:定时器/计数器T0的中断优先级控制位。 PX0:外部中断 的中断优先级控制位。 PT2PSPT1PX1 PT0PX0_1INT_0INT66 中中 断断 优优 先先 级排序级排序中 断 源同级的中断优先级 外部中断0 定时器/计数器0中断 外部中断1 定时器/计数器1中断 串行口中断 定时器/计数器2中断最高 最低672-5-4 中断处理过程一中断响应1 CPU的中断响应条件: 1)有中断源发出中断请求; 2)EA=1; 3)申请中断的中断源的中断允许位为1。 但如果有下列任一种情况存在,中断响应会受阻: 1)CPU正在处理同级或更高级的中断。 2)现行机器周期不是执行指令的最后1个机器周期。 3)正在执行指令为RETI或是对IE、IP的写操作指令。682 中断响应过程CPU响应中断后,由硬件自动执行如下的功能操作:(1) 根据中断请求源的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论