第2讲 AT89C51单片机单片机的硬件结构_第1页
第2讲 AT89C51单片机单片机的硬件结构_第2页
第2讲 AT89C51单片机单片机的硬件结构_第3页
第2讲 AT89C51单片机单片机的硬件结构_第4页
第2讲 AT89C51单片机单片机的硬件结构_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8位单片机接口与汇编大连理工大学软件学院嵌入式系统教研室邱铁qiutie@综合楼413,0411-875716321

第2章AT89C51单片机单片机的硬件结构2.1AT89C51单片机的硬件组成片内硬件结构如图2-1所示:片内功能部件如下:(1)微处理器(CPU);(2)数据存储器(RAM);(3)程序存储器(4KBFlashROM);(4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口);(5)1个全双工串行口;(6)2个16位定时器/计数器;(7)中断系统;(8)特殊功能寄存器(SFR)。2图2-13上述各功能部件通过片内单一总线连接而成(见图2-1),其基本结构依旧是CPU加上外围芯片的传统微型计算机结构模式。CPU对各种功能部件的控制是采用特殊功能寄存器(SpecialFunctionRegister,SFR)的集中控制方式。对图2-1所示的片内各部件做一简单介绍:1.CPU(微处理器)包括了运算器和控制器两大部分,只是增加了面向控制的位处理功能。42.数据存储器(RAM)片内为128个字节(52子系列的为256个字节)3.程序存储器(ROM/EPROM)

8031:无此部件;8051:4K字节ROM;8751:4K字节EPROM;

89C51/89C52/89C55:4K/8K/20K字节闪存。4.中断系统5.定时器/计数器6.串行口1个全双工的异步串行口,具有四种工作方式。57.4个并行8位I/O口P1口、P2口、P3口、P0口8.特殊功能寄存器(SFR)共有21个,是一个具有特殊功能的RAM区。实际上是片内各个功能部件的控制寄存器和状态寄存器。映射在片内RAM区80H~FFH的区间内。

2.2AT89C51单片机的引脚介绍40只引脚双列直插封装(DIP)。

