AT89S51单片机串行口的内部结构及工作原理介绍
- 格式:docx
- 大小:136.64 KB
- 文档页数:6
2007年12月11日星期二 08:45AT89C2051是精简版的51单片机,精简掉了P0口和P2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个I/O口,用AT89C2051更合适,芯片体积更小,而且AT89C2051的工作电压最低为2.7V,因此可以用来开发两节5号电池供电的便携式产品。
本文以ATMEL公司生产的51系列家族的AT89S51和AT89C2051两种单片机来讲解,两种单片机是目前最常用的单片机,其中AT89S51为标准51单片机,当然其功能比早期的51单片机更强大,支持ISP在系统编程技术,内置硬件看门狗。
一、AT89S51单片机引脚介绍AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构下图。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4。
40,其中芯片的1脚顶上有个凹点(见右图)。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线2、外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端3、控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4、可编程输入/输出引脚(32根)AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
单片机实用教程第2章AT89S51单片机原理与基本应用系统本章主要内容1、单片机的内部结构与引脚功能2、单片机存储器空间配臵与功能3、汇编语言指令格式与内部RAM的操作指令4、单片机I/O输入输出端口结构及工作原理5、单片机基本应用系统一、AT89S51单片机内部结构(1)一个8位的CPU;(2)一个片内振荡器及时钟电路;(3)4KB的Flash ROM;(4)128B的内部RAM(5)可扩展64KB外部ROM和外部RAM的控制电路;(6)两个十六位的定时/计数器;(7)26个特殊功能寄存器(双数据指针);(8)4个8位的并行口;(9)一个全双工的串行口;(10)5个中断源,两个外部中断,三个内部中断;(11)内部硬件看门狗电路;(12)一个SPI串行接口,用于芯片的在系统编程(ISP)。
1、电源VCC (P40)——芯片电源,接+5V 。
VSS (P20)——接电源地。
二、AT89S51单片机引脚功能2、时钟XTAL1(P19)——晶体振荡电路的反相器输入端XTAL2(P18)——晶体振荡电路的反相器输出端。
使用内部振荡电路时,该引脚外接石英晶体和补偿电容。
使用外部振荡输入时从XTAL2输入,此时XTAL1需接地。
3、控制控制引脚有4个,先学习其中的两个。
(1)RST/VPD——复位/备用电源RST复位功能是单片机正常工作必不可少的,因为复位可以使单片机从程序的开头运行,使单片机按照人们设计的程序运行,在单片机系统上电开始工作,或单片机系统由于外界干扰偏离正常运行,都需要复位。
AT89S51单片机是高电平复位,只要在该引脚上一段时间(两个机器周期以上)的高电平,单片机就复位。
在正常运行程序时该引脚为低电平。
VPD功能是在VCC掉电情况下,该引脚接备用电源,向片内的RAM供电,使RAM中的数据不丢失。
3、控制(2)EA/VPP——内外ROM选择/EPROM编程电源在通常的应用中EA功能是作为内部和外部ROM的选择端。
一、AT89S51单片机简介AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,其内部程序代码容量为4KB(一)、AT89S51主要功能列举如下:1、为一般控制应用的 8 位单芯片2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程式存储器(ROM)为 4KB4、内部数据存储器(RAM)为 128B5、外部程序存储器可扩充至 64KB6、外部数据存储器可扩充至 64KB7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制8、5 个中断向量源9、2 组独立的 16 位定时器Array10、1 个全多工串行通信端口11、8751 及 8752 单芯片具有数据保密的功能12、单芯片提供位逻辑运算指令(二)、AT89S51各引脚功能介绍:VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:”EA”为英文”External Access”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间.如果是使用 8751 内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp).ALE/PROG:ALE是英文”Address Latch Enable"的缩写,表示地址锁存器启用信号。
14 第2
章
AT89S51单片机的片内硬件结构 【内容概要】本章介绍AT89S51单片机的片内硬件结构。
读者应牢记AT89S51单片机的片内硬件结构,以及片内外设资源的基本功能及工作原理,重点掌握AT89S51单片机的存储器结构、常见的特殊功能寄存器的基本功能以及复位电路与时钟电路的设计,掌握单片机最小系统的概念。
最后介绍低功耗节电模式。
本章的学习目的是为单片机应用系统的硬件设计打下基础。
单片机应用的特点是编写程序来控制硬件电路,所以,读者应首先熟知并掌握AT89S51单片机片内硬件的基本结构和特点。
2.1 AT89S51单片机的硬件组成
AT89S51单片机片内硬件结构如图2-1所示,它把那些作为控制应用所必需的基本外围部件都集成在一个集成电路芯片上。
AT89S51单片机具有如下部件及特性。
图2-1 AT89S51单片机片内结构
(1)8位CPU。
(2)数据存储器(128B RAM)。
(3)程序存储器(4KB Flash ROM)。
第二章 AT89S51 单片机的硬件结构第二章 AT89S51 单片机的硬件结构本章“从内到外”主要讲述关于AT89S51单片机的一些基础知识。
首先介绍AT89S51单片机的组成、CPU 、存储器组织以及特殊功能寄存器(SFR),然后,详细讲解了AT89S51的引脚分布及其功能;最后,讨论了使用AT89S51单片机时的时钟和复位电路。
2.1 AT89S51 单片机的组成如前所述,AT89S51单片机与MCS-51完全兼容,内部的结构如图2.1所示:从功能上分,它包括如下部件:一个8位中央处理器(CPU);4K可在线编程Flash ;128字节RAM与特殊功能寄存器;2个16位定时/计数器;中断逻辑控制电路;一个全双工串行接口(UART);32条可编程的I/O口线;另外,还包括一些寄存器如程序计数器PC 、程序状态寄存器PSW 、堆栈指针寄存器SP 、数据指针寄存器DPTR等部件。
2.2 AT89S51 单片机 CPU 的结构CPU是单片机的核心,它主要由运算器(ALU)、时序控制逻辑电路(控制器)以及各种寄存器等部件组成。
( 1 )运算器的功能是进行算术和逻辑运算。
它主要由算术逻辑单元ALU(Arithmetic Logic Unit)和寄存器组成,实现“加、减、乘、除、比较”等算术运算和“与、或、异或、求补、循环”等逻辑操作。
运算器中还包含一个布尔处理器,可以执行置位、清零、求补、取反、测试、逻辑与、逻辑或等操作,为单片机的应用提供了极大的便利。
( 2 )控制器的主要功能是产生各种控制信号和时序。
在CPU内部协调各寄存器之间的数据传送,完成ALU的各种算术或逻辑运算操作;在CPU访问外部存储器或端口时,提供地址锁存信号ALE、外部程序存贮器选通信号PSEN以及读(/RD)、写(/WR)等控制信号。
( 3 )寄存器。
CPU中还有一些寄存器,如累加器(ACC)、程序状态字(PSW)、B寄存器、程序计数器PC 、堆栈指针(SP)、指令寄存器(IR)等,这些寄存器有的在片内特殊功能寄存器空间有地址映像,它们既可看作CPU的寄存器,也可看作具有确定单元的存储单元。
AT89S51单片机串行口的内部结构及工作原理介绍
AT89S51单片机串行口的内部结构如下图所示。
它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。
发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。
串行口的控制寄存器共有两个:特殊功能寄存器SCON 和PCON。
下面介绍这两个特殊功能寄存器各位的功能。
1、串行口控制寄存器SCON
串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。
SCON的格式如下图所示。
下面介绍SCON中各位的功能。
(1) SM0、SMl:串行口4种工作方式选择位。
SM0、SM1两位的编码所对应的4种工作方式见下表。
表串行口的4种工作方式
(2) SM2:多机通信控制位。
因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或方式3中。
当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才使RI置l,产生中断请求,并将接收到的前8位数据送人SBUF;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。
而当SM2=0时,则不论第9位数据是l还是0,都将前8位数据送入SBUF中,并使RI置1,产生中断请求。
在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI。
在方式0时,SM2必须为0。
(3)REN:允许串行接收位。
由软件置1或清0。
REN=1,允许串行口接收数据。
REN=O,禁止串行口接收数据。
(4)TB8:发送的第9位数据。
在方式2和方式3时,TB8是要发送的第9位数据,其值由软件置l或清O。
在双机串行通信时,TB8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的
是地址帧还是数据帧,TB8=1为地址帧,TB8=0为数据帧。
(5) RB8:接收的第9位数据。
工作在方式2和方式3时,RB8存放接收到的第9位数据。
在方式1,如果SM2=0,RB8是接收到的停止位。
在方式0,不使用RB8。
(6)TI:发送中断标志位。
串行口工作在方式0时,串行发送的第8位数据结束时TI由硬件置1,在其他工作方式中,串行口发送停止位的开始时置TI为1。
TI=1,表示一帧数据发送结束。
TI位的状态可供软件查询,也可申请中断。
CPU响应中断后,在中断服务程序中向SBUF写入要发送的下一帧数据。
TI必须由软件清0。
(7) RI:接收中断标志位。
串行口工作在方式0时,接收完第8位数据时,RI由硬件置1。
在其他工作方式中,串行接收到停止位时,该位置l。
RI=1,表示一帧数据接收完毕,并申请中断,要求
CPU从接收SBUF取走数据。
该位的状态也可供软件查询。
RI必须由软件清0。
SCON的所有位都可进行位操作清0或置1。
2、特殊功能寄存器PCON
特殊功能寄存器PCON字节地址为87H,不能位寻址。
PCON的格式如下图所示。
下面介绍PCON中各个位的功能。
其中,仅仅是最高位SMOD与串行口有关。
SMOD位:波特率选择位。
例如,方式1的波特率计算公式为
当SMOD=1时,要比SMOD=O时的波特率加倍,所以也称SMOD位为波特率倍增位。