AT89S51单片机的硬件组成
本文主要涉及AT89S51单片机的硬件结构,与89C51还是存在一定的区别文中有说明,介绍了单片机的各硬件的基本功能,并详细介绍了单片机40个引脚的功能
文章目录
- AT89S51单片机的硬件组成
- 一、 AT89S51单片机的硬件组成
- 1.1 功能部件与特性
- 1.2 C51与S51对比
- 1.3 片内功能部件
- 二、 AT89S51的引脚功能
- 2.1 电源及时钟引脚
- 2.1.1 电源引脚
- 2.1.2 时钟引脚
- 2.2 控制引脚
- (1)RST (RESET,9脚)
- (2)EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚)
- (3)ALE/PROG*(Address Latch Enable/PROGramming,30脚)
- (4) PSEN* (Program Strobe ENable,29脚)
- 2.3 并行I/O口引脚
一、 AT89S51单片机的硬件组成
片内结构如图2-1所示。把作为控制应用所必需的基本功能部件都集成在一个集成电路芯片上。
1.1 功能部件与特性
有如下功能部件和特性:
(1)8位微处理器
(CPU);
(2)数据存储器
(128B RAM);
(3)程序存储器(4KB Flash ROM
);
(4)4个
8位可编程并行I/O口(P0口、P1口、P2口、P3口);
(5)1个全双工的异步串行口
;
(6)2个
可编程的16位定时器/计数器
;
(7)1个看门狗定时器
;
(8)中断系统具有5个中断源
、5个中断向量;
(9)特殊功能寄存器(SFR)26个
;
(10)低功耗模式有空闲模式
和掉电模式
,且具有掉电模式下的中断恢复模式;
(11)3个
程序加密锁定位;
1.2 C51与S51对比
与AT89C51比,AT89S51更突出的优点:
(1)增加在线可编程功能
ISP(In System Program),字节和页编程,现场程序调试和修改更加方便灵活;–最重要的一点
(2)数据指针增加
到两个,方便了对片外RAM的访问过程;
(3)增加了看门狗定时器
,提高了系统的抗干扰能力;
(4)增加断电标志
;
(5)增加掉电状态下的中断恢复模式
;
1.3 片内功能部件
片内的各功能部件通过片内单一总线连接
而成(见图2-1在文章开头部分),基本结构依旧是CPU 加上外围芯片
的传统微机结构。
CPU对各种功能部件的控制是采用特殊功能寄存器
(SFR,Special Function Register)的集中控制方式
。
AT89S51完全兼容
AT89C51,在充分保留原来软、硬件条件下,完全可以用AT89S51直接换。
(1)CPU(微处理器)
8位的CPU,与通用CPU基本相同,包括了运算器和控制器两大部分,还有面向控制的位处理功能
。
(2)数据存储器(RAM)
片内为128B
(52子系列为256B),片外最多可扩64KB。
(3)程序存储器(Flash ROM)
片内集成有4KB的Flash存储器(AT89S52 则为8KB;AT89C55片内20KB),如片内容量不够,片外可外扩至64KB。
(4)中断系统
具有5个
中断源(52系列有6个),2级中断优先权。
(5)定时器/计数器
2个16位定时器/计数器(52子系列有3个),4种工作方式。
(6)1个看门狗定时器WDT
当CPU由于干扰使程序陷入死循环或跑飞时,WDT可使程序恢复正常运行。
(7)串行口
1个全双工的异步串行口,4种工作方式。可进行串行通信
,扩展并行I/O口,还可与多个单片机构成多机系统。
(8) P0 、口P1口、P2口和P3口
4个8位并行I/O口。
(9)特殊功能寄存器(SFR)
(c51–25个)(S51是)26个
,对片内各功能部件管理、控制和监视。是各个功能部件的控制寄存器
和状态寄存器
,映射在片内RAM区
80H~FFH内
二、 AT89S51的引脚功能
AT89S51与51系列中各种型号芯片的引脚互相兼容。目前多采用40只引脚
双列直插,如图2-2。此外,还有44引脚的PLCC和TQFP封装方式的芯片。
引脚按其功能可分为如下3类:
(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2。
(2)控制引脚— PSEN*、ALE/PROG*、EA*/VPP、RST(RESET)
(3)I/O口引脚——P0、P1、P2、P3,为4个8位I/O口
2.1 电源及时钟引脚
2.1.1 电源引脚
(1)VCC(40脚):+5V电源。
(2)VSS(20脚):数字地。
2.1.2 时钟引脚
(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容
。外接时钟源时,该脚接外部时钟振荡器的信号
。
(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容
。当使用外部时钟源时,本脚悬空
。
2.2 控制引脚
(1)RST (RESET,9脚)
复位信号输入
,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚应 ≤ 0.5V
。
当看门狗定时器溢出
输出时,该脚将输出长达96个时钟振荡周期的高电平。
(2)EA*/VPP (Enable Address/Voltage Pulse of Programing,31脚)
EA*:
引脚第一功能:外部程序存储器访问允许
控制端。
EA=1*,在PC值不超出0FFFH(即不超出片内4KB Flash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但PC值超出0FFFH (即超出片内4KB Flash地址范围)时,将
自动转向读取片外
60KB(1000H-FFFFH)程序存储器空间中的程序。EA=0*,
只读取外部
的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KB Flash 程序存储器不起作用。
VPP:
引脚第二功能
,对片内Flash编程,接编程电压。
(3)ALE/PROG*(Address Latch Enable/PROGramming,30脚)
ALE为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号
,将低8位地址锁存
在片外的地址锁存器中。
此外,单片机正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。可作外部定时或触发信号用。
注意,每当AT89S51访问外部RAM时
(执行MOVX类指令),要丢失一个
ALE脉冲。
如需要,可将特殊功能寄存器AUXR(地址为8EH,将在后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但执行访问外部程序存储器或外部数据存储器指令“MOVC”或“MOVX”时,ALE仍然有效。即ALE禁止位不影响对外部存储器的访问。
PROG*:引脚第二功能
,对片内 Flash编程,为编程脉冲输入
(4) PSEN* (Program Strobe ENable,29脚)
片外程序存储器读选通信号,低有效。
2.3 并行I/O口引脚
(1)P0口:8位,漏极开路的双向I/O口
当外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线
的分时复用端口
。
P0口也可作通用的I/O口用
,需加上拉电阻
,这时为准双向口
。作为通用I/O输入,应先向端口写入1。可驱动8个LS型TTL负载。
(2)P1口:8位,准双向I/O口
,具有内部上拉电阻
。
准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1
P1口可驱动4个
LS型TTL负载。
P1.5/MOSI
、P1.6/MISO
和P1.7/SCK
可用于对片内Flash存储器串行编程和校验
,它们分别是串行数据输入
、输出
和移位脉冲引脚
。
(3)P2口:8位,准双向I/O口,具有内部上拉电阻。
当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用
,输出高8位地址。
P2口也可作为普通的I/O口使用
。当作为通用I/O输入时,应先向端口输出锁存器写1
。P2口可驱动4个LS型TTL负载
(4)P3口:8位,准双向I/O口,具有内部上拉电阻。
可作为通用的I/O口使用。作为通用I/O输入,应先向端口输出锁存器写入1。可驱动4个LS型TTL负载。
P3口还可提供第二功能。第二功能定义如表2-1,应熟记。
综上所述,P0口可作为
总线口
,为双向口
。作为通用的I/O口使用时,为准双向口
,这时需加上拉电阻
。P1口、P2口、P3口均为准双向口
。
注意:准双向口与双向口的差别。准双向口仅有两个状态。而P0口作为总线使用,口线内无上拉电阻,处于高阻“悬浮”态。故P0口为双向三态I/O口。
为什么P0口要有高阻“悬浮”态?
准双向I/O口则无高阻的“悬浮”状态。
另外,准双向口作通用I/O的输入口使用时,一定要向该口先写入“1”
。
以上的准双向口与双向口的差别