[信息与通信]第2章 89C51单片机的硬件结构.ppt

上传人:音乐台 文档编号:2001057 上传时间:2019-01-30 格式:PPT 页数:64 大小:1.31MB
返回 下载 相关 举报
[信息与通信]第2章 89C51单片机的硬件结构.ppt_第1页
第1页 / 共64页
[信息与通信]第2章 89C51单片机的硬件结构.ppt_第2页
第2页 / 共64页
[信息与通信]第2章 89C51单片机的硬件结构.ppt_第3页
第3页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[信息与通信]第2章 89C51单片机的硬件结构.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第2章 89C51单片机的硬件结构.ppt(64页珍藏版)》请在三一文库上搜索。

1、第2章 89C51单片机的硬件结构,2.1 89C51的片内结构,“三总线”模式,1.CPU(微处理器):8位 2.数据存储器(RAM) 片内为128个字节(52子系列的为256个字节) 片外最多扩展64KB 3.程序存储器(ROM/EPROM) 8031:无此部件; 8051:4K字节ROM; 8751:4K字节EPROM ; 89C51/89C52/89C55:4K/8K/20K 字节闪存; 片外最多扩展64KB,4.中断系统:5个中断源,2个优先级 5.定时器/计数器: 2个16位定时计数器,4种工作方式 6.串行口: 1个全双工的异步串行口,具有4种工作方式 7.P0口、P1口、P2口

2、、P3口: 为4个并行8位I/O口。 8.特殊功能寄存器: SFR:Special Function Register 共有21个,是一个具有特殊功能的RAM区,2.2 89C51的引脚 40只引脚 双列直插封装(DIP) 注意兼容性,CPU多采用PGA(Pin Grid Array,引脚网格阵列)封装,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口的外部引脚。,AT89S5

3、2结构框图,AT89S52封装引脚图,2.2.1 电源及时钟引脚 1电源引脚 (1)Vcc(40脚):+5V电源; (2)Vss(20脚):接地。 2时钟引脚 (1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上; (2)XTAL2(18脚):接外部晶体的另一端或悬空。,2.2.2 控制引脚 提供控制信号,有的引脚还具有复用功能。 RST (9脚):复位信号输入端,复位信号至少保持2个机器周期的高电平;正常工作时为低电平(=0.5V)。 (2)EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚) E

4、A*为内外程序存储器选择控制端。 EA*=1,访问片内程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。 EA*=0,单片机则只访问外部程序存储器,地址为0000H0FFFFH。 VPP为本引脚的第二功能,用于施加编程电压(例如+21V或+12V)。 对89C51,加在VPP脚的编程电压为+12V或+5V。,(3)ALE/PROG*(Address Latch Enable/ Programming,30脚): 第一功能:ALE为低8位地址锁存允许信号,在下降沿将P0口发出的低8位地址

5、所存在外部地址锁存器中。 第二功能:PROG*为编程脉冲输入端。 (4) PSEN* (Program Strobe Enable,29脚): 外部程序存储器的读选通信号。一般接外部程序存储器的OE*端。,2.2.3 I/O口引脚 (1) P0口:双向8位三态I/O口,地址总线(低8位)及数据总线分时复用口,作为通用I/O口时需加上拉电阻。 (2) P1口:8位准双向I/O口。 (3) P2口:8位准双向I/O口,与地址总线(高8位)复用。 (4) P3口:8位准双向I/O口,双功能复用口,见表2.1。 注意:准双向口与双向三态口的差别 当准双向I/O口作输入口使用时,要向该口先写“1”。 准

6、双向I/O口无高阻 “浮空”状态。,表2.1 P3口的第二功能,访问外部程序存储器的连接,访问外部数据存储器的连接,2.3 89C51的CPU 由运算器和控制器所构成 2.3.1 运算器 对操作数进行算术、逻辑运算和位操作。 1算术逻辑运算单元ALU 2累加器A:单词accumlator 使用最频繁的寄存器,也可写为Acc。 A的作用: (1)是ALU的输入之一,又是运算结果的存放单元。 (2)数据传送大多都通过累加器A。MCS-51增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。 A的进位标志Cy同时又是位处理机的位累加器。,3程序状态字寄存器PS

7、W(Program Status Word) (1)Cy(PSW.7)进位标志位,单词carry (2)Ac(PSW.6)辅助进位标志位,用于BCD码的十 进制调整运算,当D3位向D4位进借位时Ac=1。 (3)F0(PSW.5)用户自定义标志位。 (4)RS1、RS0(PSW.4、PSW.3):工作寄存器区选择控制位1和位0,用于选择4组中的1个作为当前工作寄存器区。,(5)OV(PSW.2)溢出标志位 (6)PSW.1位:保留位,未用 (7)P(PSW.0):奇偶标志位,常用于串行通信中校验数据。 P=1,A中“1”的个数为奇数 P=0,A中“1”的个数为偶数,2.3.2 控制器 主要任务