6图2-2740只引脚按功能分为3类:(1)电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。(2)控制引脚:PSEN*、EA*、ALE、RESET(即RST)。(3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。2.2.1电源及时钟引脚

1.电源引脚

(1)Vcc(40脚):+5V电源;(2)Vss(20脚):接地。82.时钟引脚(1)XTAL1(19脚):接外部晶体,如果采用外接振荡器时,振荡器的输出应接到此引脚上。(2)XTAL2(18脚):接外部晶体的另一端或采用外接振荡器时悬空。2.2.2控制引脚提供控制信号,有的引脚还具有复用功能。

(1)RST/VPD(9脚):复位与备用电源。(2)EA*/VPP(EnableAddress/VoltagePulseofProgRam-ing,31脚)EA*:为内外程序存储器选择控制端。

EA*=1,访问片内程序存储器,但在PC(程序计数器)值超

9过0FFFH(对于8051、8751)时,即超出片内程序存储器的4K字节地址范围时,将自动转向执行外部程序存储器内的程序。EA*=0,单片机则只访问外部程序存储器。VPP:本引脚的第二功能。用于施加编程电压(例如+21V或+12V)。对AT89C51,加在VPP脚的编程电压为+12V或+5V。(3)ALE/PROG*(30脚):第一功能:ALE为地址锁存允许,可驱动8个LS型TTL负载。第二功能:PROG*为编程脉冲输入端。10此外,单片机在运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。该正脉冲信号可以作时钟源或定时信号使用。注意:每当AT89C51单片机访问外部RAM时(即执行MOVX类指令时),要丢失1个ALE脉冲。因此,严格来说,ALE还不宜作为精确的时钟源或定时信号。PROG*为该引脚的第二功能,在对片内Flash存储器编程时,此引脚作为编程脉冲输入端。(4)PSEN*(29脚):外部程序存储器的读选通信号。在单片机读外部程序存储器时,此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号。11

2.2.3并行I/O口引脚(1)P0口:当89C51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。为双向I/O口。也可作为通用的I/O口使用,但需加上拉电阻,这时为准双向口。当作为普通的I/O输入时,应先向端口的输出锁存器写入1。(2)P1口:8位准双向I/O口,可驱动4个LS型TTL负载。(3)P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。12(4)P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。P3口还可提供第二功能,定义如表2-1所列,应熟记。

13综上所述,P0口作为地址总线(低8位)及数据总线使用时,为双向口。作为通用的I/O口使用时,为准双向口,这时需加上拉电阻。P1口、P2口、P3口均为准双向口。要特别注意准双向口与双向口的差别。准双向口仅有两个状态。双向口P0口的口线内无固定上拉电阻,为双向三态I/O口。这是由于P0口作为数据总线使用时,必须要有高阻的“悬浮”状态。而准双向I/O口则无需高阻的“悬浮”状态。14总结:准双向口与双向三态口的差别。(1)当3个准双向I/O口作输入口使用时,要向该口先写“1”。(2)准双向I/O口无高阻“浮空”状态。

2.3AT89C51的CPU

由运算器和控制器所构成2.3.1运算器

1.算术逻辑运算单元ALU进行算术、逻辑运算,还具有位操作功能152.累加器A

使用最频繁的寄存器,可写为Acc。

A的作用:(1)是ALU的输入之一,又是运算结果的存放单元。(2)数据传送大多都通过累加器A。51单片机增加了一部分可以不经过累加器的传送指令,即可加快数据的传送速度,又减少A的“瓶颈堵塞”现象。A的进位标志Cy同时又是位处理机的位累加器。3.程序状态字寄存器PSW格式如图2-3。16(1)Cy(PSW.7)进位标志位(2)Ac(PSW.6)辅助进位标志位,用于BCD码的十进制调整运算。(3)F0(PSW.5)用户使用的状态标志位。(4)RS1、RS0(PSW.4、PSW.3):4组工作寄存器区选择控制位1和位0。如下表。图2-317RS1、RS0与4组工作寄存器区的对应关系

RS1RS0所选的4组寄存器

000区(内部RAM地址00H~07H)011区(内部RAM地址08H~0FH)102区(内部RAM地址10H~17H)113区(内部RAM地址18H~1FH)(5)OV(PSW.2)溢出标志位

指示运算是否溢出。注意各种算术运算指令对该位的影响(6)PSW.1位:保留位,未用(7)P(PSW.0)奇偶标志位

P=1,A中“1”的个数为奇数

P=0,A中“1”的个数为偶数182.3.2控制器程序计数器PC是控制器中最基本的寄存器,存放下一条要执行的指令在程序存储器中的地址。

基本工作方式有以下几种:

(1)程序计数器自动加1

(2)执行有条件转移或无条件转移指令时,PC将被置入新的数值,从而使程序的流向发生变化。(3)执行子程序调用或中断调用,完成下列操作: ①PC的现行值保护②将子程序入口地址或中断向量的地址送入PC。19程序计数器的计数宽度决定了程序存储器的地址范围。AT89C51单片机中的PC位数为16位,故可对64KB(

=

216B)的程序存储器进行寻址。2.4AT89C51单片机存储器的结构

存储器空间可划分为4类:

1.程序存储器空间 片内程序存储器为4KB的Flash存储器

2.片内数据存储器空间:128B

3.特殊功能寄存器SFR-SpecialFunctionRegister

4.位地址空间:

211个可寻址位。

202.4.1程序存储器空间

存放应用程序和表格之类的固定常数。分为片内和片外两部分,由EA*引脚上所接的电平确定。程序存储器中的0000H地址是系统程序的启动地址

5个单元具有特殊用途,为5个中断源的中断入口地址

表2-35个中断源的中断入口地址

外中断00003H

定时器T0000BH

外中断10013H

定时器T1001BH

串行口0023H212.4.2内部数据存储器空间

128个,字节地址为00H~7FH。2200H~1FH:32个单元,是4组通用工作寄存器区20H~2FH:16个单元,可进行128位的位寻址30H~7FH:用户RAM区,只能字节寻址,用作数据缓冲区以及堆栈区。2.4.3特殊功能寄存器(SFR)CPU对片内各种功能部件的控制采用特殊功能寄存器集中控制方式,共21个。有的SFR可进行位寻址。下表是SFR的名称及其分布。23表2-4SFR的名称及其分布24

下面介绍SFR块中的某些寄存器。1.堆栈指针SP

指示堆栈顶部在内部RAM块中的位置

复位后,SP中的内容为07H。 (1)保护断点 (2)现场保护 堆栈向上生长2.数据指针DPTR

高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。3.寄存器B为执行乘法和除法操作设置的。在不执行乘、除的情况下,可当作一个普通寄存器来使用。252.4.4位地址空间211个(128个+83个)寻址位。位地址范围为:00H~FFH。内部RAM的可寻址位128个(字节地址20H~2FH)特殊功能寄存器SFR为83个可寻址位26表2-5内部RAM的可寻址位及位地址27表2-6SFR中的位地址分布28可被位寻址的寄存器有11个,共有位地址88个,其中5个位未用,其余83个位的位地址离散地分布于片内数据存储器区字节地址为80H~FFH的范围内。其最低的位地址等于其字节地址,并且其字节地址的末位都为0H或8H。图2-5为各类存储器在存储器空间的位置。

29图2-5302.5AT89C51单片机的并行I/O端口

4个双向的8位并行I/O端口(Port),记作P0~P3,属于特殊功能寄存器,还可位寻址。

2.5.1P0端口

图2-6311.位电路结构P0口某一位的电路包括:(1)一个数据输出锁存器,用于数据位的锁存(2)两个三态的数据输入缓冲器。(3)一个多路转接开关MUX,使P0口可作通用I/O口,或地址/数据线口。(4)数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。2.工作过程分析(1)P0口作为地址或数据总线使用CPU发出控制信号为高电平,打开上面的与门,使MUX打向上32边,使内部地址/数据线与下面的场效应管反相接通。此时由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。(2)P0口作通用的I/O口使用CPU发来的“控制”信号为低电平,上拉场效应管截止,MUX打向下边,与D锁存器的Q*端接通。a.P0作输出口使用来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。33止),必须外接上拉电阻才能有高电平输出(这时就不为双向口)。b.P0作输入口使用区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。3.P0口的特点P0口具有如下特点:P0口为双功能口——地址/数据复用口和通用I/O口。34(1)当P0口用作地址/数据复用口时,为一个真正的双向口,用作外扩存储器,输出低8位地址和输出/输入8位数据。(2)当P0口用作通用I/O口时,由于需要在片外接上拉电阻,端口不存在高阻抗(悬浮)状态,因此为一个准双向口。为保证引脚信号的正确读入,应首先向锁存器写1。当P0口由原来的输出状态转变为输入状态时,应首先置锁存器为1,方可执行输入操作。一般情况下,如果P0口已作为地址/数据复用口,就不能再作为通用I/O口使用。35图2-72.5.2P1端口

P1口是单功能的I/O口,字节地址90H,位地址90H~97H。P1口某一位的位电路结构如图2-7所示。361.位电路结构P1口位电路结构由三部分组成:(1)一个数据输出锁存器,用于输出数据位的锁存。(2)两个三态的数据输入缓冲器BUF1和BUF2,分别用于锁存器数据和引脚数据的输入缓冲。(3)数据输出驱动电路,由一个场效应管(FET)和一个片内上拉电阻组成。2.工作过程分析P1口只能作为通用的I/O口使用。(1)P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1口引脚的输出为1;若CPU输出0,Q=0,Q*=1,37场效应管导通,P1口引脚的输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论