第2章 硬件结构
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)增加在线可编程功能ISP(In System Program),字 节和页编程,现场程序调试和修改更加方便灵活; (2)数据指针增加到两个,方便了对片外RAM的访问过程; (3)增加了看门狗定时器,提高了系统的抗干扰能力;
(4)增加断电标志;
(5)增加掉电状态下的中断恢复模式;
6
7
2.2.1
图2-2 AT89S51双列直插封装方式的引脚
8
2.2.2
控制引脚
(1)RST
(RESET,9脚): 复位信号输入,在引脚 加上持续时间大于2个 机器周期的高电平,可 使单片机复位。 当看门狗定时器溢出输 出时,该脚将输出长达 96个时钟振荡周期的高 电平。
9
地址范围
10
11
12
PSEN(29脚):此脚的输出是外部程序存储器 的读选通信号。在从外部程序存储器取指令(或 常数)期间,每个机器周期两次PSEN有效。但 在此期间,每当访问外部数据存储器时,这两次 有效的PSEN信号将不出现。PSEN同样可以驱动 (吸收或输出)8个LS型的TTL输入。 EA/VPP(31脚):当EA端保持高电平时,访问 内部程序存储器,但在PC(程序计数器)值超过 0FFFH(对851/8751/80C51)或1FFFH(对8052 )时,将自动转向执行外部程序存储器内的程序 。当EA保持低电平时,则只访问外部程序存储器 ,不管是否有内部程序存储器。对于常用的8031 来说,无内部程序存储器,所以EA脚必须常接地 ,这样才能只选择外部程序存储器。 13
电源及时钟引脚
1.电源引脚:VCC、VSS。 2.时钟引脚:
(1)XTAL1(19脚):片内振荡器反相 放大器和时钟发生器电路输入端。用片 内振荡器时,该脚接外部石英晶体和微 调电容。外接时钟源时,该脚接外部时 钟振荡器的信号。 (2)XTAL2(18脚):片内振荡器反相 放大器的输出端。当使用片内振荡器, 该脚连接外部石英晶体和微调电容。当 使用外部时钟源时,本脚悬空。
38
2.4.3 SFR
5.
AUXR1寄存器
AUXR1是辅助寄存器,格式如图2-6: DPS:数据指针寄存器选择位。
0:选择数据指针寄存器DPTR0; 1:选择数据指针寄存器DPTR1。
图2-6 AUXR1寄存器的格式
39
2.4.3 SFR
6.
看门狗定时器WDT
包含1个14位计数器和看门狗定时器复位寄存器(
3
(7)1个WDT; (8)中断系统具有5个中断源、5个中断向量;
(9)特殊功能寄存器(SFR)26个;
(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式 下的中断恢复模式; (11)3个程序加密锁定位;
4
控制外 围部件
图2-1 AT89S51单片机片内结构
5
与AT89C51比,AT89S51更突出的优点:
用作复位和中断入口
表2-3 ROM中专用存储区域
存储单元 0000H~0002H 0003H~000AH 000BH~0012H 0013H~001AH 001BH~0022H 0023H~002AH 002BH~0032H 应 用 复位后引导程序地址 外中断0 定时器0中断 外中断1 定时器1中断
(7)P(PSW.0)奇偶标志位
指令执行完,累加器A中“1”的个数是奇数还是偶 数。 P=1,表示A中“1”的个数为奇数。P=0,表示 A中“1”的个数为偶数。 此标志位对串行通信有重要的意义,常用来检验数 据串行传输的可靠性。
20
2.3.2
控制器
识别指令,控制单片机各功能部件,保证单片
16
2.3
2.3.1
AT89S51的CPU
运算器
由运算器和控制器构成的
对操作数进行算术、逻辑和位运算 1、算术逻辑运算单元ALU
2、累加器A
存放ALU单元的源数据和目的数据 数据传送的中转站 进位标志Cy
17
3、程序状态字寄存器PSW
位于片内特殊功能寄存器区,字节地址为D0H。 包含了程序运行状态的信息
第2章
AT89S51单片机 硬件结构
1
内容概要
AT89S51片内硬件基本结构、引脚功能、存储器结构、特
殊功能寄存器功能、4个并行I/O口的结构和特点,
复位电路和时钟电路的设计,节电工作模式。
目的:为AT89S51系统的应用设计打下基础。 掌握单片机的硬件结构以便熟练地使用软件控制硬件。
2
2.1
4)P3口:8位,准双向I/O口,具有内部上拉电阻
可作为通用的I/O口使用。 P3口还可提供第二功能。第二功能定义如表2-1,
应熟记。
15
综上所述:
P0口可作为总线口,为双向口。作为通用的
I/O口使用时,为准双向口,这时需加上拉电 阻。 P1口、P2口、P3口均为准双向口,准双向口仅 有两个状态。 P0口为双向三态I/O口。当P0口作为总线使用 ,口线内无上拉电阻,处于高阻“悬浮”态。 为什么P0口要有高阻“悬浮”态? 准双向口作通用I/O的输入口使用时,一定要 向该口先写入“1”。
最多可外扩64KB的RAM。 片内RAM与片外RAM两个空间是相互独立的; 片内RAM与片外RAM的低128B的地址是相同的,
但由于使用的是不同的访问指令,所以不会发 生冲突。
30
2.4.3 SFR 特殊功能寄存器集中控制各功能部件。特 殊功能寄存器映射在片内RAM的80H~FFH 区域中,共26个。 与AT89C51相比,新增5个SFR:DP1L、DP1H 、AUXR、AUXR1和WDTRST。 可位寻址的SFR,字节地址末位只能是0H或 8H。
口锁存器写1。由于在输入时还必须附加一个准 备动作,因此称为“准双向”。
(2)P1口:8位,准双向I/O口,具有内部上拉电
阻。
14
(3)P2口:8位,准双向I/O口,具有内部上拉电 阻。
当AT89S51扩展外部存储器及I/O口时,P2口作为高8位
地址总线用,输出高8位地址。 P2口也可作为普通的I/O口使用。
跳转指令
串行口中断 定时器2中断(增强型机)
2.4.2 数据存储器空间 1.片内数据存储器
片内数据存储器(RAM)共128个单元,字节地
址为00H~7FH
字节寻址的用户区 16字节128位位寻址区
4组通用工作寄存器区
28
片内数据存储器按照寻址方式,可以分 为三个部分:低128字节数据区,高128字 节数据区,特殊功能寄存器区。如下图所 示。
FFH FFH FFH 高128B RAM idata区 80H 低128B RAM data区 00H 00H 寄存器间 7FH 低128B 接寻址 RAM 特殊功能 寄存器
特殊功能
寄存器 80H 7FH
直接 寻址 80H
data区 (b)增强型单片机片内RAM
(a)89C51片内 RAM
2.4.2 数据存储器空间 2.片外数据存储器
33
2.4.Baidu Nhomakorabea SFR 1.堆栈指针SP
堆栈用于在中断和函数调用时保护断点和现场 SP指示堆栈顶部在内部RAM块中的位置。 堆栈结构--向上生长型。
单片机复位后,SP为07H,使得堆栈实际上从
08H单元开始,由于08H~1FH单元分别是属于1 ~3组的工作寄存器区,最好在复位后把SP值 改置为60H或更大的值,避免堆栈与工作寄存 器冲突。
2.2.3
并行I/O口引脚
(1)P0口:8位,漏极开路的双向I/O口
当外扩存储器及I/O接口芯片时,分时复用为低 8位地址总线和数据总线的端口。 P0口作通用I/O口时,需加上拉电阻,这时为准 双向口。作为通用I/O输入,应先向端口写入1 。
准双向I/O口,作为通用I/O输入时,应先向端
22
2.4 AT89S51存储器的结构
哈佛结构 存储器空间可分为4类 1.程序存储器空间
片内4Kflash ROM; 片外可扩充到64K ROM。
2.数据存储器空间 片内有128 B RAM(52子系列为256B)。
片外可扩展至64KB RAM。
23
2.4 AT89S51存储器的结构
31
32
提问:
1、进行系统扩展时,P2口除用作地址扩展外 ,剩余的口线能否用作通用I/O口? 2、AT89S51有多少个特殊功能寄存器? 3、请简单说明PSW每一位的功能。 4、以下SFR哪些是可以位寻址的?
P0(80H),TL0(8AH),P1(90H),SBUF(99H)
3.特殊功能寄存器SFR
片内各功能部件的控制寄存器及状态寄存器。 SFR综合反映了整个单片机基本系统内部实际的工作 状态及工作方式。
4.位地址空间 共有211个可寻址位,构成了位地址空间。它们位于内部 RAM(共128位)和特殊功能寄存器区(共83位)中。
24
25
程序存储器结构
图2-3
PSW的格式
18
PSW中各个位的功能
(1)Cy(PSW.7)进位标志位(可写为C)
在算术和逻辑运算时,若有进位/借位,Cy=1;否则 ,Cy=0。 在位处理器中,它是位累加器。
(2)Ac(PSW.6)辅助进位标志位
在BCD码运算时,用作十进位调整。即当D3位向D4位 产生进位或借位时,Ac=1;否则,Ac=0。 由用户使用的一个状态标志位
机各部分能自动协调地工作。 包括:程序计数器PC、指令寄存器、指令译码 器、定时及控制逻辑电路等。
21
1、程序计数器PC
独立的16位计数器,不可访问。单片机复位时 ,PC中的内容为0000H,从程序存储器0000H单 元取指令,开始执行程序。 CPU读指令时,PC的内容作为所取指令的地址, 程序存储器按此地址输出指令字节,同时PC自 动加1。 PC决定程序流程。改变PC的值可以改变程序的 执行顺序从而实现各种控制语句。 PC的计数宽度决定了程序存储器的地址范围。 PC为16位,故可对64KB(=216B)寻址。
FFFFH 片外 ROM FFFFH 片外 ROM
2000H
1000 H 0FFFH 片内 ROM
EA=1 0000H
1FFFH
片外 ROM
EA=0 0000H
片内 ROM EA=1
片外 ROM EA=0
(a)片内有4KB的ROM
(b)片内有8KB的ROM
MCS-51单片机程序存储空间的配置
程序存储器的专用区域
AT89S51单片机的硬件组成
片内结构如图2-1所示。把作为控制应用所必需的基本功能部
件都集成在一个IC芯片上。
有如下功能部件和特性: (1)8位CPU; (2)128B RAM; (3)4KB Flash ROM;
(4)4个8位可编程并行I/O口(P0~P3口);
(5)1个全双工的异步串行口; (6)2个可编程的16位定时器/计数器;
WDTRST)。用于当CPU由于干扰,程序陷入死循环或跑 飞状态时,WDT提供了一种使程序恢复正常运行的有效 手段。
34
2.4.3 SFR 1.堆栈指针SP
(1)保护断点。 (2)现场保护。 数据压入(PUSH)堆栈,数据弹出(POP)堆
栈。
35
2.4.3 SFR
2.寄存器B
为执行乘法和除法而设。在不执行乘、除法操作的 情况下,可把它当作一个普通寄存器来使用。 乘法,两乘数分别在A、B中,执行乘法指令后,乘 积在BA中 除法,被除数取自A,除数取自B,商存放在A中,余 数存B中。
19
(3)F0(PSW.5)用户设定标志位
(4)RS1、RS0(PSW.4、PSW.3)
4组工作寄存器区选择,如表2-2。 当执行算术指令时,用来指示运算结果是否产生溢 出。如果结果产生溢出,OV=1;否则,OV=0。 保留位
(5)OV(PSW.2)溢出标志位
(6)PSW.1位
36
2.4.3 SFR
3.AUXR寄存器
图2-5 AUXR寄存器的格式
DISALE:ALE的禁止/允许位。 DISRTO:禁止/允许WDT溢出时的复位输出。 WDIDLE:WDT在空闲模式下的禁止/允许位。
37
2.4.3 SFR
4.
数据指针DPTR0和DPTR1
DPTR0、DPTR1 AUXR1的DPS位用于选择两个数据指针。当DPS=0时 ,选用DPTR0;当DPS=1时,选用DPTR1。 DPTRn由两个独立的8位寄存器DP0H(或DP1H)和 DP0L(或DP1L)来组合而成。
(4)增加断电标志;
(5)增加掉电状态下的中断恢复模式;
6
7
2.2.1
图2-2 AT89S51双列直插封装方式的引脚
8
2.2.2
控制引脚
(1)RST
(RESET,9脚): 复位信号输入,在引脚 加上持续时间大于2个 机器周期的高电平,可 使单片机复位。 当看门狗定时器溢出输 出时,该脚将输出长达 96个时钟振荡周期的高 电平。
9
地址范围
10
11
12
PSEN(29脚):此脚的输出是外部程序存储器 的读选通信号。在从外部程序存储器取指令(或 常数)期间,每个机器周期两次PSEN有效。但 在此期间,每当访问外部数据存储器时,这两次 有效的PSEN信号将不出现。PSEN同样可以驱动 (吸收或输出)8个LS型的TTL输入。 EA/VPP(31脚):当EA端保持高电平时,访问 内部程序存储器,但在PC(程序计数器)值超过 0FFFH(对851/8751/80C51)或1FFFH(对8052 )时,将自动转向执行外部程序存储器内的程序 。当EA保持低电平时,则只访问外部程序存储器 ,不管是否有内部程序存储器。对于常用的8031 来说,无内部程序存储器,所以EA脚必须常接地 ,这样才能只选择外部程序存储器。 13
电源及时钟引脚
1.电源引脚:VCC、VSS。 2.时钟引脚:
(1)XTAL1(19脚):片内振荡器反相 放大器和时钟发生器电路输入端。用片 内振荡器时,该脚接外部石英晶体和微 调电容。外接时钟源时,该脚接外部时 钟振荡器的信号。 (2)XTAL2(18脚):片内振荡器反相 放大器的输出端。当使用片内振荡器, 该脚连接外部石英晶体和微调电容。当 使用外部时钟源时,本脚悬空。
38
2.4.3 SFR
5.
AUXR1寄存器
AUXR1是辅助寄存器,格式如图2-6: DPS:数据指针寄存器选择位。
0:选择数据指针寄存器DPTR0; 1:选择数据指针寄存器DPTR1。
图2-6 AUXR1寄存器的格式
39
2.4.3 SFR
6.
看门狗定时器WDT
包含1个14位计数器和看门狗定时器复位寄存器(
3
(7)1个WDT; (8)中断系统具有5个中断源、5个中断向量;
(9)特殊功能寄存器(SFR)26个;
(10)低功耗模式有空闲模式和掉电模式,且具有掉电模式 下的中断恢复模式; (11)3个程序加密锁定位;
4
控制外 围部件
图2-1 AT89S51单片机片内结构
5
与AT89C51比,AT89S51更突出的优点:
用作复位和中断入口
表2-3 ROM中专用存储区域
存储单元 0000H~0002H 0003H~000AH 000BH~0012H 0013H~001AH 001BH~0022H 0023H~002AH 002BH~0032H 应 用 复位后引导程序地址 外中断0 定时器0中断 外中断1 定时器1中断
(7)P(PSW.0)奇偶标志位
指令执行完,累加器A中“1”的个数是奇数还是偶 数。 P=1,表示A中“1”的个数为奇数。P=0,表示 A中“1”的个数为偶数。 此标志位对串行通信有重要的意义,常用来检验数 据串行传输的可靠性。
20
2.3.2
控制器
识别指令,控制单片机各功能部件,保证单片
16
2.3
2.3.1
AT89S51的CPU
运算器
由运算器和控制器构成的
对操作数进行算术、逻辑和位运算 1、算术逻辑运算单元ALU
2、累加器A
存放ALU单元的源数据和目的数据 数据传送的中转站 进位标志Cy
17
3、程序状态字寄存器PSW
位于片内特殊功能寄存器区,字节地址为D0H。 包含了程序运行状态的信息
第2章
AT89S51单片机 硬件结构
1
内容概要
AT89S51片内硬件基本结构、引脚功能、存储器结构、特
殊功能寄存器功能、4个并行I/O口的结构和特点,
复位电路和时钟电路的设计,节电工作模式。
目的:为AT89S51系统的应用设计打下基础。 掌握单片机的硬件结构以便熟练地使用软件控制硬件。
2
2.1
4)P3口:8位,准双向I/O口,具有内部上拉电阻
可作为通用的I/O口使用。 P3口还可提供第二功能。第二功能定义如表2-1,
应熟记。
15
综上所述:
P0口可作为总线口,为双向口。作为通用的
I/O口使用时,为准双向口,这时需加上拉电 阻。 P1口、P2口、P3口均为准双向口,准双向口仅 有两个状态。 P0口为双向三态I/O口。当P0口作为总线使用 ,口线内无上拉电阻,处于高阻“悬浮”态。 为什么P0口要有高阻“悬浮”态? 准双向口作通用I/O的输入口使用时,一定要 向该口先写入“1”。
最多可外扩64KB的RAM。 片内RAM与片外RAM两个空间是相互独立的; 片内RAM与片外RAM的低128B的地址是相同的,
但由于使用的是不同的访问指令,所以不会发 生冲突。
30
2.4.3 SFR 特殊功能寄存器集中控制各功能部件。特 殊功能寄存器映射在片内RAM的80H~FFH 区域中,共26个。 与AT89C51相比,新增5个SFR:DP1L、DP1H 、AUXR、AUXR1和WDTRST。 可位寻址的SFR,字节地址末位只能是0H或 8H。
口锁存器写1。由于在输入时还必须附加一个准 备动作,因此称为“准双向”。
(2)P1口:8位,准双向I/O口,具有内部上拉电
阻。
14
(3)P2口:8位,准双向I/O口,具有内部上拉电 阻。
当AT89S51扩展外部存储器及I/O口时,P2口作为高8位
地址总线用,输出高8位地址。 P2口也可作为普通的I/O口使用。
跳转指令
串行口中断 定时器2中断(增强型机)
2.4.2 数据存储器空间 1.片内数据存储器
片内数据存储器(RAM)共128个单元,字节地
址为00H~7FH
字节寻址的用户区 16字节128位位寻址区
4组通用工作寄存器区
28
片内数据存储器按照寻址方式,可以分 为三个部分:低128字节数据区,高128字 节数据区,特殊功能寄存器区。如下图所 示。
FFH FFH FFH 高128B RAM idata区 80H 低128B RAM data区 00H 00H 寄存器间 7FH 低128B 接寻址 RAM 特殊功能 寄存器
特殊功能
寄存器 80H 7FH
直接 寻址 80H
data区 (b)增强型单片机片内RAM
(a)89C51片内 RAM
2.4.2 数据存储器空间 2.片外数据存储器
33
2.4.Baidu Nhomakorabea SFR 1.堆栈指针SP
堆栈用于在中断和函数调用时保护断点和现场 SP指示堆栈顶部在内部RAM块中的位置。 堆栈结构--向上生长型。
单片机复位后,SP为07H,使得堆栈实际上从
08H单元开始,由于08H~1FH单元分别是属于1 ~3组的工作寄存器区,最好在复位后把SP值 改置为60H或更大的值,避免堆栈与工作寄存 器冲突。
2.2.3
并行I/O口引脚
(1)P0口:8位,漏极开路的双向I/O口
当外扩存储器及I/O接口芯片时,分时复用为低 8位地址总线和数据总线的端口。 P0口作通用I/O口时,需加上拉电阻,这时为准 双向口。作为通用I/O输入,应先向端口写入1 。
准双向I/O口,作为通用I/O输入时,应先向端
22
2.4 AT89S51存储器的结构
哈佛结构 存储器空间可分为4类 1.程序存储器空间
片内4Kflash ROM; 片外可扩充到64K ROM。
2.数据存储器空间 片内有128 B RAM(52子系列为256B)。
片外可扩展至64KB RAM。
23
2.4 AT89S51存储器的结构
31
32
提问:
1、进行系统扩展时,P2口除用作地址扩展外 ,剩余的口线能否用作通用I/O口? 2、AT89S51有多少个特殊功能寄存器? 3、请简单说明PSW每一位的功能。 4、以下SFR哪些是可以位寻址的?
P0(80H),TL0(8AH),P1(90H),SBUF(99H)
3.特殊功能寄存器SFR
片内各功能部件的控制寄存器及状态寄存器。 SFR综合反映了整个单片机基本系统内部实际的工作 状态及工作方式。
4.位地址空间 共有211个可寻址位,构成了位地址空间。它们位于内部 RAM(共128位)和特殊功能寄存器区(共83位)中。
24
25
程序存储器结构
图2-3
PSW的格式
18
PSW中各个位的功能
(1)Cy(PSW.7)进位标志位(可写为C)
在算术和逻辑运算时,若有进位/借位,Cy=1;否则 ,Cy=0。 在位处理器中,它是位累加器。
(2)Ac(PSW.6)辅助进位标志位
在BCD码运算时,用作十进位调整。即当D3位向D4位 产生进位或借位时,Ac=1;否则,Ac=0。 由用户使用的一个状态标志位
机各部分能自动协调地工作。 包括:程序计数器PC、指令寄存器、指令译码 器、定时及控制逻辑电路等。
21
1、程序计数器PC
独立的16位计数器,不可访问。单片机复位时 ,PC中的内容为0000H,从程序存储器0000H单 元取指令,开始执行程序。 CPU读指令时,PC的内容作为所取指令的地址, 程序存储器按此地址输出指令字节,同时PC自 动加1。 PC决定程序流程。改变PC的值可以改变程序的 执行顺序从而实现各种控制语句。 PC的计数宽度决定了程序存储器的地址范围。 PC为16位,故可对64KB(=216B)寻址。
FFFFH 片外 ROM FFFFH 片外 ROM
2000H
1000 H 0FFFH 片内 ROM
EA=1 0000H
1FFFH
片外 ROM
EA=0 0000H
片内 ROM EA=1
片外 ROM EA=0
(a)片内有4KB的ROM
(b)片内有8KB的ROM
MCS-51单片机程序存储空间的配置
程序存储器的专用区域
AT89S51单片机的硬件组成
片内结构如图2-1所示。把作为控制应用所必需的基本功能部
件都集成在一个IC芯片上。
有如下功能部件和特性: (1)8位CPU; (2)128B RAM; (3)4KB Flash ROM;
(4)4个8位可编程并行I/O口(P0~P3口);
(5)1个全双工的异步串行口; (6)2个可编程的16位定时器/计数器;
WDTRST)。用于当CPU由于干扰,程序陷入死循环或跑 飞状态时,WDT提供了一种使程序恢复正常运行的有效 手段。
34
2.4.3 SFR 1.堆栈指针SP
(1)保护断点。 (2)现场保护。 数据压入(PUSH)堆栈,数据弹出(POP)堆
栈。
35
2.4.3 SFR
2.寄存器B
为执行乘法和除法而设。在不执行乘、除法操作的 情况下,可把它当作一个普通寄存器来使用。 乘法,两乘数分别在A、B中,执行乘法指令后,乘 积在BA中 除法,被除数取自A,除数取自B,商存放在A中,余 数存B中。
19
(3)F0(PSW.5)用户设定标志位
(4)RS1、RS0(PSW.4、PSW.3)
4组工作寄存器区选择,如表2-2。 当执行算术指令时,用来指示运算结果是否产生溢 出。如果结果产生溢出,OV=1;否则,OV=0。 保留位
(5)OV(PSW.2)溢出标志位
(6)PSW.1位
36
2.4.3 SFR
3.AUXR寄存器
图2-5 AUXR寄存器的格式
DISALE:ALE的禁止/允许位。 DISRTO:禁止/允许WDT溢出时的复位输出。 WDIDLE:WDT在空闲模式下的禁止/允许位。
37
2.4.3 SFR
4.
数据指针DPTR0和DPTR1
DPTR0、DPTR1 AUXR1的DPS位用于选择两个数据指针。当DPS=0时 ,选用DPTR0;当DPS=1时,选用DPTR1。 DPTRn由两个独立的8位寄存器DP0H(或DP1H)和 DP0L(或DP1L)来组合而成。