AT89C51的结构和原理解析.ppt

上传人:小飞机 文档编号:5415946 上传时间:2023-07-05 格式:PPT 页数:84 大小:1.64MB
返回 下载 相关 举报
AT89C51的结构和原理解析.ppt_第1页
第1页 / 共84页
AT89C51的结构和原理解析.ppt_第2页
第2页 / 共84页
AT89C51的结构和原理解析.ppt_第3页
第3页 / 共84页
AT89C51的结构和原理解析.ppt_第4页
第4页 / 共84页
AT89C51的结构和原理解析.ppt_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《AT89C51的结构和原理解析.ppt》由会员分享,可在线阅读,更多相关《AT89C51的结构和原理解析.ppt(84页珍藏版)》请在三一办公上搜索。

1、第2章 AT89C51的结构和原理,教学目标2.1 AT89C51单片机的结构2.2 AT89C51单片机外形及引脚功能2.3 AT89C51存储器2.4 AT89C51单片机工作方式2.5 AT89C51时钟电路与时序本章小结思考题与习题,教学目标,1.总体了解AT89C51单片机内部结构。2.熟悉AT89C51单片机40个引脚及其功能。3.熟悉AT89C51三个不同存储空间配置及地址范 围,了解不同存储空间的操作指令和控制信号。4.熟悉AT89C51片内RAM低128B分区结构和作用。5.了解特殊功能寄存器地址分布范围,理解ACC、B、SP、DPTR的作用和功能,重点掌握PSW结构 组成和

2、各位作用。,通过本章教学,要求达到以下目标:,6.理解程序计数器PC的功能。7.了解AT89C51 4个I/O端口结构及工作原理。8.理解在扩展外存储器情况下,P0、P2及 P3口的功能作用。9.了解堆栈指针SP及堆栈的作用;10.掌握堆栈的设置及使用方式;11.熟悉AT89C51复位条件、复位电路和复位后 常用的SFR的状态。12.理解时钟电路组成、时钟和机器周期的概念。,课前预习和复习检测,温故知新检测,微机中常用的进制有哪些?各有何特点?,温故知新检测,什么是BCD码和BCD数?BCD数的加减运算有何特点?,温故知新检测,什么是原码、反码和补码?,温故知新检测,1101101.1011B

3、=?H,温故知新检测,AT89C51系列单片机内部包含哪些主要功能部件?,温故知新检测,程序计数器PC的作用是什么?,温故知新检测,AT89C51的CPU主要由哪几部分组成?,温故知新检测,单片机CPU运算器的核心部件是什么?其主要功能有哪些?,温故知新检测,AT89C51单片机内部有多少字节的RAM和FlashROM?,2.1 AT89C51单片机的结构,AT89系列单片机在内部结构上基本相同,其中不同型号的单片机只不过在个别模块和功能方面有些区别。AT89C51单片机内部硬件结构框图如图2.1所示。它由一个8位中央处理器(CPU)、一个256B片内RAM及4KB Flash ROM、21个

4、特殊功能寄存器、4个8位并行I/O口、两个16位定时/计数器、一个串行I/O口以及中断系统等部分组成,各功能部件通过片内单一总线联成一个整体,集成在一块芯片上。,2.1 AT89C51单片机的结构,图2.1 AT89C51单片机内部结构框图,RAM128B,RAM地址寄存器,P3口,P1口,P2口,P0口,锁存器,锁存器,锁存器,锁存器,中断定时/计数器串行口,SP,B,ACC,暂存器1,暂存器2,PSW,指令寄存器IR,指令译码器ID,DPL,缓冲器,程序计数器PC,PC增量器,地址寄存器AR,定时与控制,4KROM,ALU,DPH,运算器,控制器,存储器,I/O接口,图2.2 AT89C5

5、1单片机的内部结构示意,2.1.1 中央处理器(CPU),CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。1.运算器 运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。,1.运算器,(1)算术逻辑单元(ALU):AT89C51中的ALU由加法器和一个布尔处理器组成。(2)累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。(3)暂存寄存器(TMP1、TMP2):用来存放参与

