导图社区 第二章AT89S52单片机的硬件结构
这是一篇关于第二章AT89S52单片机的硬件结构的思维导图,主要内容包括:AT89S52单片机的低功耗节电模式,AT89S52单片机的最小系统,AT89S52单片机的复位操作及复位电路,AT89S52单片机的时钟电路与时序,AT89S52单片机I/O端口,AT89S52单片机的存储器结构,AT89S52单片机的微处理器CPU,AT89S52单片机的硬件组成及引脚结构。
编辑于2025-04-07 15:37:16第二章AT89S52单片机的硬件结构
AT89S52单片机的硬件组成及引脚结构
.AT89S52单片机的功能部件及特点 (1)8位微处理器 CPU:AT89S52单片机8位CPU包括运算器和控制器 (2)数据存储 RAM:AT89S52单片机片内有256x8b RAM,片外最多可以扩展64KB的数据存储器,用来存放数据 (3)程序存储器ROM:AT89S52 单片机片内有8 KB Flash ROM存储器,片外最多可以扩展64KB (4)可编程并行I/0口:程序存储器,用来存放程序代码和功能AT89S52单片机包含4个8位可编程并行1/0口,即PO口、PI口P2口和P3 口 (5)串行通信接口 UART:AT89S52单片机包含1个全双工的异步串行通信接口UART,有4种工作方式,可以进行一对一单机串行通信、一对多多机串行通信,还可用于扩展并行1/0接口。 (6)定时器/计数器:AT89S52单片机包括3个可编程的16位定时器/计数器﹣-TO、T1和T2,具有4种工作方式,可用于内部定时和外部事件计数。 (7)"看门狗"定时器 WDT:AT89S52单片机"看门狗"定时器用于监视程序的运行。当单片机应用系统受到干扰引起程序"跑飞"或进人"死循环"状态时,"看门狗"会使系统复位,重新从0000H地址处执行程序。WDT包括1个14位计数器和"看门狗"复位寄存器 WDTRST (8)中断系统:AT89S52单片机有8个中断源、6个中断矢量、2级中断优先权,每个中断源都可以分别使能和禁止。 (9)特殊功能寄存器 SFR:AT89S52单片机共有32个特殊功能寄存器SFR,单元地址映射在片内RAM 中,用于CPU对片内外设部件进行管理、控制和监视。 (10)低功耗模式:AT89S52单片机有两种低功耗节电模式:空闲模式和掉电模式,且具有掉电模式下的中断恢复模式 (11)工作电压:AT89S52单片机工作电压Vcc范围是4.5~5.5V。 (12)时钟频率:AT89S52单片机的外部时钟频率为0~33 MHz。
控制引脚
(1)PSEN:访问片外程序存储器的读选通信号,低电平有效。访问片外程序存储器读取指令代码时,每个机器周期输出两个PSEN有效脉冲。读取片内程序存储器指令代码时不产生脉冲,读取外部存储器数据时也不产生PSEN信号。
(2) ALE/PROG:ALE为地址锁存信号为第一功能。访问外部程序存储器或外部数据存储器时,ALE提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6(即6分频),可用作外部定时或触发信号。
(3) EA/Vpp:EA为外部程序存储器访问允许控制信号,是第一功能。EA为高电平,在PC值不超出1FFFH(即不超出片内8 KB Flash存储器的地址范围)时,AT89S52单片机执行片内程序存储器(8KB)中的指令代码但当PC值超出IFFFH(即超出片内8KBFlash地址范围)时,将自动转向读取片外56KB(2000H~FFFFH)程序存储器空间中的指令代码。当EA引脚为低电平时,只读取外部程序存储器中的指令代码,地址为0000H~FFFFH,此时片内的8 KB Flash 程序存储器不起作用。Vpp为第二功能,对片内8 KB Flash编程时,该引脚接 12 V 编程电压
(4)RST:复位信号输人,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作时此引脚电平应≤0.5V。当"看门狗"定时器溢出时,向该引脚输出长达96个时钟振荡周期的高电平,使单片机复位
电源及时钟引脚
(1) Vcc接+5V直流电
(2)Vss接数字地
(3)XTAL1(19脚)片内时钟振荡器的反相放大器的输入端。当使用片内时钟振荡器时,该引脚接外部石英晶体和微调电容。当使用外部时钟振荡器时,该引脚接外部时钟振荡器的输出信号
(4)XTAL2(18脚)片内时钟振荡器的反相放大器的输出端。当使用片内时钟振荡器时,该引脚连接外部石英晶体和微调电容。当使用外部时钟振荡器时,该引脚悬空
并行I/0口引脚
(1) PO 口:PO为漏极开路的8位并行双向I/0口。当作为输出口时,每个引脚可以驱800MA动8个LS型TTL负载。当向PO 口写人1后,PO口就成为高阻态的输入口。当作为通用1/0口使用时,需要外接上拉电阻,为准双向口。当AT89S52扩展外部存储器和1/O接口芯片时,PO口为分时复用的低8位地址/数据总线,为双向口,此时,PO口内部被拉高。当对片内Flash程序存储器编程时,PO口接收字节代码,在程序校验时,PO口输出字节代码,程序校验期间应外接上拉电阻
(2)P1口:Flash编程和校验时,P1口定义为低8位地址线,P1口为准双向I/O口,引脚内部接有上拉电阻,可以驱动4个LS型TTL负载。 P1口部分引脚的第二功能
(3)P2口:P2口为准双向I/O口,引脚内部接有上拉电阻,可以驱动4个LS型TTL 当AT89S52访问外部存储器及I/O接口芯片时,P2提供高8位地址。当P2口不作地址总线使用时,可作为通用I/O口使用。当CPU访问外部程序存储器、外部数据存储器及可编程接口芯片时,PO口、P2口与ALE地址锁存信号相配合,提供16位地址,当 CPU 访问外部程序存储器、外部数据存储器及可编程接口芯片时, ALE 引脚的负跳变将 PO 口先发出的低8位地址锁存在地址锁存器74LS373中,与P2口输出的高8位地址一同形成16位地址,然后 PO 口再作为数据总线,输出8位二进制数据
(4)P3口:P3口为准双向 I / O 口,引脚内部接有上拉电阻。P3口用作第一功能时,可以驱动4个 LS 型 TTL 负载。P3口引脚还具有第二功能
AT89S52单片机的微处理器CPU
运算器
1.算术逻辑运算单元:算术逻辑运算单元ALU是运算器的核心部件,由加法器、移位电路和判断电路等组成,完成对8位数据的算术加、减、乘、除运算,逻辑与、或、异或、求反、循环移位、清零等操作,同时还可以对位变量进行"位"操作,如置1、清0、求反、测试转移及逻辑与、或等操作。
2.累加器 A/Acc :累加器A是一个8位寄存器,参与算数和逻辑运算的操作数通过累加器A 的寄存器。
3.程序状态字寄存器:PSW位于片内特殊功能寄存器区,字节地址为DOH。PSW各位包含了程序运行状态的不同信息,其中5位保存当前指令执行后的状态,供程序查询和判断;2位是工作寄存器区选择控制位寄存器B在进行乘法和除法运算时,寄存器B作为ALU的输入之一,与累加器 A 配合完成运算,并保存运算结果。在执行其他指令时,寄存器B可用作暂存器使用
4.暂存器:单片机CPU中有两个暂存器,用于暂存进入ALU之前的操作数
控制器:控制指令的读人、译码和执行,根据指令的性质控制单片机片内各部件,对单片机各功能部件进行定时和逻辑控制。控制器包括程序计数器pc、指令寄存器IR、堆栈指针SP、双数据指针DPTRO和DPTRI 定时及控制逻辑电路等部件
1.程序计数器PC:程序计数器PC是程序存储器的地址指针,用于存放当前正在执行指令的下一条指令的首地址。当按照PC所指向的地址从存储器中取出一条指令后,PC 会指向下一条指令的首地址。PC是一个独立的16位计数器,可以对2"=64KB范围程序存储器进行寻址
2.指令寄存器IR:指令寄存器 IR的功能是对将要执行的指令进行存储和译码。当指令代码送入IR后,对该指令进行译码,即把指令转变成所需要的电平信号,CPU根据译码输出的电平信号,使定时及控制逻辑电路产生执行指令所需要的时钟和控制信号,并执行指令
AT89S52单片机的存储器结构
程序存储器空间 程存储器用于存放已编辑调试好的程序和数据表格之类的固定常数,使单片机能够按照预先编制的程序依次执行指令,完成预定功能。种程序存储器分为片内程序存储器和片外程序存储器两部分。AT89S52单片机片内程序存储器为8KB的Flash,地址范围为0000H-1FFFH,编程和擦除完全是电气实现,速度快,可用通用编程器对其编程,也可在线编程ISP。当片内8KB 可扩展至64KB程序存储器,地址范围为0000H-FFFFH。关于程序存储器的使的Flash 存储器不够用时,可片外扩展。AT89S52单片机有16位地址总线
数据存储器空间 数据存储器用于存放运算的中间结果、数据暂存和缓冲、标志位等。AT89S52单片机的数据存储器分为片内和片外两个部分
1. 片内数据存储器空间:AT89S52单片机的片内数据存储器RAM共256个单元,片内RAM字节地址00H~1FH的32个单元是4组通用工作寄存器区,每组工作寄存器区包含8x8b工作寄存器,编号为RO~R7 ,片内256B的RAM
2. 片外数据存储器空间:AT89S52单片机有16位地址总线,最多可扩展至64KB数据存储器,地址范围为0000H~FFFFH。访问片内RAM,使用指令MOV:当访问片外RAM时,使用指令MOVX
特殊功能寄存器空间 AT89S52单片机的特殊功能寄存器SFR是专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态和结果的寄存器,共有32个特殊功能寄存器
1.辅助寄存器AUXR和 AUXR1: AUXR用于管理"看门狗"定时器和 ALE 引脚的脉冲输出。AUXR1 用于选择数据指针 DPTR 和DPTR1
2.堆栈指针SP :在片内RAM中一个专门的区域来存放某些特别的数据,它遵循"先进后出的规则,这个 RAM区叫做堆栈。堆栈主要是为了程序调用和中断操作而设立的 (1)保护断点:在子程序调用或中断服务子程序调用时,CPU将当前PC值压栈保存,返回时CPU自动将PC值弹出。 (2)现场保护/恢复现场:在调用子程序或中断服务子程序时,CPU要把主程序中相关寄存器的内容压入堆栈保存起来 堆栈包括数据压入堆栈(PUSH)和数据弹出堆栈(POP)
3.数据指针DPTRO和DPTR1 DPTRO和DPTR1为双数据指针寄存器,分别由两个8位寄存器DPOL和DPOH、DP1L和DP1H构成,用于访问内部和外部数据存储器。由AUXR1 寄存器来选择使用数据指针DPTRO和DPTR
位地址空间 AT89S52单片机可直接位寻址的空间共有219个,其中一部分位于内部RAM,字节地址为20H~2FH这16个单元,共128位,位地址为00H~7FH;另一部分位于特殊功能寄存器区,字节地址为80H~FFH区间、末尾为0或8的单元
AT89S52单片机I/O端口
P0口
作地址/数据总线 当AT89S52单片机外部扩展存储器或可编程接口芯片时,PO口作为地址/数据总线,分时复用(双向口),用来输出低8位地址和8位数据信息。 (1)"控制"端信号为1,开关MUX打向上位,接通反相器的输出。 当"地址/数据"输出信息为1时,与门输出为1, VTO导通,非门输出为0, VT1截止,PO.x输出为1。(2)"控制"端信号为0, 当"地址/数据"输出信息为0时,与门输出为0, VTO截止,非门输出为1, VT1导通,PO.x输出为0
作通用I/O口 "控制"端信号为0,MUX打向下位,接通锁存器的Q端,与门输出为0, VTO截止。 (1)锁存器 D=1时,Q=0,VT1截止,输出为漏极开路,此时引脚PO.x必须外接上拉电阻=1;当锁存器D=0时,Q=1,VT1导通,引脚PO.x=0 (2)向锁存器写1,VT0截止锁存器Q=0,VT1截止
P1口
作为通用1/0口 (1) CPU输出1时,锁存器D=1,Q’=0,VT1截止,P1.x=1 (2)当CPU输出0时,锁存器D=0、Q’=1,VTI导通,PI.x=0 (3)向锁存器写1,锁存器Q=0.VT1截止, P1.x的状态经三态缓冲器BUF2进入内部数据总线
作为第二功能使用 P1.0/T2用作定时器/计数器T2的外部计数信号输人/时钟输出的引脚,P1.1/T2EX用作定时器/计数器T2的捕获/重装载触发及方向控制引脚,PL.5、Pl.6和P1.7引脚用于ISP操作。在Flash编程利校验时,P1口接收低8位地址字节
P2口
作高8位地址总线 (1)"地址"线为0时,经非门输出为1, VT1导通,引脚P2.x= 0。 (2)当"地址"线为1时,经非门输出为0, VT1截止,有上拉电阻, P2.x= 1。
作通用I/0口 (1)作通用I/O口输出,当CPU输出1时,Q=1,经非门输出为0, VT1截止, P2.x= 1。(2)CPU输出0时,Q=0,经非门输出为1, VT1导通, P2.x= 0。 (3)向锁存器写1,锁存器Q=1,经非门输出为0,VT1截止, P2.x的状态经三态缓冲器BUF2进入内部数据总线。
P3口
作第二功能输入输出 (1)输出,锁存器D=1,Q=1,与非门为开启。当输出为1时,与非门输出为0, VT1截止,由于有内部上拉电阻,P3.x= 1。当输出为0时,与非门输出为1, VT1导通,P3.x=0。 (2)输入,P3.x位的锁存器和第二功能输出端均需要置1,与非门输出为0, VT1截止,转入由P3.x引脚的信息经输入缓冲器BUF3的输出获得。
作通用I/O口使用 (1)输出,第二功能输出端置1,与非门为开启,CPU输出1时,锁存器Q=1,VT1截止,P3.x=1。 CPU 输出0,锁存器Q=0,VT1导通,P3.x=0 (2)输入, "读锁存器",锁存器的状态由Q端经三态缓冲器 BUF1 进入内部数据总线。 "读引脚",P3.x位的锁存器和第二功能输出端均需要置1,与非门输出为0, VT1截止,P3.x 引脚的信息经BUF3和BUF2进入内部总线。
AT89S52单片机的时钟电路与时序
时钟电路
内部时钟方式:最高时钟频率为33 MHz,频率通常可选择6 MHz、12 MHz(可得到准确的定时时间)、11.0592 MHz(在串行通信中,可以得到准确的串行通信波特率)和33 MHz
外部时钟方式:使用外部震荡时钟脉冲信号,时钟与XTAL1连接,XTAL2悬空
时序
时钟周期:晶振频率的倒数,若晶振频率为fosc,则时钟周期Tosc=1/fosc。 若fosc=6 MHz,则Tosc=166.7ns。
时钟周期:12个时钟周期为1个机器周期,即Tcy=12/fosco 若fosc=6 MHz,则 Toy=12/fosc=2 Jus;若fosc=12 MHz,则Tey=12/fosc=1 Ms。机器周期分为S1~S6,每个状态又分P1和P2。
指令周期:CPU 执行一条指令所需要的时间。指令可分为单字节、双字节和三字节,按时间可分为单周期、双周期和四周期指令
访问外部数据存储器:读取指令代码时,每个机器周期PSEN信号两次有效,读取数据时,RD信号有效;写数据时,WR 信号有效
AT89S52单片机的复位操作及复位电路
复位操作:单片机片内各寄存器的初始化,给单片机的存储 复位脚RST加上大于2个机器周期的高电平,可以使单片机复位
上电复位:利用电容器C充电实现,RST 引脚上的高电平持续时间必须大于2个机器周期
手动复位:按下按键开关后,通过电阻R和R 的分压,在RST引脚上产生高电平,按键开关按下的时间决定了复位的时间
AT89S52单片机的最小系统
最少元件组成单片机可以工作的系统。有8 KB Flash程序存储器和256B RAM存储单元,外接时钟电路、复位电路和电源电路,这些就可以构成一个 AT89S52 单片机最小系统。在最小系统的基础上,根据需求分别在PO~P3口连接小型键盘、LED/LCD 显示器以及数字量输入变量
AT89S52单片机的低功耗节电模式
空闲模式
1进入空闲模式 用指令将PCON中的IDL位置1,通往CPU的时钟信号被关断,单片机进入空闲模式,虽然振荡器运行,但是CPU进入空闲状态。此时片内外围电路的中断系统、串行口和定时器仍继续工作,而内部RAM、SP、PC、PSW、A和PO~P3等特殊功能寄存器中的内容均保持进入空闲模式前的状态
(1)中断退出:由于在空闲模式下,中断系统仍在工作,所以任何中断请求被响应都可以使IDL位由硬件自动清零,从而退出空闲模式,执行中断服务子程序。 (2)硬件复位退出:硬件复位时,各个特殊功能寄存器都会恢复默认状态,PCON中的IDL位清零,退出空闲模式,单片机从头开始执行程序
掉电模式
进入掉电模式 用指令将PCON中PD位置1,便进入掉电模式。,振荡器停止工作。所有功能部件均停止工作,片内RAM和SFR的原来内容都被保留,有关端口的输出状态值都保存在特殊功能寄存器中。
退出掉电模式:外部中断和硬件复位操作均可退出掉电模式。Vcc可以降低到2V,在进入掉电模式之前,Vcc不能降低
浮动主题
浮动主题