at89c51单片机结构和原理

上传人:san****019 文档编号:70161004 上传时间:2019-01-16 格式:PPT 页数:76 大小:1.83MB
返回 下载 相关 举报
at89c51单片机结构和原理_第1页
第1页 / 共76页
at89c51单片机结构和原理_第2页
第2页 / 共76页
at89c51单片机结构和原理_第3页
第3页 / 共76页
at89c51单片机结构和原理_第4页
第4页 / 共76页
at89c51单片机结构和原理_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《at89c51单片机结构和原理》由会员分享,可在线阅读,更多相关《at89c51单片机结构和原理(76页珍藏版)》请在金锄头文库上搜索。

1、第2章 AT89C51单片机结构和原理,2.1 AT89C51单片机的结构 2.2 AT89C51单片机引脚及其功能 2.3 AT89C51存储器 2.4 AT89C51单片机工作方式 2.5 AT89C51时钟电路与时序 习题与思考题,2.1 AT89C51单片机的结构,AT89系列单片机在结构上基本相同,只是在个别模块和功能上有些区别。图2-1是AT89C51单片机的内部结构框图。它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。,图2-1 AT89C51内部结构框图,2.1.1 中央处理器(CPU) CPU是单片机内部的核心部件,是一个

2、8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。 1. 运算器 运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。,(1) 算术逻辑单元(ALU):AT89C51中的ALU由加法器和一个布尔处理器组成(图中未具体画出)。 (2) 累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。 (3) 暂存寄存器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。 (4) 状态寄存器(P

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

4、器R0R7的物理地址关系如表2-2所示。,表2-2 工作寄存器组R0R7的物理地址, 溢出标志位OV:当执行算术指令时,由硬件自动置位或清零,表示累加器A的溢出状态。 奇偶标志位P:用于指示运算结果中1的个数的奇偶性,若累加器A中1的个数为奇数,则P=1;若1的个数为偶数,则P=0。,2. 控制器 控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。 程序计数器PC是专门用于存放现行指令的16位地址的。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令寄存器IR进行分析。

5、,指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。 指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。 定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。,3寄存器阵列 寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。 通用寄存器组用来存放过渡性的数据和地址,提高CPU的运行速度。 专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。,2.1.2 存储器 AT89C51单片机内部有256个字节的RAM数据存储器和4 KB的闪存程序存储器(Flash),当不够使

6、用时,可分别扩展为64 KB外部RAM存储器和64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。 程序存储器是可读不可写的,用于存放编好的程序和表格常数。 数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。,2.1.3 I/O端口 AT89C51单片机对外部电路进行控制或交换信息都是通过I/O端口进行的。单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。 1并行I/O端口 AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双

7、向口,每次可以并行输入或输出8位二进制信息。,2串行I/O端口 AT89C51有一个全双工的可编程串行I/O端口,它利用了P3口的第二功能,即将P3.1引脚作为串行数据的发送线TXD,将P3.0引脚作为串行数据的接收线RXD。,2.1.4 定时器/计数器 AT89C51内部有两个16位可编程定时器/计数器,简称为定时器0(T0)和定时器1(T1),T0和T1分别由两个8位寄存器构成,其中T0由TH0(高8位)和TL0(低8位)构成,T1由TH1(高8位)和TL1(低8位)构成。TH0、TL0、TH1、TL1都是SFR中的特殊功能寄存器(见表2-4)。,T0和T1在定时器控制寄存器TCON和定时

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

9、是用于传送信息的公共途径。总线可分为数据总线、地址总线、控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。 AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。,2.2 AT89C51单片机引脚及其功能,AT89C51有40条引脚,与其他51系列单片机引脚是兼容的。这40条引脚可分为I/O端口线、电源线、控制线、外接晶体线四部分。其封装形式有两种:双列直插封装(DIP)形式和方形封装形式,如图2-2所示。,图2-2 AT89C51封装和引脚分配图 (a) 双列直插式封装;(

10、b) 方形封装,2.2.1 I/O端口功能 1P0口 P0口有八条端口线,命名为P0.0P0.7,其中P0.0为低位,P0.7为高位。每条线的结构组成如图2-3所示。它由一个输出锁存器,两个三态缓冲器,输出驱动电路和输出控制电路组成。P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。,图2-3 P0口位结构图,2. P1口 P1口有八条端口线,命名为P1.0P1.7,每条线的结构组成如图2-4所示。P1口是一个准双向口,只作普通的I/O口使用,其功能与P0口的第一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作输入口使用时,必须先向锁存器写入“1”,

11、使场效应管T截止,然后才能读取数据。,图2-4 P1口位结构图,3. P2口 P2口有八条端口线,命名为P2.0P2.7,每条线的结构如图2-5所示。P2口也是一个准双向口,它有两种使用功能:一种是当系统不扩展外部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;另一种是当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64 KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。,图2-5 P2口位结构图,4. P3口 P3口有八条

12、端口线,命名为P3.0P3.7,每条线的结构如图2-6所示。P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同。第二功能是作控制和特殊功能口使用,这时八条端口线所定义的功能各不相同,如表2-3所示。,图2-6 P3口位结构图,表2-3 P3口各位的第二功能,5I/O口的读写 P0P3口都可作为普通I/O口来使用。当作为输入口使用时,必须先向该口的锁存器中写入“1”,然后再从读引脚缓冲器中读入引脚状态,这样的读入结果才正确(前面已分析过)。,2.2.2 电源线 AT89C51单片机的电源线有以下两种: (1) VCC:+5 V电源线。 (2) VSS:接地线。,

13、2.2.3 外接晶体引脚 AT89C51单片机的外接晶体引脚有以下两种: (1) XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。 (2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。,2.2.4 控制线 AT89C51单片机的控制线有以下几种: (1) RST:复位输入端,高电平有效。 (2) ALE/ :地址锁存允许/编程线。 (3) :外部程序存储器的读选通线。 (4) /VPP:片外ROM允许访问端/编程电源端。,2.3 AT89C51存储器,AT89C

14、51单片机存储器结构采用哈佛型结构,即将程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式。其典型结构如图2-7所示。,图2-7 AT89C51存储器结构图 (a) 程序存储器地址分配;(b) 数据存储器地址分配,2.3.1 程序存储器 AT89C51程序存储器有片内和片外之分。片内有4 KB字节的Flash程序存储器,地址范围为0000H0FFFH。当不够使用时,可以扩展片外程序存储器,因程序计数器PC和程序地址指针DPTR都是16位的,所以片外程序存储器扩展的最大空间是64 KB,地址范围为0000HFFFFH。,2.3.2 数据存储器 AT89C

15、51数据存储器也有片内和片外之分。片内有256个字节RAM,地址范围为00HFFH。片外数据存储器可扩展64 KB存储空间,地址范围为0000HFFFFH,但两者的地址空间是分开的,各自独立的,结构分配如图2-7(b)所示。,1. 片内数据存储器 AT89C51单片机片内数据存储器可分为两部分:00H7FH单元空间的128字节为RAM区;80HFFH单元空间的128字节为专用寄存器(SFR)区。两部分的地址空间是连续的。 (1) 片内RAM区:共128字节,它又可划分为通用寄存器区、位寻址区、普通RAM区,如图2-8所示。,普通RAM区,图2-8 AT89C51内部RAM空间分配, 通用寄存器

16、区:00H1FH这32个单元为通用寄存器区,分为四组,每组占八个 RAM单元,地址由小到大分别用代号R0R7表示。通过设置程序状态字PSW中的RS1、RS0状态来决定哪一组寄存器工作,如表2-2所示。 位寻址区:20H2FH这16个单元为位寻址区。它有双重寻址功能,既可以进行位寻址操作,也可以同普通RAM单元一样按字节寻址操作。, 普通RAM区:30H7FH这80个单元为普通RAM区。用于存放用户数据,只能按字节存取。 堆栈区:堆栈是片内RAM存储器中的特殊群体。,图2-9 堆栈结构图,(2) 专用寄存器区:片内80HFFH这一区间,AT89C51集合了一些特殊用途的寄存器,一般称之为特殊功能寄存器SFR。每个SFR占有一个RAM单元。它们离散地分布在80HFFH地址范围内,如表2-4所示。,表2-4 AT89C51特殊功能寄存器SFR一览表,没有被SFR占据的地址可能在片内并不存在。对这些地址读出时,通常会得到随

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号