《第2章MCS-51单片机硬件结构.ppt》由会员分享,可在线阅读,更多相关《第2章MCS-51单片机硬件结构.ppt(58页珍藏版)》请在三一文库上搜索。
1、第2章 MCS-51单片机的硬件结构 片内结构如图2-1所示:,介绍图2-1中的各功能部件: 1.CPU(微处理器) 2.数据存储器(RAM) 片内为128个字节(52子系列的为256个字节) 3.程序存储器(ROM/EPROM) 8031:无此部件; 8051:4K字节ROM; 8751:4K字节EPROM ; 89C51/89C52/89C55:4K/8K/20K 字节闪存。 4.中断系统 5.定时器/计数器,6. 串行口 1个全双工的异步串行口,具有四种工作方式。 7. P1口、P2口、P3口、P0口 为4个并行8位I/O口。 8. 特殊功能寄存器(SFR) 共有21个,是一个具有特殊功
2、能的RAM区。 2.2 MCS-51的引脚 40只引脚双列直插封装(DIP)。,44只引脚方形封装方式(4只无用),40只引脚按功能分为3类: (1)电源及时钟引脚: Vcc、Vss;XTAL1、XTAL2。 (2)控制引脚: PSEN*、EA* 、ALE、RESET (即RST)。 (3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。 2.2.1 电源及时钟引脚 1电源引脚 (1)Vcc(40脚):+5V电源; (2)Vss(20脚):接地。,2时钟引脚 (1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上。 (2)XTAL2(18脚
3、):接外部晶体的另一端或悬空。 2.2.2 控制引脚 提供控制信号,有的引脚还具有复用功能。 (1) RST/VPD(9脚):复位与备用电源。 (2) ALE/PROG*(30脚): 第一功能:ALE为地址锁存允许,可驱动8个LS型TTL负载。 第二功能:PROG*为编程脉冲输入端。,(3) PSEN* (29脚):外部程序存储器的读选通信号。可驱动8个LS型TTL负载。 (4) EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚) EA*为内外程序存储器选择控制端。 EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FF
4、FH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。 EA*=0,单片机则只访问外部程序存储器。,VPP为本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对89C51,加在VPP脚的编程电压为+12V或+5V。 2.2.3 I/O口引脚 (1) P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。 (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。 (3) P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。,(4) P3口
5、:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。 注意:准双向口与双向三态口的差别。 当3个准双向I/O口作输入口使用时,要向该口先写“1”。 准双向I/O口无高阻 “浮空”状态。 2.3 MCS-51的CPU 由运算器和控制器所构成 2.3.1 运算器 对操作数进行算术、逻辑运算和位操作。,1算术逻辑运算单元ALU 2累加器A 使用最频繁的寄存器,可写为Acc。 A的作用: (1)是ALU的输入之一,又是运算结果的存放单元。 (2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。 A的进位标志
6、Cy同时又是位处理机的位累加器。,3程序状态字寄存器PSW (1)Cy(PSW.7)进位标志位 (2)Ac(PSW.6) 辅助进位标志位,用于BCD码的十 进制调整运算。 (3)F0(PSW.5)用户使用的状态标志位。 (4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。,RS1 RS0 所选的4组寄存器 0 0 0区(内部RAM地址00H07H) 0 1 1区(内部RAM地址08H0FH) 1 0 2区(内部RAM地址10H17H) 1 1 3区(内部RAM地址18H1FH) (5)OV(PSW.2)溢出标志位 指示运算是否产生溢出。各种算术运算指令对该位的影
7、响情况较复杂,将在第3章介绍。 (6)PSW.1位: 保留位,未用 (7)P(PSW.0)奇偶标志位 P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数,2.3.2 控制器 1程序计数器PC(Program Counter) 存放下一条要执行的指令在程序存储器中的地址。 基本工作方式有以下几种: (1)程序计数器自动加1 (2)执行有条件转移或无条件转移指令时, PC将被置入新的数值,从而使程序的流向发生变化。 (3)执行子程序调用或中断调用,完成下列操作: PC的现行值保护 将子程序入口地址或中断向量的地址送入PC。,2指令寄存器IR、指令译码器及控制逻辑电路 2.4 MCS-5
8、1存储器的结构 哈佛结构 存储器空间可划分为5类: 1.程序存储器空间 8031无内部程序存储器。 2.片内数据存储器空间 3.特殊功能寄存器SFR-Special Function Register 4.位地址空间: 211个可寻址位。 5.外部数据寄存器空间:片外可扩展64K字节RAM。,2.4.1 程序存储器 存放应用程序和表格之类的固定常数。 分为片内和片外两部分,由EA*引脚上所接的电平确定。 程序存储器中的0000H地址是系统程序的启动地址 5个单元具有特殊用途 表2-1 5种中断源的中断入口地址 外中断0 0003H 定时器T0 000BH 外中断1 0013H 定时器T1 00
9、1BH 串行口 0023H,2.4.2 内部数据存储器 128个,字节地址为00H7FH。,00H1FH:32个单元,是4组通用工作寄存器区 20H2FH:16个单元,可进行128位的位寻址 30H7FH:用户RAM区,只能字节寻址,用作数据缓冲区以及堆栈区。 2.4.3 特殊功能寄存器(SFR) CPU对各种功能部件的控制采用特殊功能寄存器集中控 制方式,共21个。有的SFR可进行位寻址。 表2-2(P21)是SFR的名称及其分布。 其字节地址的末位是0H或8H可位寻址。 下面介绍SFR块中的某些寄存器。,表2-2 SFR的名称及其分布,1堆栈指针SP 指示堆栈顶部在内部RAM块中的位置 复
10、位后,SP中的内容为07H。 (1)保护断点 (2)现场保护 堆栈向上生长 2. 数据指针DPTR 高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。 3. I/O端口P0P3 P0P3分别为I/O端口P0P3的锁存器。,4.寄存器B 为执行乘法和除法操作设置的。 在不执行乘、除的情况下,可当作一个普通寄存器来使用。 5.串行数据缓冲器SBUF 由两个独立的寄存器组成:发送缓冲器,接收缓冲器。 存放欲发送或已接收的数据,一个字节地址,物理上是两个独立寄存器。 6.定时器/计数器 两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成: TH1、TL1、TH0、TL0,只能字节寻
11、址,但不能把T1或T0当作一个16位寄存器来寻址访问。,2.4.4 位地址空间 211个(128个+83个)寻址位。位地址范围为:00HFFH。 内部RAM的可寻址位128个(字节地址20H2FH)见表2-3(P24)。 特殊功能寄存器SFR为83个可寻址位,见表2-4(P24)。,表2-3 内部RAM的可寻址位及位地址,表2-4 SFR中的位地址分布,2.4.5 外部数据存储器 最多可外扩64K字节的RAM或I/O 。 使用各类存储器,注意几点: (1) 地址的重叠性 程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠)。,(2)程序存储器(ROM)与数据存储器(RAM)在
12、使用上是严格区分的 。 (3)位地址空间共有两个区域。 (4)片外数据存储区中,RAM与I/O端口统一编址。 所有外围I/O端口的地址均占用RAM单元地址,使用与访问外部数据存储器相同的传送指令。 图2-6为各类存储器在存储器空间的位置的总结。,2.5 并行I/O端口 4个双向的8位并行I/O端口(Port) ,记作P0P3 属于特殊功能寄存器,还可位寻址。 2.5.1 P0端口,P0口某一位的电路包括: (1) 一个数据输出锁存器,用于数据位的锁存 (2) 两个三态的数据输入缓冲器。 (3) 一个多路转接开关MUX,使P0口可作通用I/O口,或地址/数据线口。 (4) 数据输出的驱动和控制电
13、路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。 一、P0口作为地址或数据总线使用 CPU发出控制信号为高电平,打开上面的与门,使MUX打向上边,使内部地址/数据线与下面的场效应管反,相接通。此时由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。 二、P0口作通用的I/O口使用 CPU发来的“控制”信号为低电平,上拉场效应管截止,MUX打向下边,与D锁存器的Q*端接通。 (1) P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。 注意:由于输出电路是漏极开路(因为这时上拉场效,应管截止),必须外
14、接上拉电阻才能有高电平输出。 (2) P0作输入口使用 区分“读引脚”和“读锁存器”。 “读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线; “读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。 2.5.2 P1端口 字节地址90H,位地址90H97H。,P1口只作通用的I/O口使用,电路结构与P0口两点区别: (1)因为只传送数据,不再需要多路转接开关MUX。 (2)由于P1口用来传送数据,因此输出电路中有上拉电阻,这样电路的输出不是三态的,所以P1口是准双向口。 因此: (1)P1口作为输出口使用时,外电路无需再接上拉电 阻。 (2)P1口作为输入口使用时,应先向
15、其锁存器先写入 “1”,使输出驱动电路的FET截止。,2.5.3 P2端口 字节地址为A0H,位地址A0HA7H。,在实际应用中,因为P2口大多作为地址线使用,提供高8位地址,多路转接开关MUX的一个输入端不再是“地址/数据”,而是单一的“地址”,多路转接开关接向“地址”端。正因为只作为地址线使用, P2口的输出用不着是三态的,所以是准双向口。 P2口也可作为通用I/O口使用,这时,多路转接开关MUX接向锁存器Q端。,2.5.4 P3端口 P3口的字节地址为B0H,位地址为B0HB7H 。 P3口的第二功能定义,应熟记。,表2-5 P3口的第二功能定义 口引脚 第二功能 P3.0 RXD(串行
16、输入口)-输入 P3.1 TXD(串行输出口)-输出 P3.2 INT0* (外部中断0)-输入 P3.3 INT1* (外部中断1)-输入 P3.4 T0(定时器0外部计数输入) P3.5 T1(定时器1外部计数输入) P3.6 WR* (外部数据存储器写选通)-输出 P3.7 RD* (外部数据存储器读选通)-输出,一、P3的引脚作第二功能使用 第二功能信号输出:锁存器预先置“1”,使与非门对“第二输出功能”信号的输出是畅通的。 第二功能信号输入:在口线引脚的内部增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。 二、P3的引脚作通用I/O使用 通用I/O输出:“第二输出功能”线应保
17、持高电平,与非门开通,使锁存器Q端输出畅通。 通用I/O输入:取自三态缓冲器的输出端。,P3口无论作哪种输入,锁存器输出和“第二输出功能”线都应保持高电平。 2.5.5 P0P3端口功能总结 使用中应注意的问题: (1)P0P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。 而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。,P0口的MUX的一个输入端为“地址/数据”信号。 P2口的MUX的一个输入信号为“地址”信号。 (2)在4个口中只有P0口是一个真正的双向口,P1P3口都是准双向口。 原因:P0口作数
18、据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此,P0口的输出缓冲器应为三态门。,P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。 P1P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的准双向口。 (3)P3口的口线具有第二功能,为系统提供一些控制信号。 因此P3口增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。,2.6 时钟电路与时序 时钟电路用于产生MCS-51单片机工作所必需的时钟控制信号。 2.6.1 时钟电路 时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性
19、。 常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。,一、内部时钟方式 片内一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。,图2-11,C1和C2典型值通常选择为30pF左右。 晶体的振荡频率在1.2MHz12MHz之间。某些高速单片机芯片的时钟频率已达40MHz。 二、外部时钟方式 常用于多片MCS-51单片机同时工作。,图2-12,三、时钟信号的输出 为应用系统中的其它芯片提供时钟,但需增加驱动能力。,2.6.2 机器周期、指令周期与指令时序 单片机执行的指令的各种时序均与时钟周期有关 一、时钟周期 单片机的基本时间单位。若时钟
20、的晶体的振荡频率为fosc,则时钟周期Tosc=1/fosc。; 例如:fosc=6MHz,Tosc=166.7ns。 二、机器周期 CPU完成一个基本操作所需的时间称为机器周期。 执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个时钟周期为1个机器周期,,一个机器周期又分为6个状态:S1S6。每个状态又分为两拍:P1和P2。 因此,一个机器周期中的12个时钟周期表示为: S1P1、S1P2、S2P1、S2P2、S6P2。 三、指令周期,执行任何一条指令时,都可分为取指令阶段和指令执行阶段。 取指令阶段,PC中地址送到程序存储器,并从中取出需要执行指令的操作
21、码和操作数。 指令执行阶段,对指令操作码进行译码,以产生一系列控制信号完成指令的执行。 ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(但要注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲),2.7 复位操作和复位电路 2.7.1 复位操作 单片机的初始化操作,摆脱死锁状态。 引脚RST加上大于2个机器周期的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。 除PC之外,复位操作还对其它一些寄存器有影响,见表2-6(P34)。 SP=07H ,P0-P3的引脚均为1(高电平)。,在复位有效期间,ALE脚和PSEN*脚均为高电平,内部RAM的状态不受复位的影响。 2.7.2 复位电路 片内复位结构:,复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路:,按键手动复位,有电平方式和脉冲方式两种。 电平方式:,脉冲方式:,两种实用的兼有上电复位与按钮复位的电路。,图2-19中(b)的电路能输出高、低两种电平的复位控制信号,以适应外围I/O接口芯片所要求的不同复位电平信号。 74LS122为单稳电路,实验表明,电容C的选择约为0.1F较好。,
链接地址:https://www.31doc.com/p-2070316.html