8、时识别指令,并根据指令的性质去控制各功能部件,从而保证各部分能自动协调工作。 1程序计数器PC(Program Counter) 存放下一条要执行的指令在程序存储器中的地址; 无访问指令; 16位寄存器,可对64KB程序存储器进行寻址; 复位时PC=0000H; 基本工作方式有以下几种: (1)程序计数器自动加1 (2)执行有条件转移或无条件转移、子程序调用或中断调用指令时, PC将被置入新的数值,从而使程序的流向发生变化。 2指令寄存器IR、指令译码器及定时控制逻辑电路,2.4 89C51存储器的结构 哈佛结构:程序存储器和数据存储器分开 89C51存储器空间可划分为5类: 1.程序存储器空

9、间 2.片内数据存储器空间 3.特殊功能寄存器SFR 4.位地址空间 5.外部数据寄存器空间,2.4.1 程序存储器 系统运行过程中只读; 用于存放程序和表格之类的固定常数; 分为片内和片外两部分,由EA*引脚上所接的电平确定; 片内程序存储器为4KB的Flash存储器,可以使用编程器编程,也可以在线编程(ISP,In System Program ); 程序存储器中的0000H地址是系统程序的启动地址;,图2-5,程序存储器中有5个单元具有特殊用途; 一般在0000H和中断入口地址处存放跳转指令。,2.4.2 内部数据存储器 128B的存储空间; 字节地址为00H7FH。 00H1FH:32

10、个单元, 是4组通用工作寄存器区 20H2FH:16个单元, 可进行128位的位寻址 30H7FH:用户RAM区, 只能字节寻址, 用作数据缓冲区以及堆栈区,2.4.3 特殊功能寄存器(SFR) 通过特殊功能寄存器,CPU可以对片内各种功能部件进行集中控制; 共21个SFR; 地址范围80HFFH,其字节地址的末位是0H或8H的单元可位寻址。 ; SFR的名称及其分布:参见表2.4。,表2.4 SFR的名称及其分布,1堆栈指针SP 指示堆栈顶部在内部RAM块中的位置; 复位后,SP中的内容为07H,最好在运行程序前进行更改; 向上生长型堆栈; 堆栈的功能:保护断点、现场保护 2. 数据指针DP

11、TR 作为对外部数据存储器寻址的指针; 高8位字节寄存器用DPH表示,低8位字节寄存器用DPL表示。 3. I/O端口P0P3 P0P3分别为I/O端口P0P3的锁存器。,4.寄存器B 为执行乘法和除法操作设置的。 在不执行乘、除的情况下,可当作一个普通寄存器来使用。 5.串行数据缓冲器SBUF 由两个独立的寄存器组成:发送缓冲器,接收缓冲器。 存放欲发送或已接收的数据,一个字节地址,物理上是两个独立寄存器。 6.定时器/计数器 两个16位定时器/计数器T1和T0,各由两个独立的8位寄存器组成: TH1、TL1、TH0、TL0,只能字节寻址,但不能把T1或T0当作一个16位寄存器来寻址访问。,

12、2.4.4 位地址空间 211个寻址位; 位地址范围为:00HFFH; 内部RAM的可寻址位位128个见表2.5; 特殊功能寄存器SFR为83个可寻址位,见表2.6。 2.4.5 外部数据存储器 89C51最多可外扩64K字节的RAM; 使用专用指令访问。,表2.5 内部RAM的可寻址位及位地址,表2.6 SFR中的位地址分布,注意:使用各类存储器时 (1) 地址的重叠性 程序存储器(ROM)与数据存储器(RAM)全部64K字节地址空间重叠); (2)程序存储器(ROM)与数据存储器(RAM)空间相互独立,各有不同的访问指令; (3)位地址空间共有两个区域; (4)片外数据存储区中,RAM与I

13、/O端口统一编址。 所有外围I/O端口的地址均占用RAM单元地址,使用与访问外部数据存储器相同的传送指令。,图2.6 89C51单片机的存储器结构,2.5 时钟电路与时序 时钟电路用于产生89C51单片机工作所必需的时钟控制信号。 在执行指令时,CPU首先到程序存储器中读取指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定的操作。 时序信号有两类: 用于片内对各功能部件的控制; 用于对片外存储器和I/O端口的控制。 2.5.1 时钟电路 时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。 常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。,1、内部时钟方式 片

14、内一个用于构成振荡器的高增益反相放大器,反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。 晶体的振荡频率在1.2MHz12MHz之间。某些高速单片机芯片(如89S52)的时钟频率已达40MHz。,图2.6 内部时钟方式,C1和C2典型值通常选择为30pF左右,2、外部时钟方式 常用于多片89C51单片机同时工作的场合。,图2.7 外部时钟方式,2.5.2 机器周期、指令周期与指令时序 单片机执行的指令的各种时序均与时钟周期有关 1、时钟周期 单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则时钟周期 Tosc=1/fosc 例如:fosc=6MHz,Tosc=166.7

