第2章 51系列单片机的硬件结构_第1页
第2章 51系列单片机的硬件结构_第2页
第2章 51系列单片机的硬件结构_第3页
第2章 51系列单片机的硬件结构_第4页
第2章 51系列单片机的硬件结构_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

了解单片机内部结构掌握单片机引脚定义与功能,重点掌握4根控制线的作用掌握存储器配置掌握寄存器和SFR的作用掌握P0~P3口的结构及使用方法掌握单片机的时钟和复位电路构成,掌握复位后单片机工作状态了解单片机工作方式第2章51系列单片机的硬件结构2.1内部总体结构51子系列单片机的主要特点为:

1个CPU,1个片内振荡器及时钟电路;

4KBROM,128BRAM;

21个特殊功能寄存器;

32条可编程的I/O线(4个8位并行I/O接口);可寻址64KB外部数据存储器和64KB外部程序存储器的控制电路;

2个16位定时/计数器;

5个中断源、2个优先级嵌套中断结构;

1个可编程全双工串行接口;

1个有位寻址功能、适于逻辑运算的位处理机。51系列单片机的内部基本结构CPU运算部件控制部件BRAMP0口P2口ROM(EPROM)5C/T中断系统SFRP1口8P3口888XTAL1XTAL2PSENALEEARESETVccVss按功能可分成8个部件,通过片内单一总线连接起来1.微处理器2.数据存储器3.程序存储器4.I/O口5.串行口6.定时/计数器7.中断系统8.特殊功能寄存器控制方式:SFR对各功能部件集中控制片内总线1、中央处理器CPU

其主要由运算电路和控制电路两大部分组成。1)运算电路:以算术逻辑单元ALU为核心,包括累加器ACC、寄存器B、程序状态字PSW和两个暂存寄存器TMP等。运算电路的基本结构如图所示。

主要部件的主要部件的基本组成及功能

算术逻辑单元是一个8位的全加器,它以两个暂存寄存器的内容作为加数和被加数,实现数据的算术逻辑运算、数据传输和程序转移等功能。数据运算的结果一般保存在累加器ACC(简称A),数据运算和操作结果的状态由程序状态字PSW保存。寄存器B是为ALU进行乘除法运算而设置的,不作乘除运算时,寄存器B作为通用寄存器使用。累加器A是一个8位的寄存器,它是CPU中使用最频繁的寄存器。2)控制电路:是保证单片机各部分能在程序运行过程中自动而协调工作的指挥枢纽,其核心部分是指令地址的计算、取指和指令译码。主要包括程序计数器PC、PC加1寄存器(PC增量)、指令译码器、定时与控制电路等。运算电路的基本结构如图。

指令执行时:单片机首先根据程序计数器PC和PC增量的指向从程序存储器中读取指令,并送入指令寄存器保存,经指令译码器译码后,送定时控制逻辑电路,由定时控制逻辑电路产生各种定时和控制信号,再送到系统的各个部件去进行相应的操作。这就是执行一条指令的全过程,执行程序就是不断重复这一过程。2、位处理器单片机中的可位寻址数据存储器和程序状态寄存器PSW中的进位标志位CY构成了位处理器。主要处理指令系统中的位处理指令集(17条位操作指令)。3、内部数据存储器RAM51系列单片机中有128字节RAM,用于存放可读写的数据。4、内部程序存储器ROM51系列单片机中有4K字节ROM(4K×8)程序存储器,用于存放程序和原始数据。5、定时/计数器两个16位的定时器/计数器,主要实现输入脉冲信号的计数或通过对系统时钟脉冲的计数实现定时功能。主要部件的主要部件的基本组成及功能6、并行I/O口有4个8位并行的输入/输出端口,是单片机芯片以并行方式实现外部设备扩展及与外部设备联络、通信、控制、数据传输的重要方式。7、串行口有一个全双工的串行口控制器,是单片机实现与其它外部设备之间串行数据传送的重要设备。8、中断控制系统51提供了5个中断源,为高级和低级两个优先级别。9、时钟电路

时钟电路用于产生单片机工作所必需的时钟控制信号。

主要部件的主要部件的基本组成及功能10、总线:就是连接单片机与系统中各部件的一组公共的信号线。

