




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
AT89C52单片机的结构
和工作原理第2章AT89C52单片机的结构和工作原理
AT89C52单片机的基本结构
AT89C52单片机的引脚功能AT89C52单片机的主要组成部分AT89C52单片机的时钟与复位电路AT89C52单片机的低功耗工作方式AT89C52单片机的时序2.1AT89C52单片机的主要特性和内部总体结构AT89C52与MCS-51兼容,它由8个部件组成:8位CPU核心(时钟电路24MHz
)FlashROM8KBRAM256BSFR128B(27个)并行I/O口(P0~P3口)P0和P2兼作外总线串行口全双工串行口定时器/计数器3个16位中断系统6个中断源,2个优先级图2-1AT89C52单片机的基本结构为适应不同产品的应用需求,AT89C52单片机提供有PDIP、DQFP/TQFP及PLCC等3种封装形式。2.2AT89C52单片机的引脚功能1、电源引脚GND和VccVcc为+5V电源端2、时钟电路引脚XTAL1和XTAL2XTAL1和XTAL2是外接晶体引线端。当芯片使用内部时钟时,用于外接石英晶体和电容;当用外部时钟时,用于接外部时钟脉冲信号。2.2.1单片机引脚功能介绍3、控制信号引脚
ALE地址锁存控制信号
PSEN片外程序存储器选通信号,低电平有效
EA访问外部程序存储器的控制信号,低电平有效
RST复位信号,高电平有效
4、端口线P0~P3P0口(P0.0~P0.7)可作为外部扩展时的数据总线/低8位地址总线的分时复用口,又可作为通用I/O口。每个引脚可驱动8个TTL负载。对Flash进行编程和校验时,P0口用于输入/输出数据。P1口(P1.0~P1.7)可作为通用I/O口。每个引脚可驱动4个TTL负载。对Flash进行编程和校验时,用来接收低8位地址。此外,P1.0和P1.1还可分别作为外部计数输入和输出。P2口(P2.0~P2.7)可作为外部扩展时的高8位地址总线,又可作为通用I/O口。每个引脚可驱动4个TTL负载。对Flash进行编程和校验时,用来接收高位地址。P3口(P3.0~P3.7)是双功能复用口,作为通用I/O口时,功能与P1口相同,常用第二功能。每个引脚可驱动4个TTL负载。2.2.2三总线结构2.3AT89C52单片机的主要组成部分1CPU2存储器3并行I/O接口4串行口、定时器/计数器、中断系统CPU是单片机内部的核心部件,由运算器和控制器两大部分组成。1.运算器运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它以算术逻辑单元(ALU)为核心,加上累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字(PSW)以及十进制调整电路和布尔处理器组成。2.3.1CPU程序状态字PSWCyACF0RS1RS0OV-P
PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0Cy(PSW.7)进位标志位AC(PSW.6)辅助进位(或称半进位)标志F0(PSW.5)用户标志位RS1和RS0(PSW.4,PSW.3)工作寄存器组选择位OV(PSW.2)溢出标志位
PSW.1未定义位P(PSW.0)奇偶标志位Cy是PSW中最常用的标志位。由硬件或软件置位和清零。Cy
字节运算中(ALU):它表示运算结果是否有进位(或借位)。
Cy=SUB⊕C8加法时(SUB=0):有进位Cy由硬件置“1”即Cy=1;无进位Cy被硬件清“0”即Cy=0。减法时(SUB=1):有借位Cy由硬件置“1”即Cy=1;无借位Cy被硬件清“0”即Cy=0。位操作(布尔操作)时,Cy作为累加器使用,其作用相当于字节操作的累加器ACC。在指令中可作为转移的条件
JCrel;cy=1转移
JNCrel;cy=0转移位操作指令中做累加器
ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLC
MOVC,bitMOVbit,CCyCAC(PSW.6)辅助进位(或称半进位)标志。
当执行加减运算时,其运算结果产生低四位向高四位进位或借位时,AC由硬件置“1”;否则AC位被自动清“0”。
AC=SUB⊕
C4
一般在BCD码运算时,系统用于进行十进制调整。AcOVOV(PSW.2)溢出标志位它反映运算结果是否溢出,溢出时则由硬件将OV位置“1”;否则置“0”。只有在补码运算时起作用。
双进位位法判溢出:
OV=C8⊕C7
溢出和进位是两种不同性质的概念。溢出是指有正负号的两个数运算时,运算结果超出了累加器以补码所能表示一个有符号数的范围。补码运算是闭运算。而进位则表示两数运算最高位(D7)相加(或相减)有无进位(或借位)。无符号运算是开运算。因此使用时应加以注意。OV与Cy
F0(PSW.5)用户标志位。用户可根据自己的需要对F0位赋予一定的含义,由用户置位或复位,作为软件标志。
SETBF0;置位
CLRF0
;复位相当于高级语言中的逻辑变量F0P(PSW.0)奇偶标志位
P标志表明累加器ACC中1的个数的奇偶性。在每条指令执行完后,单片机根据ACC的内容对P自动置位或复位。若累加器ACC中有奇数个“1”,则P=1;若累加器ACC中有偶数个“1”,则P=0。P专门用来存放指令代码的专用寄存器对指令进行译码,即把指令转变成所需的电平信号。CPU根据ID输出的电平信号使定时控制电路定时地产生执行该指令所需的各种控制信号,以使计算机能正确执行程序所要求的各种操作。控制器是计算机的指挥控制部件,对来自存储器中的指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需要的控制信号。包括程序计数器PC、指令寄存器IR、指令译码器ID、数据指针DPTR、堆栈指针SP以及定时控制与条件转移逻辑电路等。2.
控制器程序存储器PC取出指令码指令寄存器IR指令译码器ID把指令转变成所需要的电平信号CPU产生执行该指令所需的各种控制信号取指令分析指令执行指令
PC是程序的字节地址计数器,其内容是将要执行的下一条指令的地址,寻址范围达64KB。
PC有自动加1功能,从而实现程序的顺序执行。可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。程序计数器(PC)16位
数据指针DPTR为16位寄存器。它的功能是存放16位的地址,作为访问外部程序存储器和外部数据存储器时的地址。编程时,DPTR既可按16位寄存器使用,也可以按两个8位寄存器分开使用。即:
DPH DPTR的高8位
DPL DPTR的低8位数据指针DPTR
堆栈是一种数据结构,是内部RAM的一段区域。堆栈存取数据的原则是“后进先出”。堆栈指针SP是一个8位寄存器,用于指示堆栈的栈顶,它决定了堆栈在内部RAM中的物理位置。
AT89C52单片机的堆栈地址向大的方向变化(与微机堆栈地址向小的方向变化相反)。系统复位后,SP初值为07H,实际应用中通常根据需要在主程序开始处对堆栈指针SP进行初始化,一般设置SP为30~7FH。设立堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。堆栈指针SP8位2.3.2存储器1程序存储器2数据存储器3特殊功能寄存器2.3.2AT89C52单片机的存储器
单片机在系统结构上采用了哈佛型,其存储器在物理结构上分程序存储器(ROM)和数据存储器(RAM)。有四个物理上相互独立的存储空间,其配置如图2-6所示:片内ROM片外ROM片内RAM
片外RAM/I/O口8KB256B128BSFR
用户使用的角度上看,存储空间分为三类:
片内外统一编址的64K字节的ROM;
256字节片内RAM;
64K字节片外RAM或I/O口地址空间四个空间地址的重叠
ROM中片内外低8K字节:控制信号/EARAM中片内外低256个字节:MOV与MOVXRAM与ROM64K地址:控制信号/PSEN
SFR和高128B的RAM:直接寻址和间接寻址说明0000H-0002H(开机复位单元)3个0003H-000AH(INT0中断地址区)8个000BH-0012H(T/C0中断地址区)8个0013H-001AH(INT1中断地址区)8个001BH-0022H(T/C1中断地址区)8个0023H-002AH(串行口中断地址区)8个002BH-0032H(T/C2中断地址区)8个1程序存储器程序存储器用来存放程序和常数,分为片内和片外两部分。AT89C52内部带有8KB的FlashROM,地址范围是0000H-1FFFH,片外用16位地址线扩充64kB的ROM,两者统一编址。(从片内还是从片外取指取决于EA)特殊单元
当CPU的引脚/EA接高电平时,PC在0000H~1FFFH范围内,CPU从片内ROM取指令;而当PC>1FFFH后,则自动转向片外ROM去取指令。当引脚/EA接低电平时,89C52片内ROM不起作用,CPU只能从片外ROM取指令,地址可以从0000H开始编址
89C52从片内ROM和片外ROM取指时执行速度相同。
数据存储器用来存放运算的中间结果、标志位及数据的暂存和缓冲等。分为片内RAM和片外RAM。89C52单片机片内数据存储器最大可寻址256个单元,片外可寻址16位(64kB)的地址空间。片内数据存储器和片外数据存储器是单独编址的。2数据存储器片内数据存储器(RAM)与T2相关的6个SFR没有列出用户RAM区(堆栈、数据缓冲)(30H-FFH)位寻址区(位地址00H-7FH)(20H-2FH)第3组通用寄存器(18H-1FH)第2组通用寄存器(10H-17H)第1组通用寄存器(08H-0FH)第0组通用寄存器(00H-07H)用于存放操作数及中间结果。由于它们的功能预先不作规定,因此称为通用寄存器,也叫工作寄存器。任一时刻,CPU只能使用一组工作寄存器。(由PSW的RS0和RS1决定)可以直接对位进行寻址(共16个单元,128个位)用于存放用户数据和做堆栈用00HFFH内部RAM的三个区域R0~R74个(1)工作寄存器(00H~1FH)RS1RS0寄存器组片内RAM地址00第0组00H~07H01第1组08H~0FH10第2组10H~17H11第3组18H~1FH
这16个单元(共计128位)的每一位都有一个8位表示的位地址,位寻址范围为00H~7FH。(2)可位寻址区(20H~2FH)47H46H45H44H43H42H41H40HD0D1D2D3D4D5D6D728H字节地址MOV28H,#56HSETB43HCLR42H0010101110字节操作位操作
30H~FFH是供用户使用的一般RAM区,也是数据缓冲区,共208个单元。对用户RAM区的使用没有任何规定或限制,一般用于存放用户数据及作堆栈区使用。(3)用户RAM区(30H~FFH)当一条指令访问7FH以上的内部地址单元时,寻址方式决定是访问高128B的RAM单元还是访问特殊功能寄存器。80H-FFH单元高128个字节与特殊功能器地址是重叠的,但物理上分开。直接寻址方式,访问SFR
MOV0A0H,#data;P2口字节地址为0A0H间接寻址方式,访问高128B的RAM单元
MOVR0,#0A0HMOV@R0,#data高128字节特殊功能寄存器SFR
89C52片内有27个特殊功能寄存器,又称为专用寄存器。它们离散地分布在80H~0FFHRAM空间中。在27个特殊功能寄存器中,有12个寄存器可位寻址。它们的字节地址正好能被8整除,而且字节地址与该字节最低位的位地址相同。符号名称地址*ACC累加器0E0H*BB寄存器0F0H*PSW程序状态字0D0HSP堆栈指针81HDPTR(DPH,DPL)数据指针(高字节,低字节)82H、83H*P0P0口80H*P1P1口90H*P2P2口0A0H*P3P3口0B0H*IP中断优先级控制寄存器0B8H*IE中断允许控制寄存器0A8HTMOD定时器/计数器方式控制89H*TCON定时器/计数器控制寄存器88HTH0定时器/计数器0的高字节8CHTL0定时器/计数器0的低字节8AHTH1定时器/计数器1的高字节8DHTL1定时器/计数器1的低字节8BH*SCON串行控制98HSBUF串行数据缓冲器99HPCON电源控制寄存器87H特殊功能寄存器SFR的名称及地址(与T2相关的6个SFR没有列出)符号地址位地址字节地址BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HIP---BCBBBAB9B8B8HP3B7B6B5B4B3B2B1B0B0HIEAF--ACABAAA9A8A8HP2A7A6A5A4A3A2A1A0A0HSBUF99HSCON9F9E9D9C9B9A999898HP1979695949392919090HTH18DHTH08CHTL18BHTL08AHTMOD89HTCON8F8E8D8C8B8A898888HPCON87HDPH83HDPL82HSP81HP0878685848382818080H特殊功能寄存器地址分布图2.3.4并行I/O接口
89C52有4个8位并行接口即P0-P3,它们都具有双向I/O功能,均可以作为数据输入/输出使用。每个I/O口由输出锁存器、输出驱动器和数据输入缓冲器组成。
在访问片外存储器时,P2为高8位地址线,P0口分时输出低8位地址和8位数据;P3口常作为控制线使用。
计算机与外界、计算机与计算机之间的信息交换称为通信,有串行通信和并行通信两种基本方式。并行通信是数据的各位同时传送,而串行通信是数据的各位按顺序一位一位地传送。
89C52单片机内部有一个可编程的全双工的串行接口。三个相关的SFR:串行数据缓冲寄存器SBUF,串行口控制寄存器SCON、电源控制和波特率选择寄存器PCON。串行口89C52内部有3个16位可编程序的定时器/计数器,均为二进制加1计数器,命名为T0~T2。T0和T1均有定时和计数的功能,共有4种工作方式,T2还有其他功能。定时器/计数器(T/C)在定时器模式下,计数脉冲可以由单片机时钟脉冲经12分频后提供。在计数器模式下,计数脉冲可以从P3.4和P3.5引脚上输入。
对T0~T2的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成。中断系统89C52可处理6个中断源(2个外部,4个内部)发出的中断请求,并可对其进行优先权处理。外部中断的请求信号可以从P3.2和P3.3(即INT0和INT1)引脚上输入,有电平或边沿两种触发方式;内部中断源有4个,3个定时器/计数器中断源和1个串行口中断源。中断:CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。中断系统:能够实现中断功能的硬件电路和软件程序。中断源:能产生中断请求信号的源泉。与中断有关的SFR有:TCON、SCON、中断允许控制器IE和中断优先级控制器IP。
片内振荡器结构和时钟电路2.4AT89C52单片机的时钟与复位电路MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
单片机时钟电路通常有两种形式:
1.内部时钟方式:外接石英晶体和电容组成的并联谐振电路
2.外部时钟方式:外部振荡方式就是把外部已有的时钟信号引入单片机内。常用于多片单片机组成的系统中。使用片外振荡信号接法
内部时钟方式
XTAL1XTAL2C1C2CYSXTAL2GNDNCXTAL1外部振荡器信号1、单片机的初始化操作-复位单片机在开机时都需要复位,以使CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。当程序运行出错或者操作错误使系统处于死循环时,也需按复位键重新启动机器。2、复位信号
RST引脚是复位信号的输入端,复位信号为高电平有效。当高电平持续24个振荡脉冲周期即两个机器周期以上时,单片机完成复位。
复位操作与复位电路MCS-51单片机复位后PC与SFR状态表寄存器内容寄存器内容PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000B复位后不影响片内RAM存放的内容3、复位电路复位分为按键手动复位和上电自动复位。2.5
AT89C52单片机的低功耗工作方式1.空闲方式
在程序执行过程中,如果不需要CPU工作可以让它进入空闲工作方式。
2.掉电方式
先把有用信息转存,然后再启用备用电源维持供电。信息转存是指当电源出现故障时,立即将有用信息转存到内部RAM中,是通过中断服务程序完成的。接通备用电源后,内部RAM由备用电源供电,该工作由切换电路完成。PCON.7PCON.6PCON.5PCON.4PCON.3PCON.2PCON.1PCON.0SMOD--POFGF1GF0PDIDL空闲和掉电方式的进入由单片机执行程序来控制退出空闲方式可采用中断或复位;退出掉电方式只能由硬件复位振荡器时钟发生器中断、串行口和定时器控制模块PDIDLM1M2至CPU低功耗工作方式原理图2.5.2CPU时序1.节拍与状态把振荡脉冲的周期定义为节拍(用P表示)。每2个节拍定义为一个状态(用S表示)。2.机器周期MCS-51规定一个机器周期的宽度为6个状态。由于1个状态包括2个节拍,因此一个机器周期总共有12个节拍。即1Tcy=12/fosc3.指令周期执行一条指令所需的时间称为指令周期。MCS-51的指令周期根据指令的不同,可分别包含有一、二、四个机器周期。
时序定时单位MCS-51的时序定时单位从小到大依次为:节拍、状态、机器周期和指令周期。单片机在执行指令时,通常将一条指令分解为若干基本的微操作,这些微操作所对应的脉冲信号在时间上的先后次序称为单片机的时序。P1P2P2振荡周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S1S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2单片机各种周期的相互关系取指/执行时序读下一条指令读下一条指令XTAL2(OSC)P2S1ALE读操作码读下一个操作码(丢弃)读第二字节(a)单字节,单周期指令例:MOVA,R1(d)单字节,双周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1读下一个操作码(丢弃)(b)双字节,单周期指令例:ADDA,direct(c)单字节,双周期指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025青海建筑安全员考试题库附答案
- 2025河北省建筑安全员《B证》考试题库及答案
- 2025上海市建筑安全员知识题库附答案
- 大学生感恩教育班会
- 2025年-湖南省安全员B证考试题库附答案
- 2025年浙江省安全员B证考试题库
- 幼儿防溺水安全教育知识
- 银行产品创新创业
- 脓毒血症护理查体
- 如何应对突发疫情在养老院
- 居民死亡医学证明书英文翻译模板
- 劳 务 中 标 通 知 书
- 建房界址四邻无争议确认表
- 化工安全工程:第四章 泄漏源及扩散模式
- 流变性以及其调整
- 完整版安全生产培训内容
- 医院关于待岗、停岗的规定
- [四川]”寻仙踪、走诗路“诗歌度假小镇规划概念方案
- 10大气复合污染条件下新粒子生成与二次气溶胶增长机制
- 2022危险化学品企业重点人员安全资质达标导则-应急危化二〔2021〕1号
- 鲁迅小说中的“记忆”叙事
评论
0/150
提交评论