6、算术运算和逻辑运算的另一个操作数,它对用户不开放。(4)状态寄存器(PSW):PSW是一个8位标志寄存器,用来存放ALU操作结果的有关状态。,表2.1 PSW各位定义表,进位标志位CY:表示累加器A在加减运算过程中其最高位 A7有无 进位或借位。辅助进位位AC:表示累加器A在加减运算时低4位(A3)有无向高4 位(A4)进位或借位。用户标志位F0:是用户定义的一个状态标志位,根据需要可以用 软件来使它置位或清除。,1.运算器,寄存器选择位RS1、RS0:AT89C51共有四组,每组八个工作寄存器R0R7。编程时用于存放数据或地址。但每组工作寄存器在内部RAM中的物理地址不同。RS1和RS0的四

7、种状态组合就是用来确定四组工作寄存器的实际物理地址的。RS1、RS0状态与工作寄存器R0R7的物理地址关系如表2.2 所示。,表2.2 工作寄存器组R0R7的物理地址,RS1 RS0,工作寄存器组号,R0R1的物理地址,0 00 11 01 1,0123,00H 07H08H 0FH10H 17H18H 1FH,溢出标志位OV:当执行算术指令时,由硬件自动置位或 清零,表示累加器A的溢出状态。奇偶标志位P:用于指示运算结果中1的个数的奇偶性,若累加器A中1的个数为奇数,则P=1;若1的个数为偶 数,则P=0。,2.控制器,控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。

8、控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。程序计数器PC是专门用于存放现行指令的16位地址的。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令寄存器IR进行分析。,2.控 制 器,指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。,3寄存器阵列,寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。通用寄存器组用来存放过渡性的数据和地址,提高C

9、PU的运行速度。专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。,2.1.2 存储器,AT89C51单片机内部有256个字节的RAM数据存储器和4KB的闪存程序存储器(Flash),当不够使用时,可分别扩展为64 KB外部RAM存储器和64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。,AT89C51单片机对外部电路进行控制或交换信息都是通过I/O端口进

10、行的。单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。1并行I/O端口 AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是 8位准双向口,每次可以并行输入或输出8位二进制信息。,2.1.3 I/O端口,AT89C51有一个全双工的可编程串行I/O端口,它利用了P3口的第二功能,即将P3.1引脚作为串行数据的发送线TXD,将P3.0引脚作为串行数据的接收线RXD。,2串行I/O端口,2.1.4 定时器/计数器,AT89C51内部有两个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1),T0和T1分别由两个8

11、位寄存器构成,其中T0由TH0(高8位)和TL0(低8位)构成,T1由TH1(高8位)和TL1(低8位)构成。TH0、TL0、TH1、TL1都是SFR中的特殊功能寄存器。,T0和T1在TCON和TMOD的控制下可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。当定时或计数溢出时还可申请中断。详细情况参见第6章。,2.1.5 中断系统,单片机中的中断是指CPU暂停正在执行的原程序转而为中断源服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理上述中断过程所需要的部分电路。AT89C51的中断系统由中断源、中断允许控制器IE、中断优先级控制器IP

12、、定时器控制器TCON(中断标志寄存器)等构成,IE、IP、TCON均为SFR特殊功能寄存器(见表2.2)。,2.1.6 内部总线,总线是用于传送信息的公共途径。总线可分为数据总线、地址总线和控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。,2.2 AT89C51单片机引脚及其功能,AT89C51有40条引脚,与其他51系列单片机引脚是兼容的。这40条引脚可分为I/O端口线、电源线、控制线、外接晶体线四部分。其封装形式有

13、两种:双列直插封装(DIP)形式和方形封装形式,如图2.2所示。,图2.2 AT89C51封装和引脚分配图(a)双列直插式封装(b)方形封装,2.2 AT89C51单片机引脚及其功能,AT89C51,AT89C51,1P0口 P0口有八条端口线,命名为P0.0P0.7,其中P0.0为低位,P0.7为高位。每条线的结构组成如图2.3所示。它由一个输出锁存器,两个三态缓冲器,输出驱动电路和输出控制电路组成。P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。,2.2.1 I/O端口功能,图2.3 P0口位结构图,1P0口,P1口有八条端口线,命名为P1.0P1.7,每条线的结构组