⑴地址总线(AddressBus,简写AB)地址线A0~A15共16位,P2口提供高8位地址A8~A15,P0口经地址锁存器提供低8位地址A0~A7。片外存储器可寻址范围达64KB(即=65536个字节)。⑵数据总线(DataBus,简写DB)地址线D0-D7共8位,由P0口提供,分时输送低8位地址(通过地址锁存器锁存)和8位数据信息。⑶控制总线(ControlBus,简写CB)控制总线由P3口的第二功能P3.6、P3.7和3根独立的控制线、和组成。运算器控制器51系列单片机内部整体结构原理图

2.2引脚定义与功能MCS-51系列单片机引脚功能及总线结构

各引脚的定义和功能

主电源引脚

Vcc(40脚):一般接+5V电源正端。

Vss(20脚):一般接+5V电源地端。外接晶体振荡器引脚

XTAL1(19脚):外接晶体振荡器的一端。

XLAT2(18脚):外接晶体振荡器的另一端。

2.2引脚定义与功能

2.2引脚定义与功能

控制线RST/VPD(9脚):复位/备用电源线。

(30脚):地址锁存允许/编程线(29脚):片外程序存储器读选通信号输出端,

低电平有效。

(31脚):片外程序存储器选用端,低电平有效。

输入/输出口

P0口(39~32脚):输入/输出线P0.0~P0.7统称为P0口。

P1口(1~8脚):输入/输出线P1.0~P1.7统称为P1口。

P2口(21~28脚):输入/输出线P2.0~P2.7统称为P2口。

P3口(10~17脚):输入/输出线P3.0~P3.7统称为P3口。

2.2引脚定义与功能引脚第二功能说明P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2

外部中断0请求输入P3.3

外部中断1请求输入P3.4T0定时器/计数器0计数脉冲输入P3.5T1定时器/计数器1计数脉冲输入P3.6

外部数据存储器写选通信号输出P3.7

外部数据存储器读选通信号输出P3口的第二功能表

2.2引脚定义与功能主要内容2.1内部总体结构2.2引脚定义与功能 2.3存储器配置

2.4输入/输出接口 2.5时钟电路与时序 2.6复位和复位电路 2.7工作方式2.3存储器配置微型计算机的存储器地址空间有两种结构形式:普林斯顿结构和哈佛结构。普林斯顿结构是将数据存储器和程序存储器空间合二为一,一个地址对应唯一的一个存储器单元,CPU访问ROM和RAM使用相同的指令;2.3存储器配置哈佛结构是将ROM和RAM分别安排在两个不同的地址空间,ROM和RAM可以有相同的地址,CPU访问ROM和RAM使用的是不同的指令。

51系列单片机采用的结构是哈佛结构。

51系列单片机存储器结构

51系列单片机存储器结构

51系列单片机存储器配置从物理地址空间上可分为片内、片外程序存储器与片内、片外数据存储器等4部分;由于片内、片外程序存储器统一编址,因此,从用户使用的角度,其寻址(逻辑地址)空间可划分为:片内外统一的64KB程序存储器、128B(对51子系列)或256B(对52子系列)内部数据存储器和64KB的外部数据存储器3个独立的地址空间。在访问这3个不同的逻辑空间时采用的是不同形式的指令。物理上分为:4个空间,即片内ROM、片外ROM片内RAM、片外RAM逻辑上分为:

3个空间,即程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX2.3.1程序存储器

程序存储器用于存放编好的程序和表格常数,它由只读存储器ROM或EPROM或FLASH组成。程序存储器以程序计数器PC作为地址指针,通过16位地址总线,可寻址64KB的地址空间。1、编址与访问编址规律为:先片内,后片外,且片内和片外程序存储的地址不能重叠。=1为高电平时,先执行片内程序存储器的程序,当PC的内容超过片内程序存储器地址的最大值(51子系列为0FFFH,52子系列为1FFFH)时,将自动转去执行片外程序存储器中的程序;=0为低电平时,CPU从片外程序存储器中取指令执行程序。MCS-51单片机复位、中断入口地址入口地址用途0000H复位操作后的程序入口0003H外部中断0服务程序入口000BH定时器0中断服务程序入口0013H外部中断1服务程序入口001BH定时器1中断服务程序入口0023H串行口中断服务程序入口002BH定时器2中断服务程序入口(89C52)程序地址空间原则上可由用户任意安排,但复位和中断服务程序的入口地址是固定的,用户不能更改。

