1、第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 第第2章章 AT89C51单片机结构和原理单片机结构和原理 2.1 AT89C51单片机的结构单片机的结构 2.2 AT89C51单片机引脚及其功能单片机引脚及其功能 2.3 AT89C51存储器存储器 2.4 AT89C51单片机工作方式单片机工作方式 2.5 AT89C51时钟电路与时序时钟电路与时序 习题与思考题习题与思考题 第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1 AT89C51单片机的结构单片机的结构 AT89系列单片机在结构上基本相同,只是在个别模块和功能上有些
2、区别。图2-1是AT89C51单片机的内部结构框图。它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 P0驱动器P2驱动器P0锁存器P2锁存器RAMRAM地址寄存器BACCTMP1TMP2PSWP1驱动器P1锁存器P3驱动器P3锁存器OSC定时控制逻辑电路指令寄存器PCONSCONTMODTCONT2CONTH0TL0TH1TH2TL2RCAP2H*RCAP2L*中断、串行口,定时器逻辑TL1SBUFIEIPFlash程序地址寄 存 器缓冲器PC加1器程序计数器DP
3、TRP0.0P0.7P2.0P2.7ALUSPP1.0P1.7P3.0P3.7PSENALERSTEAXTAL1XTAL2VCCGND*只在AT89C52中有图2-1 AT89C51内部结构框图 第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1.1 中央处理器(CPU)CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。1.运算器 运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存
4、器(PSW)组成。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 (1)算术逻辑单元(ALU):AT89C51中的ALU由加法器和一个布尔处理器组成(图中未具体画出)。(2)累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。(3)暂存寄存器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。(4)状态寄存器(PSW):PSW是一个8位标志寄存器,用来存放ALU操作结果的有关状态。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 表2-1 PSW各位定义表位编号PSW7PSW6PS
5、W5PSW4PSW3PSW2PSW1PSW0位定义CYACF0RS1RS0OVP位地址D7HD6HD5HD4HD3HD2HD1HD0H第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 进位标志位CY:表示累加器A在加减运算过程中其最高位A7有无进位或借位。辅助进位位AC:表示累加器A在加减运算时低4位(A3)有无向高4位(A4)进位或借位。用户标志位F0:是用户定义的一个状态标志位,根据需要可以用软件来使它置位或清除。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 寄存器选择位RS1、RS0:AT89C51共有四组,每组八个工作寄存器R
6、0R7。编程时用于存放数据或地址。但每组工作寄存器在内部RAM中的物理地址不同。RS1和RS0的四种状态组合就是用来确定四组工作寄存器的实际物理地址的。RS1、RS0状态与工作寄存器R0R7的物理地址关系如表2-2所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 表2-2 工作寄存器组R0R7的物理地址RS1 RS0工作寄存器组号R0R7的物理地址0 00 11 01 1012300H07H08H0FH16H17H18H1FH第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 溢出标志位OV:当执行算术指令时,由硬件自动置位或清零,表
7、示累加器A的溢出状态。奇偶标志位P:用于指示运算结果中1的个数的奇偶性,若累加器A中1的个数为奇数,则P=1;若1的个数为偶数,则P=0。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.控制器 控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。程序计数器PC是专门用于存放现行指令的16位地址的。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令寄存器IR进行分析。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原
8、理 指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 3寄存器阵列 寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。通用寄存器组用来存放过渡性的数据和地址,提高CPU的运行速度。专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。第第2 2章章 AT89C51AT89C51单片机结构和原
9、理单片机结构和原理 2.1.2 存储器 AT89C51单片机内部有256个字节的RAM数据存储器和4KB的闪存程序存储器(Flash),当不够使用时,可分别扩展为64 KB外部RAM存储器和64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。程序存储器是可读不可写的,用于存放编好的程序和表格常数。数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1.3 I/O端口 AT89C51单片机对外部电路进行控制或交换信息都是通过
10、I/O端口进行的。单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。1并行I/O端口 AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信息。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2串行I/O端口 AT89C51有一个全双工的可编程串行I/O端口,它利用了P3口的第二功能,即将P3.1引脚作为串行数据的发送线TXD,将P3.0引脚作为串行数据的接收线RXD。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1
11、.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)。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 T0和T1在定时器控制寄存器TCON和定时器方式选择寄存器TMOD的控制下(TCON、TMOD为特殊功能寄存器),可工作在定时器模式或计数器模式下,每种模式下又有不同的工作方式。当定时或计数溢出时还可
12、申请中断。详细情况参见第6章。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1.5 中断系统 单片机中的中断是指CPU暂停正在执行的原程序转而为中断源服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理上述中断过程所需要的部分电路。AT89C51的中断系统由中断源、中断允许控制器IE、中断优先级控制器IP、定时器控制器TCON(中断标志寄存器)等构成,IE、IP、TCON均为SFR特殊功能寄存器(见表2-2)。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.1.6 内部总线 总线是用于传
13、送信息的公共途径。总线可分为数据总线、地址总线、控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.2 AT89C51单片机引脚及其功能单片机引脚及其功能 AT89C51有40条引脚,与其他51系列单片机引脚是兼容的。这40条引脚可分为I/O端口线、电源线、控制线、外接晶体线四部分。其封装形式有两种:双列直插封装(DIP)形式和方形封装形式,如
14、图2-2所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 12345678910111213141516171819204039383736353433323130292827262524232221(T2)P1.0(T2EX)P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(T0)P3.4(T1)P3.5XTAL2XTAL1GND(TNT0)P3.2(TNT1)P3.3(WR)P3.6(RD)P3.7VCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD
15、5)P0.6(AD6)P0.7(AD7)P2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)EA/VPPALE/PROGPSENP1.5P1.6P1.7RST(RXD)P3.0NC(TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPNCALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)78910111213141516173938373635343332313
16、0291819202122232425262728P1.4P1.3P1.2P1.1(T2EX)P1.0(T2)NCVCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)(WR)P3.6(RD)P3.7XTAL2XTAL1GNDNC(A8)P2.0(A9)P2.1(A10)P2.2(A11)P2.3(A12)P2.46543214443424140(a)(b)图2-2 AT89C51封装和引脚分配图(a)双列直插式封装;(b)方形封装第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.2.1 I/O端口功能 1P0口 P0口有八条端口线,命名
17、为P0.0P0.7,其中P0.0为低位,P0.7为高位。每条线的结构组成如图2-3所示。它由一个输出锁存器,两个三态缓冲器,输出驱动电路和输出控制电路组成。P0口是一个三态双向I/O口,它有两种不同的功能,用于不同的工作环境。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 DCLQQP0.X锁存器MUXT2T1VCC控制地址/数据读锁存器内部总线写锁存器读引脚P0.X图2-3 P0口位结构图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.P1口 P1口有八条端口线,命名为P1.0P1.7,每条线的结构组成如图2-4所示。P1口是一
18、个准双向口,只作普通的I/O口使用,其功能与P0口的第一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉电阻;作输入口使用时,必须先向锁存器写入“1”,使场效应管T截止,然后才能读取数据。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 DCLQQP1.X锁存器读锁存器内部总线写锁存器读引脚VCCP1.XT图2-4 P1口位结构图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 3.P2口 P2口有八条端口线,命名为P2.0P2.7,每条线的结构如图2-5所示。P2口也是一个准双向口,它有两种使用功能:一种是当系统不扩展外
19、部存储器时,作普通I/O口使用,其功能和原理与P0口第一功能相同,只是作为输出口时不需外接上拉电阻;另一种是当系统外扩存储器时,P2口作系统扩展的地址总线口使用,输出高8位的地址A7A15,与P0口第二功能输出的低8位地址相配合,共同访问外部程序或数据存储器(64 KB),但它只确定地址并不能像P0口那样还可以传送存储器的读写数据。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 DCLQQP2.X锁存器MUXTVCC控制内部上拉电阻读锁存器内部总线写锁存器读引脚P2.X地址图2-5 P2口位结构图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结
20、构和原理 4.P3口 P3口有八条端口线,命名为P3.0P3.7,每条线的结构如图2-6所示。P3口是一个多用途的准双向口。第一功能是作普通I/O口使用,其功能和原理与P1口相同。第二功能是作控制和特殊功能口使用,这时八条端口线所定义的功能各不相同,如表2-3所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 DCLQQP3.X锁存器读锁存器内部总线写锁存器读引脚VCCP3.XT内部上拉电阻第二输出功能第二输入功能图2-6 P3口位结构图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 表2-3 P3口各位的第二功能第第2 2章章 A
21、T89C51AT89C51单片机结构和原理单片机结构和原理 5I/O口的读写 P0P3口都可作为普通I/O口来使用。当作为输入口使用时,必须先向该口的锁存器中写入“1”,然后再从读引脚缓冲器中读入引脚状态,这样的读入结果才正确(前面已分析过)。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.2.2 电源线 AT89C51单片机的电源线有以下两种:(1)VCC:+5 V电源线。(2)VSS:接地线。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.2.3 外接晶体引脚 AT89C51单片机的外接晶体引脚有以下两种:(1)XTAL1
22、:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.2.4 控制线 AT89C51单片机的控制线有以下几种:(1)RST:复位输入端,高电平有效。(2)ALE/:地址锁存允许/编程线。(3):外部程序存储器的读选通线。(4)/VPP:片外ROM允许访问端/编程电源端。PROGPSENEA第第2 2章章 AT89C51AT89C51单片机结构和原理
23、单片机结构和原理 2.3 AT89C51存储器存储器 AT89C51单片机存储器结构采用哈佛型结构,即将程序存储器(ROM)和数据存储器(RAM)分开,它们有各自独立的存储空间、寻址机构和寻址方式。其典型结构如图2-7所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 1EA 内部0FFFH0000H0EA 外部外部FFFFH1000H内部RAM专用寄存器外部00H80H7FH00H0000HFFFFH(a)(b)图2-7 AT89C51存储器结构图(a)程序存储器地址分配;(b)数据存储器地址分配第第2 2章章 AT89C51AT89C51单片机结构和原理单片
24、机结构和原理 2.3.1 程序存储器 AT89C51程序存储器有片内和片外之分。片内有4 KB字节的Flash程序存储器,地址范围为0000H0FFFH。当不够使用时,可以扩展片外程序存储器,因程序计数器PC和程序地址指针DPTR都是16位的,所以片外程序存储器扩展的最大空间是64 KB,地址范围为0000HFFFFH。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.3.2 数据存储器 AT89C51数据存储器也有片内和片外之分。片内有256个字节RAM,地址范围为00HFFH。片外数据存储器可扩展64 KB存储空间,地址范围为0000HFFFFH,但两者的地
25、址空间是分开的,各自独立的,结构分配如图2-7(b)所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 1.片内数据存储器 AT89C51单片机片内数据存储器可分为两部分:00H7FH单元空间的128字节为RAM区;80HFFH单元空间的128字节为专用寄存器(SFR)区。两部分的地址空间是连续的。(1)片内RAM区:共128字节,它又可划分为通用寄存器区、位寻址区、普通RAM区,如图2-8所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 7FH 30H2FH7F7E7D7C7B7A7978 2EH777675747372717
26、0 2DH6F6E6D6C6B6A6968 2CH6766656463626160 2BH5F5E5D5C5B5A5958 2AH5756555453525150 29H4F4E4D4C4B4A4948 28H4746454443424140位寻址区27H3F3E3D3C3B3A3938 26H373635343332313025H2F2E2D2C2B2A2928 24H2726252423222120 23H1F1E1D1C1B1A1918 22H1716151413121110 21H0F0E0D0C0B0A0908 20H0706050403020100 1FH 3组 18H 17H 2
27、组 10H通用寄存器区0FH 1组 08H 07H 0组 00H图2-8 AT89C51内部RAM空间分配第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 通用寄存器区:00H1FH这32个单元为通用寄存器区,分为四组,每组占八个 RAM单元,地址由小到大分别用代号R0R7表示。通过设置程序状态字PSW中的RS1、RS0状态来决定哪一组寄存器工作,如表2-2所示。位寻址区:20H2FH这16个单元为位寻址区。它有双重寻址功能,既可以进行位寻址操作,也可以同普通RAM单元一样按字节寻址操作。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理
28、普通RAM区:30H7FH这80个单元为普通RAM区。用于存放用户数据,只能按字节存取。堆栈区:堆栈是片内RAM存储器中的特殊群体。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 栈顶栈底(SP)34B33H32H31H30H图2-9 堆栈结构图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 (2)专用寄存器区:片内80HFFH这一区间,AT89C51集合了一些特殊用途的寄存器,一般称之为特殊功能寄存器SFR。每个SFR占有一个RAM单元。它们离散地分布在80HFFH地址范围内,如表2-4所示。第第2 2章章 AT89C51AT89C
29、51单片机结构和原理单片机结构和原理 表2-4 AT89C51特殊功能寄存器SFR一览表第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 没有被SFR占据的地址可能在片内并不存在。对这些地址读出时,通常会得到随机的数据,而写入时将会有不确定的效应,因此软件设计时不要使用这些单元。特殊功能寄存器通常用寄存器寻址,但也可以用直接寻址方式进行字节访问。其中11个寄存器还可进行位寻址(表2-4中带*号的寄存器)操作,其位地址的分配如表2-5所示。第第2 2章章 AT89C51AT89C51单片机结
30、构和原理单片机结构和原理 表2-5 SFR中的位地址分配寄存器符号位地址字节地址D7D6D5D4D3D2D1D0BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HIP BCBBBAB9B8B8HP3B7B6B5B4B3B2B1B0B0HIEAF ACABAAA9A8A8HP2A7A6A5A4A3A2A1A0A0HSCON9F9E9D9C9B9A999898HP1979695949392919090HTCON8F8E8D8C8B8A898888HP0878685848382818080H第第2 2章章 AT89C51A
31、T89C51单片机结构和原理单片机结构和原理 2片外数据存储器 AT89C51单片机可扩展片外64 KB空间的数据存储器,地址范围为0000HFFFFH,它与程序存储器的地址空间是重合的,但两者的寻址指令和控制线不同。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.4 AT89C51单片机工作方式单片机工作方式 2.4.1 复位方式 单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。第第2 2章章 AT89C51AT89C5
32、1单片机结构和原理单片机结构和原理 AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。复位后,PC程序计数器的内容为0000H,其他特殊功能寄存器的复位状态如表2-4所示。片内RAM中内容不变。复位电路一般有上电复位、手动开关复位和自动复位电路三种,如图2-10所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 VCCRSTVSS89C515 VC10 FR8.2 kVCCRSTVSS89C515 VC10 FR8.2 kVCCRSTP1.089C515
33、VWDIMAX750WDOPESET10 k10 F12(a)(b)(c)1 k89C51图2-10 单片机复位电路图(a)上电复位电路;(b)手动复位电路;(c)自动复位电路第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.4.2 程序执行方式 程序执行方式是单片机的基本工作方式,也就是执行用户编写好并存放在ROM中的程序。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.4.3 省电方式 AT89系列单片机提供了两种通过软件编程来实现的省电运行方式,即空闲方式和掉电方式。省电方式可以使单片机在供电困难的环境中功耗最小,仅在需要
34、正常工作时才正常运行。单片机正常工作时消耗1020 mA电流,空闲方式工作时消耗1.75 mA电流,掉电方式工作时消耗550 A电流,可见在省电方式下单片机耗能很小。在空闲和掉电方式下,单片机内部硬件控制电路如图2-11所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 时钟发生器OSCXTAL2XTAL1中断、串行口定时器CPUPDIDL图2-11 空闲和掉电方式内部电路图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.4.4 EPROM编程和校验方式 1签名字节的读出 签名字节是生产厂家在生产89系列单片机时写入到存储器中的
35、信息。信息内容包括生产厂家、编程电压和单片机型号。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2Flash存储器编程方式 这里的编程是指利用特殊手段将用户编写好的程序代码写入AT89C51片内4 KB字节Flash存储器的过程(89C52方法相同)。编程前必须先确定编程电压。AT89系列单片机只有两种编程电压,一种是低压编程方式,用5 V电压;另一种是高压编程方式,用12 V电压。这一编程电压可从器件封装表面读取或从签名字节中读取。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 (1)在地址线上输入要编程单元的地址。(2)在数据线
36、上输入要写入的数据字节。(3)在 /Vpp端加入编程电压(5 V或12 V)。(4)激活相应的控制信号。(5)在ALE/端加入一个编程负脉冲,数据线上的数据字节就写入地址线上对应的Flash存储器单元地址中了。EAPROG第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 P1P2.6P2.7P3.6P3.7XTAL2XTAL1GNDVCCP0ALERSTEAPSEN5 V编程代码PROGVIHVPP(5 V/12 V)C1C25 VA7A0A11A8地址0000H0FFFHP2.0P2.3图2-12 Flash编程硬件逻辑电路图第第2 2章章 AT89C51AT89
37、C51单片机结构和原理单片机结构和原理 3程序的校验方式 程序校验方式是指对编程中写入的程序代码进行读出,并与程序写入前代码进行比较验证的过程。4EPROM加密方式 用户编写好的程序通过编程和校验无误,写入到EPROM中后,可进行加密保护以防止非法读出受保护的应用软件。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 5程序擦除工作方式 AT89C51单片机的片内Flash存储器可多次编程,但在每次对程序存储器进行编程前必须先执行擦除操作,使存储器单元内容变为全FFH状态(包括签名字节)。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理
38、2.5 AT89C51时钟电路与时序时钟电路与时序 2.5.1 振荡器与时钟电路 单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是CPU时序。而产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51单片机内部有一个用于构成振荡器的单级反相放大器,如图2-13所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 内部时钟电路VCCQ2RfQ3Q4GNDXTAL2Q1D1D2R1XTAL1PD图2-13 AT89C51内部振荡器电路图第第2 2章章 AT89C51AT89C51单片机结
39、构和原理单片机结构和原理 引脚XTAL1为反相器输入端,XTAL2为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器,如图2-14所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 内部时钟电路GNDXTAL1R1RfVCCC1C2XTAL2石英晶体或陶瓷振荡器(外部)PD图2-14 内部振荡器等效电路图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至XTAL1端,输入给内部时
40、钟电路,而XTAL2端浮空即可,如图2-15所示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 AT89C51XTAL2XTAL1GND1NC外部振荡器信号图2-15 外部时钟电路图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.5.2 时序 1振荡周期 振荡周期指由单片机片内或片外振荡器所产生的,为单片机提供时钟源信号的周期(其值为1/fosc)。2时钟周期 时钟周期又称为状态周期S,由内部时钟电路产生,是振荡周期的二倍。每个时钟周期分为P1和P2两个节拍,前半周期P1节拍信号有效,后半周期P2节拍信号有效,每个节拍完成不同的
41、逻辑操作。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 3机器周期 一个机器周期由六个状态周期(12个振荡周期)组成,六个状态周期用S1S6表示,每一状态周期的两个节拍用P1、P2表示,则一个机器周期的12个节拍就可用S1P1、S1P2、S2P1、S6P1、S6P2来表示。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 4指令周期 执行一条指令所占用的全部时间。一个指令周期通常由14个机器周期组成。若外接晶振频率为fosc=12 MHZ,则四个基本周期的具体数值为:(1)振荡周期=1/12 s。(2)时钟周期=1/6 s。(3)机器
42、周期=1 s。(4)指令周期=14 s。第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 读下一个操作码(无效)P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6S1S2S3S4S5S6P1P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1P2S6P1
43、P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2P1P2S1S2P1P2S3P1P2S4P1P2S5P1S6读操作码读第二操作码 (无效)读操作码读第二字节 (无效)读操作码读第二操作码 (无效)读操作码无取指无ALE信号无取指访问外部存储器振荡器时钟(XTAL1)ALE(a)(b)(c)(d)图2-16 AT89C51单片机典型指令时序图第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 习题与思考题习题与思考题2.1 AT89C51单片机内部结构由哪几部分组成?2.2 程序状态字PSW各位的定义是什么?2.3 程序计数器PC的作用是什么
44、?怎样工作?2.4 P0P3口各有什么功能?P0口用作普通I/O口使用时应注意什么?第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.5 AT89C51单片机只用内部Flash存储器时,引脚如何处理?2.6 AT89C51单片机存储器结构是怎样的(画图说明)?片内数据存储器共有多少字节?划分成几个区域工作?2.7 在AT89C51单片机ROM空间中,0003H、000BH、0013H、001BH、0023H有什么特殊用途?2.8 什么是堆栈?堆栈指针SP的初值是多少?堆栈工作必须遵守的原则是什么?EA第第2 2章章 AT89C51AT89C51单片机结构和原理单
45、片机结构和原理 2.9 AT89C51单片机的外RAM和外ROM使用相同的地址空间和同一条总线,那么是否会在总线上出现读错和写错现象?为什么?2.10 什么是对I/O口的“读修改写”操作?2.11 单片机的复位方式有几种?复位后各寄存器、片内RAM的状态如何?2.12 如何改变当前工作寄存器组?2.13 AT89C51单片机的省电运行方式有几种?如何进入和退出?第第2 2章章 AT89C51AT89C51单片机结构和原理单片机结构和原理 2.14 AT89C51中XTAL1和XTAL2的功能是什么?采用外部时钟源时如何处理这两个引脚?2.15 什么是程序加密?2.16 什么是振荡周期、时钟周期、机器周期、指令周期?它们之间关系如何?2.17 什么是指令的时序?简述单字节双周期指令的执行过程,并画出时序图。