提桶进厂,厂妹的单片机学习笔记
Ch2 AT89S51单片机的片内硬件结构
2.1 AT89S51单片机的硬件组成
AT89S51单片机具有如下部件:
(1)8位CPU。包括运算器、控制器、位处理、位控
(2)数据存储器(128B RAM)。读写。
(3)程序存储器(4KB Flash ROM)。只读
(4)4个8位可编程并行I/0口(P0P1P2P3口)具体的某个:P1.2
(5)2个可编程的16位定时器/计数器
(6)1个全双工的通用异步收发串行口(UART)。
(7)中断系统有5个中断源、5个中断向量。2级中断优先权
(8)26个特殊功能寄存器。是片内各外设部件的控制寄存器和状态寄存器,映射在片内RAM区的80H~FFH地址区间内。
(9)1个看门狗定时器(WDT)。当单片机由于干扰而使程序陷入死循环或跑非状态时,可引起单片机复位,使程序恢复正常运行。
AT89S51片内的各部件通过 片内单一总线 连接而成,CPU对各种外设部件的控制采用特殊功能寄存器的集中控制方式。
2.2 AT89S51的引脚功能
多采用40只引脚的塑料双列直插封装(DIP)方式。40只引脚按功能可分为3类:
(1)电源及时钟引脚——VCC、VSS,XTAL1、XTAL2。
(2)控制引脚。
(3)I/O口引脚——P0-P4,为4个8位并行I/O口的外部引脚。
2.2.1 电源及时钟引脚
1、电源引脚
(1)VCC:接-5V电源。
(2)VSS:接数字地。
2、时钟引脚
(1)XTAL1:片内振荡器的反相放大器的输入端。使用片内振荡器时,外接石英晶体和微调电容;采用外部时钟源时接外部时钟源输出的时钟信号。
(2)XTAL2:片内振荡器的反相放大器输出端。使用片内振荡器时,接石英晶体和微调电容;使用外部时钟源时悬空。
2.2.2 控制引脚
(1)RST:复位信号输入端,高电平有效。在此引脚加上持续大于2个机器周期的高电平即可复位。单片机正常工作时此引脚应为≤0.5V的低电平。
(2)/EA:(External Access Enable,外部程序存储器访问允许控制端)/EA=1时,单片机读片内程序存储器(4KB)中的代码,超出0FFFH时(即超出片内4KB)时自动转向读取片外60KB程序存储器中的代码。/EA=0时,只读外部程序存储器中的内容。
(3)ALE:(Address Latch Enable,地址锁存允许)为CPU访问外部程序存储器或外部数据存储器提供8位地址锁存信号,将P0口发出的低8位地址锁存在P0口外接的地址锁存器中。
(4)/PSEN
2.2.3 并行I/O口引脚
(1)P0口:P0.0~P0.7 双向
当AT89S51扩展外部存储器及I/O接口芯片时,P0口为双向口,作为地址总线(低8位)及数据总线的分时复用的总线端口。
P0口也可作为通用I/O口使用,需要加上拉电阻。
(2)P1口:P1.0~P1.7 准双向IO口,具有内部上拉电阻
(3)P2口:P2.0~P2.7 准双向IO口,具有内部上拉电阻。
当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。
(4)P3口:P3.0~P3.7 准双向IO口,引脚内部有上拉电阻
功能1通用IO口
功能2
引脚
第二功能
说明
P3.0
RXD
串行数据输入口
P3.1
TXD
串行数据输出口
P3.2
/INT0
外部中断0输入
P3.3
/INT1
外部中断1输入
P3.4
T0
定时器0外部计数输入
P3.5
T1
定时器1外部计数输入
P3.6
/WR
外部数据存储器的写选通控制信号
P3.7
/RD
外部数据存储器的读选通控制信号
2.4 AT89S51单片机存储器的结构
AT89S51单片机的存储器空间可划分为如下4类:
1、程序存储器空间
分为片内和片外两部分。片内4KB Flash存储器,地址范围0000H~0FFFH。有16位地址总线,内部不够用时,片外最多可扩展至2^16即64KB,地址0000H~FFFFH。
2、数据存储器空间
分为片内和片外两部分。内部128B的RAM,00H~7FH。存放可读/写的数据。内部不够用时,外部可扩展最多64KB。
地址为00H~1FH的32个单元是4组通用工作寄存器。地址为20H~2FH的16个单元的128位可进行位寻址,也可以进行字节寻址。地址为30H~7FH的单元为用户RAM区,只能进行字节寻址,用作存放数据以及作为堆栈区使用。
3、特殊功能寄存器
26个,映射在RAM区的80H~FFH区域。是各外设部件的控制寄存器和状态寄存器,反映了单片机内部的实际工作状态和工作方式。
(1)堆栈指针SP
SP的内容指示出堆栈顶部在内部RAM中的位置。堆栈主要有两个功能:保护断点和现场保护。
①保护断点。预先把主程序的断点在堆栈中保护起来,为程序的正确返回做准备。
②现场保护。执行子程序或中断服务子程序的时候,可能用到单片机中的一些寄存器单元,会破坏主程序运行时这些寄存器单元的原有内容。所以执行子程序前把单片机中有关寄存器单元的内容保存起来,送人堆栈。
(2)寄存器B
乘法运算时,两个乘数分别放在A、B中,执行乘法指令后,乘积的高八位放在B中,低八位在A中。
除法运算时,被除数取自A,除数取自B,商存放在A中,余数放在B中。
4、位地址空间
211个可寻址位。位于RAM和特殊功能寄存器区。
如图2-1是单片机中各类存储器结构图。
图2-1 AT89S51单片机存储器结构
2.5 AT89S51单片机的并行I/O口
4个双向的8位并行IO口,P0~P4,可以按字节输入输出,按位寻址。
2.6时钟电路与时序
2.6.1 时钟电路设计
1、内部时钟方式
单片机内部有一个用于构成振荡器的高增益反相放大器,输入端为XTAL1,输出端为XTAL2,外接石英晶体振荡器和微调电容,构成自激振荡器。晶体振荡频率通常选择6MHz、12MHz(为获得准确的定时)或11.0592MHz(在串行通信时用,可得到准确的串行通信波特率)的石英晶体。
2、外部时钟方式
2.6.2 时钟周期、机器周期、指令周期与指令时序
1、时钟周期
若晶体的振荡频率为f=6MHz,则时钟周期为T=1/f=166.7ns。
2、机器周期
CPU完成一个基本操作所需要的时间称为机器周期。单片机中常把一条指令的过程分为几个机器周期,每个机器周期完成一个基本操作,如取指令、读数据等。AT89S51单片机的每12个时钟周期为一个机器周期,若频率为6MHz,则机器周期为2μs;若频率为12MHz,机器周期为1μs。
3、指令周期
指令周期指完成一个指令需要的时间。简单的单字节指令,需要1个机器周期时间。双字节、3字节一般2个机器周期,只有乘除指令4个机器周期时间。
2.8 AT89S51单片机最小系统
最小系统包括4KB Flash存储器,128B的RAM单元,4个I/O口,外接时钟电路和复位电路。如图2-2所示。
扩展资料
AT89C51
是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89S51
是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。说了这么多,大家记得留意下方评论之一条(或者私信我)有干货~