2、程序的7个特殊入口地址2.3.2外部数据存储器MCS-51单片机具有扩展64KB外部数据存储器RAM和I/O端口的能力,外部数据存储器和I/O端口实行统一编址,并使用相同的控制信号、相同的访问指令MOVX和相同的寻址方式。片外数据存储器按16位编址时,其地址空间与程序存储器重叠,但不会引起混乱,访问程序存储器是用信号选通,而访问片外数据存储器时,由信号(读)和信号(写)选通。访问程序存储器使用的是MOVC指令,访问片外数据存储器使用的是MOVX指令和寄存器间接寻址指令。2.3.3内部数据存储器

片内通用RAM区分为工作寄存器区、位寻址区、数据缓冲区3个区域。共128个字节,字节地址为00H~7FH。00H~1FH:32个单元,是4组通用工作寄存器区20H~2FH:16个单元,可进行128位的位寻址30H~7FH:用户RAM区,只能进行字节寻址,用作数据缓冲区以及堆栈区。2.3.3内部数据存储器

1、工作寄存器区(00H~1FH)

工作寄存器分成4组,每组8个寄存器,用R0~R7来表示。程序中每次只用1组,其它各组不工作。工作寄存器组的选择表如下图所示。PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0~R7000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)

2、位寻址区20H~2FH单元是位寻址区。这16个单元共128位的每一位都有对应的位地址,位地址范围00H~7FH。7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837262524232221202F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201002FH20H字节地址位地址3、通用RAM区

30H~7FH是通用RAM区,共80个单元一般用于存储用户数据,也称用户RAM区。由于工作寄存器区、位寻址区、用户RAM区统一编址,使用同样的指令访问。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。52子系列片内RAM有256个单元,前两个区的单元数与地址都和51子系列的一致,用户RAM区却为0H~FFH,有208个单元。

4、堆栈和堆栈指针数据08H入栈示意图。堆栈是一个特殊的RAM区,用来暂存数据和地址,它是按“先进后出”或“后进先出”的原则存取数据的,堆栈有入栈和出栈两种操作。堆栈指针(StackPointer,SP)是一个8位的特殊寄存器,用于指示堆栈在内部RAM中的位置。

数据08H出栈示意图4、堆栈和堆栈指针(续)堆栈指针SP的值随着入栈数据的增加而增大(向上生长型),随着出栈数据的增加而减小。2.3.4特殊功能寄存器

特殊功能寄存器(简称SFR),也称为专用寄存器,共21个。用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等特殊功能模块的工作。

12个SFR可进行位寻址,其字节地址的末位是0H或8H。引用这些位地址时,可用“寄存器.位”来表示。

SFR高128B低128B0FFH80H7FH00H特殊功能寄存器SFR在片内RAM中的位置特殊功能寄存器名称、表示符、地址、复位状态一览表

特殊功能寄存器名称、表示符、地址、复位状态一览表

特殊功能寄存器名称、表示符、地址、复位状态一览表CY(PSW.7)进位标志:

在加减法运算中,累加器A的最高位A7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1.因此CY往往作为无符号数运算是否有溢出的标志。AC(PSW.6):辅助进位位:

用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位).往往用来判断压缩的BCD码的运算处理.F0(PSW.5)用户标志位:

完全由用户来定义和使用。RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在哪个区中.单片机在上电或复位后RS1、RS0=00。程序状态字(PSW)说明:8位寄存器.表征程序执行的状态信息。CYACF0RS1RS0OV-POV(PSW.2)溢出标志位:

判断符号数加减法运算时是否有溢出.OV的结果可以用一个算法来表示:

OV=CP异或CS

其中:CP为A7的进位,CS为A6的进位OV=1表明有溢出。P(PSW.0)奇偶标志位:

用来标志累加器A中运算后1的个数。当P=1时,表明A中1的个数为奇数个,反之为偶数个。

主要内容2.1内部总体结构2.2引脚定义与功能 2.3存储器配置 2.4输入/输出接口

2.5时钟电路与时序 2.6复位和复位电路 2.7工作方式2.4输入输出接口

