第2章单片机的组成原理_第1页
第2章单片机的组成原理_第2页
第2章单片机的组成原理_第3页
第2章单片机的组成原理_第4页
第2章单片机的组成原理_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第2章

MCS-51单片机的硬件结构

2.1MCS-51单片机结构2.2单片机的复位电路设计2.3MCS-51单片机的存储器配置2.1MCS-51单片机结构

MCS-51系列单片机有多种型号的产品:

普通型(51子系列)

8051、8031、8751、89C51、89S51等。

增强型(52子系列)

8032、8052、8752、89C52、89S52等。

它们的结构基本相同,主要差别反映在存储器的配置上。

8031片内没有程序存储器

8051内部设有4KB的掩模ROM程序存储器

8751是将8051片内的ROM换成EPROM 89C51则换成4KB的闪速EEPROM 89S51结构同89C51,4KB的闪速EEPROM可在线编程 增强型的存储容量为普通型的一倍本书以8051代表这一系列的单片机。2.1.1

MCS-51单片机的组成

MCS-51单片机基本组成示意图时钟电路ROMSFR和RAMCPU定时/计数器并行端口中断系统串行端口系统总线时钟源T0T1P0

P1

P2

P3TXDRXD

INT0INT1MCS-51单片机的基本组成部件▪8位CPU,片内振荡器;▪4K字节ROM,128字节RAM;▪21个特殊功能寄存器;▪32根可编程I/O口线;▪可寻址各64K的外部程序存储器、外部数据存储器;▪2个16位的定时器/计数器;▪中断结构:具有5个中断源,2个优先级;▪一个可编程全双工串行口;▪有位寻址功能,适于布尔处理的位处理机。通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通道2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC0驱动器DPTR指针VCCGNDP1.0~P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器部件振荡器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器图2-2MCS-51片内总体结构框图P0.0~P0.7P2.0~P2.72.1.2

MCS-51单片机的结构

CPU是单片机的核心部件。它由运算器和控制器等部件组成。

1.运算器 运算器的功能是进行算术运算:加、减、乘、除、加1、减1、比较、BCD码十进制调整等 逻辑运算:与、或、异或、求反、循环等逻辑操作 位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。可对位置“1”、对位清零、位判断等。

操作结果的状态信息送至状态寄存PSW。运算器由8位算术逻辑运算单元ALU(ArithmeticLogicUnit)、8位累加器ACC(Accumulator)、8位寄存器B、程序状态字寄存器PSW(ProgramStatusWord)、8位暂存寄存器TMP1和TMP2等组成。主要进行数据的处理和加工。

1)、ALU功能:用来完成二进制数的算术四则运算和值的逻辑运算。并通过对运算结果的判定,影响程序状态字寄存器PSW相关位的状态。2)ACC:8位专用寄存器,作ALU的一个输入端,同时ALU的输出运算结果也送到ACC,最忙。运算器通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通道2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC0驱动器DPTR指针VCCGNDP1.0~P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器图2-2MCS-51片内总体结构框图内部总线(1)进位标志位Cy(D7位):做加、减运算时,若运算结果在最高位有进位或借位时,Cy被硬件自动置“1”,反之则自动置“0”。(2)辅助进位标志位AC(半进位标志位,D6位):A、做加减运算时,若低4位有向高4位进位或借位时,AC被硬件自动置“1”,反之则自动置“0”。B、CPU常根据AC的状态对BCD码的运算结果进行调整。(3)用户标志位F0(D5位):用户可用软件对F0位,置“1”或置“0”,以决定程序的走向。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVXP3)程序状态字寄存器PSW(8位寄存器)(4)工作寄存器组选择标志位RSI、RS2(D4、D3位):用户通过软件改变RS1和RS2的组合内容,来选择片内RAM中4组工作寄存器组之一。3)程序状态字寄存器PSW(8位寄存器)RS1RS0选择工作寄存器组000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)D7D6D5D4D3D2D1D0CyACF0RS1RS0OVXP3)程序状态字寄存器PSW(8位寄存器)D7D6D5D4D3D2D1D0CACF0RS1RS0OVXP(5)溢出标志位OV(D2位):当运算的结果超过8位二进制数的允许范围时,OV由硬件自动置“1”,反之置“0”。(6)空缺位

(D1位):此位未定义。(7)奇偶校验标志位P(D0位):MCS-51采用偶校验,当A累加器中1的个数为奇数时,P被硬件置为“1”,反之被置为“0”。2.控制器是CPU的大脑中枢,主要由控制部件、时钟发生器、指令寄存器IR、指令译码器ID、数据指针DPTR、程序计数器PC、堆栈指针SP等组成。功能:对逐条指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作,从而使指令得以执行。存入指令寄存器寄存指令译码器译码由定时与控制电路产生一系列控制信号思考题:一条指令如何执行?通道0驱动器通道2驱动器RAM地址锁存器RAM通道0锁存器通道2锁存器ROM/EPROMB寄存器程序地址寄存器缓冲器PC递增器程序计数器PC0驱动器DPTR指针VCCGNDP1.0~P1.7堆栈指针SPACCTMP2PSW通道3锁存器通道1锁存器通道1驱动器通道3驱动器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中断、串行口和定时器逻辑振荡器P3.0~P3.7RSTEAALEPSENXTAL2XTAL1ALU(+5V)指令寄存器定时和控制逻辑指令译码器图2-2MCS-51片内总体结构框图P0.0~P0.7P2.0~P2.72.1.3

MCS-51单片机的外部引脚说明80318051875140个引脚分为四类:电源、地2条;时钟2条;控制4条;I/O线32条。1.I/O口线功能4个8位并行I/O接口引脚P0.0~P0.7

、P1.0~P1.7