15、ns。 2、机器周期 CPU完成一个基本操作所需的时间称为机器周期。 执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。对于89C51单片机,有 12个时钟周期=1个机器周期,一个机器周期又分为6个状态:S1S6。每个状态又分为两拍:P1和P2。 因此,一个机器周期中的12个时钟周期表示为: S1P1、S1P2、S2P1、S2P2、S6P2,3、指令周期 执行一条指令所需的时间,即指令周期; 一般单字节指令单机器周期,双字节和三字节指令双机器周期; 乘除指令四个机器周期。 执行任何一条指令时,都可分为取指令阶段和指令执行阶段。 取指令阶段:PC中地址送到程序存储器,并从中取出需要执行

16、指令的操作码和操作数。 指令执行阶段:对指令操作码进行译码,以产生一系列控制信号完成指令的执行。 ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现,在一个机器周期中,ALE信号两次有效(但要注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲),4、工作时序,2.6 复位操作和复位电路 2.6.1 复位操作 即单片机的初始化操作; 复位有三种:上电复位、运行复位和掉电复位; 引脚RST加上大于2个机器周期的高电平进行复位; 复位操作对寄存器的影响参见表2.7; 在复位有效期间,ALE脚和PSEN*脚均为高电平,内部RAM的状态不受复位的影响。,表2.7 复位时片内寄

17、存器的状态,2.6.2 复位电路,图2.9 89C51的片内复位结构,复位电路通常采用上电自动复位和按钮复位两种方式。 1.上电自动复位电路:,2.按键手动复位:,2.7 并行I/O端口 4个双向的8位并行I/O端口(Port) ,记作P0P3 属于特殊功能寄存器,还可位寻址。 2.7.1 P0端口,P0口某一位的电路包括: (1) 一个数据输出锁存器,用于数据位的锁存; (2) 两个三态的数据输入缓冲器; (3) 一个多路转接开关MUX,使P0口可作通用I/O口,或地址/数据线口; (4) 数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。,一、P0口作为地

18、址或数据总线使用 CPU发出控制信号为高电平,打开上面的与门,使MUX打向上边,使内部地址/数据线与下面的场效应管反相接通。此时由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。,二、P0口作通用的I/O口使用 CPU发来的“控制”信号为低电平,上拉场效应管截止,MUX打向下边,与D锁存器的Q*端接通。 (1) P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。 注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。 (2) P0作输入口使用 区分“读引脚”和“读锁存器”

19、。 “读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线; “读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。,P0口做地址/数据总线口(多路开关打到上边): (输出)如果做地址总线口用,或向外RAM写数据时,直接通过推挽结构输出; (输入)如果做读外部RAM数据、读外ROM指令时(多路开关打到下边、V1管截止),CPU自动先对P0写0XFF,然后通过读引脚的三态门电路将要读的数据或指令读到内部的 数据总线。 P0口做普通I/O口(多路开关打到下边): (输出)当内部总线向D触发器写0时,P0.x口为低电平,当内部总线向D触发器写1时,P0.x为高阻态; (输入)先向

20、P0.x写1,使其变为高阻态,然后再通过读引脚的三态门电路将数据读到内部的 数据总线。 双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写或者不写。,2.7.2 P1端口 字节地址90H,位地址90H97H。 P1口只作通用的I/O口使用,电路结构与P0口两点区别: (1)因为只传送数据,不再需要多路转接开关MUX。 (2)由于P1口用来传送数据,因此输出电路中有上拉电阻,这样电路的输出不是三态的,所以P1口是准双向口。 因此: (1)P1口作为输出口使用时,外电路无需再接上拉电阻。 (2)P1口作为输入口使用时,应先向其锁存器先写入 “1”,使输出驱动电路的FET截止。,2

21、.7.3 P2端口 字节地址为A0H,位地址A0HA7H。,在实际应用中,因为P2口大多作为地址线使用,提供高8位地址,多路转接开关MUX的一个输入端不再是“地址/数据”,而是单一的“地址”,多路转接开关接向“地址”端。正因为只作为地址线使用, P2口的输出用不着是三态的,所以是准双向口。 P2口也可作为通用I/O口使用,这时,多路转接开关MUX接向锁存器Q端。,2.7.4 P3端口 P3口的字节地址为B0H,位地址为B0HB7H 。 P3口的第二功能定义,应熟记。,表2-5 P3口的第二功能定义 口引脚 第二功能 P3.0 RXD(串行输入口)-输入 P3.1 TXD(串行输出口)-输出 P

22、3.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输出:“第二输出功能”线应保持高电平,与非门开通,使锁存器Q端输出畅通。 通用I/O

23、输入:取自三态缓冲器的输出端。 P3口无论作哪种输入,锁存器输出和“第二输出功能”线都应保持高电平。,2.7.5 P0P3端口功能总结 使用中应注意的问题: (1)P0P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。 而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。 P0口的MUX的一个输入端为“地址/数据”信号。 P2口的MUX的一个输入信号为“地址”信号。,(2)在4个口中只有P0口是一个真正的双向口,P1P3口都是准双向口。 原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此,P0口的输出缓冲器应为三态门。 P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。 P1P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的准双向口。,(3)P3口的口线具有第二功能,为系统提供一些控制信号。 因此P3口增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1