单片机内部有P0、P1、P2和P3共4个8位双向I/O口。P0~P3的每个端口可按字节输入或输出,也可按位进行输入或输出,共32根口线,对于需要位控制的场合使用十分方便。P0为三态双向口,能驱动8个TTL电路;P1~P3为准双向口,负载能力为4个TTL电路。如果外设需要的驱动电流大,可加接驱动器。多路开关功能:用于控制选通I/O方式还是地址/数据输出方式方式控制:由内部控制信号产生输入锁存器两个输入缓冲器(BUF1和BUF2)推拉式I/O驱动器2.4.1P0口BUF2BUF15)、P0R2为读引脚信号,执行“MOVA,P0”时该信号有效6)、读引脚(端口)时,输出锁存器应为“1”说明:1)、当控制信号为0时,P0口做双向I/O口,为漏极开路(三态)2)、控制信号为1时,P0口为地址/数据复用总线(用于口扩展)3)、P0W为端口输出写信号,用于锁存输出状态4)、P0R1为读锁存器信号,执行“ANLP0,#0FH”时该信号有效QQDCVcc控制AD0P0R1

P0R2D0P0WP0口内部结构读锁存器读引脚锁存器内部总线写锁存器地址/数据P0.x多路开关101、P0口的结构2.P0口的总线方式(系统使用外存储器时)控制电路的“控制”=1,此时与门打开,MUX接向“地址/数据”信号.在这种情况下,输出极的两个FET都处于正常的工作状态。访问外部存储器的指令movx、movc,就是使用P0口来输出外部存储器的低八位地址和输入、输出存储器的数据。如果单片机使用了外部存储器(或使用movx指令来访问外部接口电路)时,P0口成为整个系统的地址/数据复用总线。换句话,P0口不能再作为通用的I/O端口的形式直接与外部连接。P0口作为地址/数据分时复用

DQ锁存器CL/QP0.x引脚Vcc地址/数据1/0控制(=0时)读锁存器读引脚内部总线写锁存器MUX(控制=0时)Vcc上拉电阻P0口作为通用数据I/O端口1.P0口的I/O操作(通用I/O接口功能)在P0口作为通用I/O端口时,控制电路中的“控制”为“0”电平,多路开关MUX接入下方的锁存器的/Q端。

由于与门的一个输入端为“0”,所以它使上端的FET截止.这就是P0口在做I/O口时输出为“漏极开路”的结构原因.

P0口作为通用I/O口

输出操作:在执行以口为目标的指令时,数据送到锁存器的“D”端,经“/Q”端送场效管应输出极.如:送“1”时,/Q=“0”,使下端的FET截止.这样出现输出极的两个FET全部截止.在这种情况下必须在端口线上外加上拉电阻.这样在上拉电阻的作用下,使端口为高电平.同理,若总线向口送“0”时,锁存器的/Q=1,使下端的FET导通(上面的FET仍然截止),这样端口呈现“0”电平。输入操作(读引脚,读锁存,输入前写1)

a.读引脚:读外部送到端口引脚的电平,即通常所说的输入操作(如:MOVA,P0).此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线.

b.读锁存器:将进行读锁存器并进行处理,最后再写回锁存器的操作称之为:“读—修改—写”操作,如“ANLP0,#0FH”。在这种情况下,读入的数据不是来自引脚,而是端口内部锁存器的内容。

在端口电路中,可以发现一个问题:端口在输入(读引脚)时,原来锁存器的状态可能要影响引脚电平的输入.例如:原来锁存器的状态为“0”态,既输出极的下端FET是饱和状态,这样如果外电路向引脚输入高电平时,电路将不能正确读入.要解决的方法就是让下端的FET截止,既事先向端口写一个“1”。向端口写一个“1”c.输入(读引脚)时应先写“1”:

1)“通用数据I/O端口”和“地址、数据复用总线”

a.在作为通用数据I/O端口时,具有较强的驱动能力(8个TTL负载),与MOS负载连接时,需要外接一个上拉电阻。

b.作为“地址、数据复用总线”使用时,P0口首先输出外部存储器的低八位地址,然后再变为数据总线进行数据的输入或输出.此时,P0口不能再作为通用I/O口。返回

温馨提示

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

评论

0/150

提交评论