14、成如图2.4所示。P1口是一个准双向口,只作普通的I/O口使用,其功能与P0口的第一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作输入口使用时,必须先向锁存器写入“1”,使场效应管T截止,然后才能读取数据。,2.P1口,图2.4 P1口位结构图,2.P1口,P2口有八条端口线,命名为P2.0P2.7,每条线的结构如图2.5所示。P2口也是一个准双向口,它有两种使用功能:一种是当系统不扩展外部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;另一种是当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7

15、A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64 KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。,3.P2口,图2.5 P2口位结构图,3.P2口,P3口有八条端口线,命名为P3.0P3.7,每条线的结构如图2.6所示。P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同。第二功能是作控制和特殊功能口使用,这时八条端口线所定义的功能各不相同,如表2.3所示。,4.P3口,图2.6 P3口位结构图,4.P3口,表2.3 P3口各位的第二功能,在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一

16、体的I/O电路。AT89C51的4个口在电路结构上基本相同,P0P3口都可作为普通I/O口来使用。但又各具特点,因此在功能和使用上各口之间有一定的差异。各口用作输入时,均须先写入“1”;P0口用作输出时,应外接上拉电阻。,5I/O口的读写,(1)VCC:+5 V电源线。(2)VSS:接地线。,2.2.2 电源线,2.2.3 外接晶体引脚(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。,AT89C51单片机的

17、控制线有如下几种:(1)RST:复位输入端,高电平有效。(2)ALE/:地址锁存允许/编程线。(3):外部程序存储器的读选通线。(4)/VPP:片外ROM允许访问端/编 程电源端。,2.2.4 控制线,2.3 AT89C51存储器,AT89C51单片机存储器结构采用哈佛型结构,即将程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式。其典型结构如图2.7所示。,图2.7 AT89C51存储器结构图(a)程序存储器地址分配;(b)数据存储器地址分配,FFH,2.3 AT89C51存储器,AT89C51程序存储器有片内和片外之分。片内有4 KB字节的Flas

18、h程序存储器,地址范围为0000H0FFFH。当不够使用时,可以扩展片外程序存储器,因程序计数器PC和程序地址指针DPTR都是16位,片外程序存储器扩展的最大空间是64 KB,地址范围为0000HFFFFH。,2.3.1 程序存储器,AT89C51数据存储器也有片内和片外之分。片内有256个字节RAM,地址范围为00HFFH。按功能又可分为两部分;低128字节(地址为00H7FH)为一般RAM区,高128字节(地址为80HFFH)为特殊功能寄存器(SFR)区。片外数据存储器可扩展64 KB存储空间,地址范围为0000HFFFFH,但两者的地址空间是分开的,各自独立的,结构分配如图2.7(b)所

19、示。,2.3.2 数据存储器,AT89C51单片机片内数据存储器可分为 两部分:00H7FH单元空间的128字节为RAM区;0HFFH单元空间的128字节为专用寄存器(SFR)区。两部分的地址空间是连续的。(1)片内RAM区:共128字节,它又可划分为通用寄存器区、位寻址区、普通RAM区,如表2.4所示。,1.片内数据存储器,表2.4 AT89C51片内数据存储器,位寻址区,通用寄存器区,通用寄存器区:00H1FH这32个单元为通用寄存器区,分为四组,每组占八个 RAM单元,地址由小到大分别用代号R0R7表示。通过设置程序状态字PSW中的RS1、RS0状态来决定哪一组寄存器工作,如表2.2所示

20、。位寻址区:20H2FH这16个单元为位寻址区。它有双重寻址功能,既可以按位寻址操作,也可以普通RAM单元那样按字节寻址操作。,(1)片内RAM区,普通RAM区:30H7FH这80个单元为普通RAM区。用于 存放用户数据,只能按字节存取。堆栈区:堆栈是片内RAM中的特殊群体。用来暂时存 放诸如子程序端口地址、中断端口地址以及 其它需要保护的数据。,(1)片内RAM区,图2.8 堆栈结构图,栈顶,栈底(可用软件设置),35H34H33H32H31H30H,堆栈指针(SP),片内80HFFH区间,AT89C51集合了一些特殊用途的寄存器,一般称之为特殊功能寄存器(SFR)。AT89C51单片机共有

21、21个SFR,每个SFR占一个RAM单元。它们离散地分布在80HFFH地址范围内,如表2.5所示。,(2)专用寄存器区,表2.5 AT89C51特殊功能寄存器一览表,表2.5 AT89C51特殊功能寄存器一览表(续),没有被SFR占据的地址可能在片内并不存在。对这些地址读出时,通常会得到随机的数据,而写入时将会有不确定的效应,因此软件设计时不要使用这些单元。特殊功能寄存器通常用寄存器寻址,但也可以用直接寻址方式进行字节访问。其中11个寄存器还可进行位寻址(表2.5中带*号的寄存器)操作,其位地址的分配如表2.6所示。,(2)专用寄存器区,表2.6 SFR中的位地址分配,AT89C51单片机可扩

22、展片外64 KB空间的数据存储器,地址范围为0000HFFFFH,它与程序存储器的地址空间是重合的,但两者的寻址指令和控制线不同。如表2.7所示。,2片外数据存储器,表2.7 存储器的访问指令及控制线,2.4 AT89C51单片机工作方式,2.4.1 复位方式 单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。,1.复位原理:AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个

23、机器周期,单片机即复位。复位后,PC程序计数器的内容为0000H,其他特殊功能寄存器的复位状态如表2.5所示。片内RAM中内容不变。2.常用复位电路:一般有上电复位、手动开关复位和自动复位电路三种,如图2.9所示。,2.4.1 复位方式,图2.9 单片机复位电路图(a)上电复位电路;(b)手动复位电路;(c)自动复位电路,2.常用复位电路,程序执行方式是单片机的基本工作方式,即执行用户编写好并存放在ROM中的程序。,2.4.2 程序执行方式,2.4.3 省电方式,AT89系列单片机有两种省电运行方式,即空闲方式和掉电方式。省电方式可使单片机功耗最小。单片机正常工作时消耗1020 mA电流,空闲

24、方式工作时消耗1.75 mA电流,掉电方式工作时消耗550 A电流。在空闲和掉电方式下,单片机内部硬件控制电路如图2.10所示。,图2.10 空闲和掉电方式内部电路图,单片机省电方式下内部控制电路,2.5 AT89C51时钟电路与时序,2.5.1 振荡器与时钟电路 单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序。而产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51单片机内部有一个用于构成振荡器的单级反相放大器,如图2.11所示。,图2.11 AT89C51内部振荡器电路图,AT89C51内部振荡

25、器电路,引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器,如图2.12所示。,AT89C51内部振荡器电路,单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时钟电路,而XTAL2端浮空即可,如图2.13所示。,图2.12 内部振荡器等效电路图,反相器输入端,反相器输出端,AT89C51内部振荡器电路,图2.13 外部时钟电路图,悬空,1振荡周期 振荡周期指由单片机片内或片外振荡器所产生的,为单片机提供时钟源信号的周期(其

26、值为1/fosc)。2时钟周期 时钟周期又称为状态周期S,由内部时钟电路产生,是振荡周期的二倍。每个时钟周期分为P1和P2两个节拍,前半周期P1节拍信号有效,后半周期P2节拍信号有效,每个节拍完成不同的逻辑操作。,2.5.2 时序,一个机器周期由6个状态周期(12个振荡周期)组成,6个状态周期用S1S6表示,每一状态周期的两个节拍用P1、P2表示,则一个机器周期的12个节拍就可用S1P1、S1P2、S2P1、S6P1、S6P2来表示,见下图。,3机器周期,S1 S2 S3 S4 S5 S6,P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2,图2.14 一个机器周期的12个

27、节拍(振荡周期),执行一条指令所占用的全部时间。一个指令周期通常由14个机器周期组成。若外接晶振频率为fosc=12 MHZ,则四个基本周期的具体数值为:(1)振荡周期=1/12 s。(2)时钟周期=1/6 s。(3)机器周期=1 s。(4)指令周期=14 s。,4指令周期,图2.15 AT89C51单片机典型指令时序图,5.AT89C51单片机典型指令时序,(1)访问外部ROM时序,图 2.16 读外部程序ROM时序图,图 2.17 读外部数据RAM时序图,(2)读外部数据RAM时序,图 2.18 写外部数据RAM的时序图,(3)写外部数据RAM的时序,本章小结,1单片机是将微处理器、存储器

28、和I/O接口等电路集成在一块芯片上所形成的微型计算机。因此,它比微机体积更小,价格更低,因而在某些场合使用得更加广泛。,289C51单片机有40个引脚,采用双列直插的封装形式,每个引脚都有其特定功能。这40个引脚按功能可分为四大类:电源线、I/O线、时钟输入线和控制线。,3中央处理器CPU是单片机的核心部件,它主要由运算器、控制器和专用寄存器组构成。运算器完成各种算术和逻辑运算,控制器对单片机内部各部件进行管理和控制,使它们统一、协调地工作。专用寄存器包括:累加器A、B寄存器、程序状态字PSW、程序计数器PC、堆栈指针SP和数据指针DPTR等。每个专用寄存器都有其特定功能。,489C51单片机

29、内部集成有4KB Flash ROM和256字节RAM。既可使用其片内程序存储器,也可扩展片外ROM。使用片内ROM还是片外ROM,由单片机的EA引脚指出。当EA=0时,则从片内ROM中读取指令;当EA=1,地址范围为0000H0FFFH时执行4KB片内ROM中的程序,而超出0FFFH地址时,将自动转去执行片外ROM中的程序。89C51片内RAM的256字节(00HFFH),按功能又可分为两部分;低128字节(地址为00H7FH)为一般RAM区,高128字节(地址为80HFFH)为特殊功能寄存器(SFR)区。,5.P0、P1、P2、P3是单片机的4个8位并行I/O口,它们的内部电路结构各不相同

30、。这种电路结构决定了它们的功能也不尽相同。这4个并行口除可作通用I/O口使用外,某些口线还具有第二功能。在访问外部存储器时,P0口分时复用为地址(低8位)和数据总线,P2口输出高8位地址。P3口:除能作通用I/O口之外,其每一根I/O线又都具有独立的第二功能。,6.时钟电路与复位电路是单片机应用系统正常工作必不可少的组成部分。XTAL1、XTAL2两个引脚外接一个石英晶体和两个微调电容便构成使用内部时钟的电路,此时的时钟周期即为石英晶体的振荡周期。复位通常有上电复位与按钮复位两种方式,它们的电路连接也不同。,思考题与习题,2.1 单片机主要应用在哪些领域?2.2 AT89C51系列单片机内部包

31、含哪些主要功能部件?它们各自的功能是什么?2.3 在AT89C51单片机中,决定程序执行顺序的是哪个寄存器?它是多少位的寄存器?是不是特殊功能寄存器?2.4 程序状态字PSW是一个几位的专用寄存器?它各位的含义是什么?,2.5 AT89C51的工作寄存器可分为几组?各自物理地址是多少?如果欲将当前的工作寄存器设为第2组,应如何设置?2.6 AT89C51单片机的存储器由哪四类构成?各自的地址范围是多少?2.7 P0、P1、P2、P3属于特殊功能寄存器吗?它们的物理地址是多少?,2.8 AT89C51单片机片内RAM容量为多大?按功能可分为哪几部分?各自的地址范围是多少?2.9 AT89C51单片机的位地址空间如何分布?2.10 当使用AT89C51内部时钟信号时,电路如 何连接?时钟周期如何确定?2.11 AT89C51单片机的复位方式有哪几种?各自电路应怎样连接?,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号