、P2.0~P2.7和P3.0~P3.7为多功能引脚,可自动切换用作数据总线、地址总线、控制总线和或I/O接口外部引脚。2.控制线ALE/(30)

:地址锁存允许信号端

(29):外部程序存储器读选通信号端

(31):程序存储器选择信号端和编程电源输入端803180518751RST/VPD(9):RST是复位信号输人端ALE/(30):ALE是地址锁存允许信号在访问外部存储器时,用来锁存由PO口送出的低8位地址信号。在不访问外部存储器时,ALE以振荡频率1/6的固定速率输出脉冲信号。因此它可用作对外输出的时钟。但要注意,只要外接有存储器,ALE端输出的就不再是连续的周期脉冲信号。

第二功能:用于对8751片内EPROM编程的脉冲输人端。

它是外部程序存储器ROM的读选通信号。在执行访问外部ROM指令时,会自动产生PSEN信号;而在访问外部数据存储器RAM或访问内部ROM时,不产生PSEN信号。(29):访问外部存储器的控制信号。当EA高电平时,访问内部程序存储器;但当程序计数器PC的值超过OFFFH(对8051/80051/8751)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。当EA保持低电平时,只访问外部程序存储器,不管是否有内部程序存储器。第二功能VPP:在8751单片机片内EPROM编程期间,此引脚引入21V编程电源VPP。(31):RST/VPD(9):RST是复位信号输人端。当此输人端保持两个机器周期(24个振荡周期)的高电平时,就可以完成复位操作。第二功能VPD

:即备用电源输人端。当主电源发生故障,降低到规定的低电平以下时,vl,1。将为片内RAM提供备用电源,以保证存储在RAM中的信息不丢失。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。21个特殊功能寄存器复位后的状态为确定值。。

XTALl(19):

接外部晶体的一个引脚。当单片机采用外部时钟信号时,此脚应接地。

XTAL2(18):接外部晶体的一个引脚。当单片机采用外部时钟信号时,外部时钟信号由此引脚接入。

使用单片机内部振荡电路时,用来接外部晶体的两端和微调电容。当单片机采用外部时钟信号时,则用来输入时钟脉冲。Vss(20):接地端。

Vcc(40):电源端,接十5V。3、电源、地2条;时钟2条;单片机时钟电路通常有两种形式:1.内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图2-10所示)。2.外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内(如图2-11所示)。2.1.4单片机时钟电路及CPU基本时序3、单片机时钟电路及CPU基本时序向CPU提供两相时钟信号振荡器输出信号一、机器周期、状态、振荡周期一个机器周期=6个状态=12个振荡周期1、振荡周期:振荡器输出的振荡时钟脉冲信号的周期。单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。2、时钟周期:又称状态周期、状态时间S,是振荡周期的两倍。分为P1、P2节拍。P1节拍通常完成逻辑操作,P2节拍通常完成内部寄存器间数据传送。3、机器周期若把一条指令执行过程分为几个基本操作,则执行每个基本操作所需要的时间,称为机器周期。单片机的一个机器周期包括12个振荡周期,分为6个S状态:S1-S6。每个状态又分为2拍,即前面介绍的P1和P2信号;个机器周期中的12个振荡周期可表示为S1P1,S1P2,S2P1……S6P1,S6P2.4、指令周期

CPU执行一条指令所需要的时间。是以机器周期为单位的,CPU执行一条指令通常需要1~4个机器周期。

P1P2S1P2振荡周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2MCS-51单片机各种周期的相互关系再读下一条指令再读下一条指令XTAL2(OSC)P2S1ALE读操作码读下一个操作码(丢弃)读第二字节(a)单字节,单周期指令例:MOVAR1(d)单字节,双周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1读下一个操作码(丢弃)(b)双字节,单周期指令例:ADDAdir(c)单字节,双周期指令例:INCDPTR读操作码(MOVX)读下一个操作码(丢弃)无取指无ALE无取指地址数据(DATA)访问外部存储器P2S1读操作码P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1二、CPU执行指令时序2.2

单片机复位电路及复位状态 1.复位电路单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图所示

2.单片机复位后的状态单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表所示。

22μFC1

RST

R11KΩ+5V22μFC1

RST+5VR2200Ω

RSTR1

+5V

C222μF

803180518751803180518751803180518751(a)上电复位电路(c)按键脉冲复位电路(b)按键电平复位电路

R11KΩ22μFC11KΩ

R21KΩ

几种复位电路特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0~P3FFHSBUF××××××××BIP×××00000BSCON00HIE0××00000BPCON0×××××××B单片机复位后特殊功能寄存器的状态表2.3MCS-51单片机的存储器配置

2.3.1程序存储器 2.3.2片内数据存储器2.3.3片外数据存储器2.3.1

程序存储器程序存储器的结构如图所示,包括片内和片外程序存储器两个部分。其主要用来存放编好的用户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。FFFFH外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存储器图2-9MCS-51单片机存储器结构特殊功能寄存器SFR通用

RAM区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)FFFFH外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存储器(c)工作寄存器区位寻址区128BRAM2.3.2片内数据存储器

工作寄存器区00H—1FH,供用户编程使用,临时存放,每个单元8位信息。共四组,每组8个单元,即8个寄存器当某一组被设定成工作寄存器组后,该组中的8个寄存器,从低地址到高地址就分别称为R0-R7,从而可以把它们用作通用寄存器,并可按寄存器寻址方式被访问。一旦工作寄存器组被指定后,另外三组寄存器则同其它数据RAM一样,只能按字节地址被予以读写。

位寻址区20H—2FH,16个字节,每个单元8位。也称为布尔处理区。该区每一位都被赋予一个地址,供128位。每个地址单元可进行字节

温馨提示

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

评论

0/150

提交评论