




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 89C51单片机 硬件结构和原理,89C51是Atmel公司在8051基础上发展的8位单片机。介绍它的硬件结构、操作时序和工作方式,这是89C51应用的重要基础知识。,3.1 89C51单片机的基本组成,3.1.1 MCS-51系列单片机,Intel公司推出的8位单片机: 1976年推出的MCS-48系列: 8039, 8048等 1980年推出了MCS-51系列: 8031, 8051, 8751, 8052等. 其中8051成为重要的品种,应用和普及得非常广泛。,Philips、 Siemems 、 Atmel、SST等半导体公司,也生 产出与8051相兼容的低功耗、高性能的产品。
2、,ATMEL公司的89C51系列产品是近年来在我国非常流行的单片机,本书以AT89C51单片机作为典型,详细介绍其内部结构、指令系统和工作原理。,3.1.2 89C51单片机的基本组成,89C51单片机基本组成包括有:,一个8位的微处理器; 片内数据存储器RAM有128B, 21个特殊功能寄存器SFR; 片内程序存储器Flash ROM 有4KB; 可寻址片内外统一编址的64KB的ROM, 可寻址片外64KB的RAM; 4个8位并行I/O接口(P0P3); 一个全双工通用异步串行接口UART; 两个16位的定时器/计数器; 五个中断源、两个优先级的中断控制系统; 具有位操作功能的布尔处理机及位
3、寻址功能; 片内振荡器和时钟产生电路。,3.1.3 89C51单片机的引脚,1. 电源引脚:Vcc (40脚):电源端,接+5V电源。 Vss (20脚):接地端,接+5V电源地端,XTAL1(19脚): 片内振荡电路反相放大器输入 XTAL2(18脚): 片内振荡电路反相放大器输出 当采用内部时钟时,片外连接石 英晶体和微调电容,产生原始 的振荡脉冲信号。 采用外部时钟时, XTAL1输入 外部时钟脉冲信号, XTAL2悬空.,2. 外接晶体引脚:XTAL1和XTAL2 89C51内部有一个振荡器和时钟产生电路。,3. 控制信号引脚:RST、ALE、PSEN、EA,RST (9脚) : 复位
4、信号输入端,高电平有效。 保持两个机器周期高电平时,完成复位操作。,ALE/PROG (30脚) : 地址锁存允许输出端/编程脉冲输入端 正常时,连续输出振荡器频率的1/6正脉冲信号。 访问片外存储器时: 作为锁存P0口低8位地址的控制信号。 对8751片内 ROM编程写入时: 作为编程脉冲输入端。,EA/Vpp (31脚): 外部程序存储器地址使能输入/编程电压输入端. 平常,接“1”时,CPU访问片内4KB的ROM,当地 址超4KB时,自动转向片外ROM中的程序。 当接“0”时,CPU只访问片外ROM。 第2功能Vpp对8751编程时,编程电压输入端。,PSEN (29脚): 外部程序存储
5、器读选通输出信号 访问片外ROM时,输出负脉冲作为读ROM选通. 常连接到片外ROM芯片的输出允许端(OE)作 外部ROM的读选通信号。,4. 输入/输出端口引脚 P0、P1、P2、P3,4个8位的并行输入/输出端口,共32个引脚。作为通用输入/输出端口,P0、P2和P3端口又各自有第2功能。, 通用输入/输出端口 准双向口: 作输入时要先对锁存器写“1”。,P0端口(P0.0P0.7,第3932脚): 漏极开路的准双向口,输出能驱动8个74LS类型的负载.,P1端口(P1.0P1.7,第18脚): 内部带上拉电阻的准双向口,输出能驱动4个74LS负载.,P2端口(P2.0P2.7,第2128
6、脚): 内部带上拉电阻的准双向口,输出能驱动4个74LS负载.,P3端口(P3.0P3.7,第1017脚): 内部带上拉电阻的准双向口,输出能驱动4个74LS负载.,. P0、P2、P3端口的第二功能,P0端口: 在CPU访问外部存储器或I/O接口时,P0口分时 提供低8位地址(A0-A7)和8位数据(D0-D7)总线。 这时,需要一个8位锁存器,利用ALE(地址锁存允 许)来锁存P0口低8位地址信号。,P2端口:在CPU访问外部存储器或I/O接口时,P2口提供 高8位地址(A8-A15)的总线信号。,P3端口:在CPU访问外部存储器或I/O接口时,P3口提供 读、写控制总线信号。 还提供串行
7、通信、外部中断、计数器的外部计 数输入信号等。如表3.4所示。,P3口的第二功能,3.3 89C51单片机中的CPU结构,3.3.1 运算器,算术/逻辑运算单元 ALU 对4位、8位、十六位数据完成算术运算、逻辑运算。,2. 累加器 ACC 8位的寄存器。其中经常存放一个操作数、中间结果和运算结果。用助记符A来表示。在位操作时,累加器A中的每一位都可以位寻址,这时助记符号写成 ACC.X,3. 寄存器 B 8位的寄存器。它可作通用寄存器来使用。 在乘法时,B存放乘数和乘积的高位字节。 在除法时,B存放除数和结果的余数。,4. 程序状态标志寄存器 PSW,PSW的各位包含了程序执行后的状态信息,
8、供程序查询或判别之用。 除有确定的字节地址(D0H)外,每一位均有位地址,可以位操作。,CY (PSW.7): 进位标志位; 位操作时,CY作为位累加器使用。 AC (PSW.6):辅助进位标志,又称半进位标志位。 RS0 和 RS1 (PSW.3和PSW.4): 工作寄存器组选择控制位,OV (PSW.2): 溢出标志位 当算术运算时,如果运算结果超出范围,即产生溢出。 溢出时,OV自动置“1”;无溢出时,OV自动清“0”。 P (PSW.0): 奇偶校验标志位 反映累加器ACC中“1”的个数的奇偶情况。89C51中采用偶校验,当A中有奇数个“1”时,P标志置“1”,否则置“0”.,F0 (
9、PSW.5): 用户标志位。 PSW.1: 为保留位。89C51未用。,5. 布尔处理器 即位处理器。用来完成位数据的传送、逻辑运算和位条件转移等。有17条位操作指令。,3.3.2 控制器,包括指令部件、时序电路、微操作信号产生电路等,功能: 根据程序计数器PC指示的地址到ROM中取指令, 取到指令寄存器IR中,然后由指令译码器ID进行 译码,按照定时电路发出的时序信号,产生微操 作信号,完成指令所规定的操作。,1. 程序计数器PC : 16位的计数器,由两个8位的计数器PCH和PCL组成, 可以寻址64KB的程序存储器空间。 用来存放CPU要执行的下一条指令的地址。 复位后,PC内容为000
10、0H,程序从ROM的0000H执行. 当指令取出后,PC的内容自动增量,指向下一条指令. 转移、中断、子程序调用等过程中,改变PC的内容。,2. 指令寄存器 IR 和指令译码器 ID :,CPU读取的指令代码送入指令寄存器IR中,然后经 指令译码器ID对指令译码,按照定时控制电路的时序, 产生相应的微操作控制信号,完成指令所规定的操作。,3. 振荡器和定时电路,产生单片机的振荡信号,作为89C51的基本节拍。 在基本节拍控制下,发出指令要求的控制信号, 有条不紊、按部就班地完成指令所要求的功能。 时钟信号是计算机内部协调工作的时间基准,,3.4 89C51单片机的存储器,3.4.1 哈佛结构,
11、存储器是存放程序和数据的部件,普林斯顿结构: 把程序存储器ROM和数据存储器RAM 统一编址,安排在同一个存储空间中。 ROM和RAM分配不同的地址,使用同一类访问指令。 Intel的8088/8086微处理器,在PC机中采用这种结构。,哈佛结构:把程序存储器和数据存储器分开单独编址。 ROM和RAM安排在独立的地址空间,地址可以重叠。 有各自的访问指令,不同的寻址方式,不同的控制信号。 89C51单片机中使用了哈佛存储结构。在物理结构上 分为程序存储器空间和数据存储器空间,,89C51中使用哈佛存储结构,89C51中使用哈佛存储结构,地址空间分为三类:,片内、外统一编址的64KB程序存储器空
12、间, 用16位地址寻址,地址范围为0000HFFFFH。,片外64KB数据存储器空间, 用16位地址寻址,地址范围为0000HFFFFH。,片内256字节的数据存储器空间,用8位地址寻址. 低128字节为片内RAM,地址为00H7FH, 高128字节内有21个特殊功能寄存器SFR, 地址空间为80HFFH。,这三个空间有不同的数据传送指令、不同的寻址方式 和不同的硬件控制信号,因此不会混淆。,3.4.2 程序存储器,片内外统一编址的64KB程序存储器,地址0000H-FFFFH.,片内有4KB的 Flash ROM, 地址为0000H0FFFH。,引脚EA选择是否使用片内ROM: 当EA接低电
13、平时,CPU只从片外ROM中取指令。 EA接高电平时,先读片内 ROM.当地址超过4KB后,自动 转向片外ROM。片内外统一编址,最多可扩展到64KB.,CPU读取ROM指令为查表指令,用变址寻址, 分别为 : MOVC A,A+DPTR MOVC A , A+PC,CPU读取片外ROM时,发出PSEN信号(程序存储允 许输出),作为读ROM的选通控制信号。,程序存储器中的保留单元,3.4.3 片内数据存储器,89C51的数据存储器分为片内RAM和片外RAM两部分 .,片内数据存储器最大可寻址256个字节,分为两部分:,高128字节为特殊功能寄存器(SFR) 片内80HFFH中,分布着21个特
14、殊功能寄存器.,低128字节是真正的片内RAM 区,为128个字节。 用8位地址寻址,地址范围为00H7FH。 这128字节分为3部分: 工作寄存器区、位寻址区和用户数据缓冲区。,数据存储器存放运算的结果和数据的暂存,缓冲等。 特点是可读可写,断电后信息会丢失。 在单片机中使用的都是半导体静态RAM。, 工作寄存器区,32个工作寄存器00H1FH。 分为4组, 每组8个为R0-R7。 对PSW中RS1、RS0的设置, 选择当前工作寄存器组。 CPU复位后,自动选择第0组.,1. 片内RAM, 位寻址区,片内RAM的 20H2FH这16 个字节,可以 用位寻址方式 访问各位。 这128位的位地
15、址00H-7FH。 有专门的位操 作指令,采用位 寻址方式访问.,表3.7 128位 位地址分配表, 用户数据缓冲区,片内RAM的30H7FH作为用户数据缓冲区使用 。,数据传送指令为MOV, 有直接、间接寻址等寻址方式. 由于对片内操作,所以引脚上没有读写控制信号出现., 堆栈,89C51的堆栈是在片内RAM中专门开辟的一个区域, 它在片内00H7FH中,遵循“后进先出”的特点。,堆栈指针SP是8位的双向的计数器,初始化07H . 89C51的堆栈是向高地址(向上)生长 。,用途:在中断处理和子程序调用时,自动保存断点和 保存现场。也用指令进行数据的保存和调出。,2. 特殊功能寄存器(SFR
16、)区,片内80HFFH中, 分布着21个SFR。 SFR有自己的名称, 如: 累加器ACC、 寄存器B.等。 还有惟一的地址, 可用直接寻址方式. 其中11个(字节地 址正好能被8整除) 的SFR还可以位寻 址.各位还有助记名. 见表3.8,3.9 。,3.4.4 片外数据存储器,89C51可以扩展片外数据存储器RAM。 存储空间为64KB,地址范围为0000HFFFFH。,由P0口分时提供低8位地址A0-A7和数据总线D0-D7, 由P2口提供高8位地址A8A15。 执行访问指令时,由 RD (P3.7) , WR (P3.6) 控制 。 使用静态RAM, 如: 6264(8K8), 622
17、56 (32K8)等。,使用指令 MOVX。采用寄存器间接寻址 。,读:MOVX A,DPTR 或 MOVX A,Ri 写:MOVX DPTR,A 或 MOVX Ri,A,其中: DPTR为16位数据指针寄存器,寻址范围为64KB Ri为工作寄存器R0和R1,寻址范围低256B。,3.5 89C51单片机的I/O接口,4个8位的并行输入/输出端口,P0、P1、P2和P3端口。 都是准双向端口, P0、P2和P3端口有第二功能。,一个可编程的全双工的异步串行通信接口(UART)。 利用P3.0(RXD), P3.1(TXD)实现串行通信。,两个16位的定时器/计数器 T0 和 T1 。 为16位
18、的加1计数器,有定时、计数两种工作方式。,片外扩展I/O接口芯片。如:并行接口8255A,模拟量 输入芯片ADC0809、模拟量输出芯片DAC0832、新型 的通用I/O接口芯片等。,3.5.1 并行I/O端口 P0、P1、P2、P3,4个8位的并行I/O端口,称为P0、P1、P2、P3 。,作为通用输入/输出端口,都是8位准双向口。 准双向口:对于一个双向输入/输出端口,如果在作输入口使用时要先写入“1”。如:读入P1端口的数据指令: MOV P1,#0FFH MOV A ,P1 既可以字节操作,也可以按位操作。,P0、P2、P3口有各自的第二功能。,P0P3作为特殊功能寄存器,和内部RAM
19、统一编址。,1. P0 口,. P0口作通用I/O口 : 是一个准双向口。地址为80H。 输出漏极开路,可驱动8个74LS类型的TTL门电路。,. 分时复用的地址/数据总线: 外部扩展时 (MOVX或MOVC指令): P0口首先输出低8位地址,由 地址锁存器(74LS373)在ALE 信号作用下锁存 (A0-A7)。 然后P0口就作为双向的数据 总线 (D0-D7) 使用。 P2口输出高8位地址(A8-A15),2. P1口,8位准双向口,只作通用输入/输出口使用.,P1口作为一个特殊功能寄存器,和内部RAM统 一编址,地址为90H。,它可进行字节操作,用直接寻址方式。 也可以按位操作,用位寻
20、址方式,,输出可以驱动4个74LS类型的TTL门电路。,3. P2 口,. P2口作通用I/O口 : 是一个准双向口。地址为A0H。 可驱动4个74LS类型的TTL门电路。,. P2口作高8位地址总线 : 外部扩展时 ( MOVX 或 MOVC指令): P0口分时复用作; 低位地址(A0-A7) 数据总线(D0-D7) 用。 P2口输出高8位地址 A8-A15,4. P3 口,. P3口作通用I/O口 : 是一个准双向口。地址为 B0H。 输出可驱动4个74LS类型的TTL门电路。,. P3口作第二功能 :,3.5.2 串行端口 UART,可编程的全双工串行接口,通用异步接收/发送器(UART
21、),引脚 RXD (P3.0) 串行数据接收端, TXD (P3.1) 串行数据发送端.,有关的3个特殊功能寄存器:串行数据缓冲器 SBUF 串行口控制寄存器 SCON 电源控制寄存器 PCON,4种工作方式,由串行口控制寄存器SCON来设置。,方式0:移位寄存器输入/输出方式,方式1:10位异步接收/发送方式,方式2:11位异步接收/发送方式,方式3:11位异步接收/发送方式,串口应用在以后的章节中加以说明。,3.5.3 定时器/计数器 T0、T1,两个定时器/计数器T0和T1具有定时和计数的功能.,核心部分是一个16位的加1计数器,,定时器/计数器有关的特殊功能寄存器:,定时器工作方式寄存
22、器 TMOD,地址为89H。 定时器控制寄存器 TCON,地址为88H, 每个定时器由两个8位的特殊功能寄存器组成: T0由TH0(8CH)和TL0(8AH)组成; T1由TH1(8DH)和TL1(8BH)组成。,定时方式时,定时器对单片机的机器周期数进行计 数溢出时,向CPU提出中断请求或产生标志信号.,计数方式时,对接到引脚T0(即P3.4)端和引脚T1(即P3.5)端的外部脉冲信号进行计数。,4种工作模式: 模式0是由TH和TL低5位组成13位的定时器/计数器 模式1是由TH和TL共同组成16位的定时器/计数器 模式2是一个可以自动重装载的8位定时器/计数器 模式3是将T0分为两个独立的
23、8位定时器/计数器,3.5.3 定时器/计数器 T0、T1,定时器/计数器的应用在以后的章节中加以说明。,3.6 89C51单片机的时钟电路和时序,3.6.1 时钟电路,时钟信号产生电路 :,在XTAL1 (19脚)和 XTAL2 (18脚)间 跨接一个石英晶体振荡器和两个微调电容,和内部的高增益反相放大器构成一个稳定的自激振荡器,产生单片机的时钟信号 .,3.6.2 时序,.振荡周期:为单片机提供定时的振荡源信号的周期。 即晶体振荡器频率的倒数, 是最原始的信号周期。,.状态周期(时钟周期):是振荡周期的两倍。 是振荡脉冲经内部二分频后提供的状态信号。,. 机器周期:CPU完成一个基本的操作
24、所需的时间。 89C51一个机器周期由6个状态周期即12个振荡周期组成.,. 指令周期:CPU从取出指令到执行完所需要的时间。 89C51的指令周期由1、2、4个机器周期组成。,例如:在外接晶体振荡器频率fosc为12MHz时:,3.6.3 89C51的指令操作时序,每条指令执行都包括取指令和执行指令两个阶段。,取指阶段CPU从内部或外部ROM中取出指令操作码 和操作数。,执行指令阶段,CPU分析指令、指令译码和指令的 执行 。,89C51指令系统共有111条指令。指令功能不同, 执行速度不相同, 指令周期由1、2或4个机器周期组成。,89C51的指令操作时序如图所示。,3.7 89C51单片机的工作方式,89C51三种工作方式: 复位,程序执行和节电工作方式.,3.7.1 复位方式,复位是对单片机进行初始化,从初始状态开始工作。,复位后,内部各个特殊功能寄存器的初始值是一定的。,程序计数器PC复位后为0000H,从0000H单元开始程序.,累加器ACC、寄存器B复位后为00H,表明已被清零,PSW复位后为00H, 其中RS1 RS0均为0, 选择第0组 当前工作寄存器组. R0-R7为片内RAM00H-07H单元.,SP复位后为07H,堆栈初始栈底为片内RAM的07
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主播签约薪酬合同范本
- 别墅室内石材合同范本
- 保密设备合同范本
- 分时度假 合同范本
- 保险增值服务合同范本
- 第15课 现代医疗卫生体系与社会生活 教学设计-2023-2024学年统编版(2019)高二历史选择性必修2 经济与社会生活
- 劳动合同范本txt
- 2024年招商银行郑州分行招聘考试真题
- 二手电线买卖合同范本
- 2024年银川市永宁三沙源上游学校招聘笔试真题
- GB/T 6728-2017结构用冷弯空心型钢
- GB/T 6539-1997航空燃料与馏分燃料电导率测定法
- GB/T 28253-2012挤压丝锥
- GB/T 27689-2011无动力类游乐设施儿童滑梯
- 普通话教程教学课件第八单元词汇和语法的规范与辨正
- 康复治疗技术概论
- 教学课件:《连锁门店运营管理》(第二版)
- 高速综合检测列车轨道检测系统课件
- 如何做一名合格的项目经理 课件
- 抖音开店品牌授权模板
- 大学生必知的自然科学知识考试题库(300题)
评论
0/150
提交评论