第2章MCS-51单片机内部结构和原理资料教程_第1页
第2章MCS-51单片机内部结构和原理资料教程_第2页
第2章MCS-51单片机内部结构和原理资料教程_第3页
第2章MCS-51单片机内部结构和原理资料教程_第4页
第2章MCS-51单片机内部结构和原理资料教程_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第2章MCS-51单片机内部结构和原理

MCS-51单片机是高性能8位单片机,其代表是8051。该系列其他单片机以8051为核心,再增加一定的功能部件后构成的。

在单片机中除了有CPU、存储器和输入/输出接口外,还有定时器/计数器、串行I/O接口和中断系统等逻辑部件。本章主要介绍MCS-51单片机的基本结构和功能、存储器、I/O口以及单片机的引脚功能等。2.1MCS-51单片机内部结构与封装2.1.1MCS-51单片机基本结构及功能

MCS-51单片机是由8位CPU、程序存储器(EPROM/ROM)、数据存储器(RAM)、并行I/O口、串行I/O口、定时器/计数器、中断系统、振荡器和时钟电路等部分组成,各部分通过内部总线相连。MCS-51单片机系统结构如下图所示。P3P1P2

可编程串行I/O口P0外部中断基准频率源控制

128B数据存储器

4KB程序存储器

2个16位定时/计数器

振荡器及定时电路

CPU

64KB总线扩展控制

可编程并行I/O口内部中断计数脉冲串行输出串行输入

累加器A是一个非常常用的寄存器。运算时将一个操作数经暂存寄存器送至ALU,与另一个来自暂存寄存器的操作数在ALU中运算,结果又送入累加器A中。

寄存器B在乘、除运算时用来存放一个操作数,也用来存放结果的一部分。

暂存寄存器用来暂时存放数据总线和其他寄存器送来的操作数。

程序状态字寄存器PSW是状态标志寄存器,用来保存ALU运算结果的特征和处理状态。(2)控制器。用来统一控制和协调单片机进行工作的部件。由程序计数器PC、指令寄存器IR、指令译码器ID和定时及控制逻辑电路等部分组成。程序计数器PC是16位计数器,总是存放下一条要读取指令所在存储单元的16位地址。每取完一个字节后PC自动加1。单片机复位时PC自动清0,即装入地址0000H。指令寄存器IR用来保存当前正在执行的一条指令。指令译码器ID用来翻译操作码,确定所要执行的操作。定时与控制逻辑是CPU的核心部件,它控制读指令、执行指令、存取操作数或运算结果等操作,向其他部件发出各种操作控制信号,协调各部件工作。2.存储器MCS-51的储存器结构与常见的微型计算机的配置方法不同,它将程序存储器和数据存储器分开,各有自己的寻址方式、控制信号和功能。

程序存储器用来存放程序和始终要保留的常数。

数据存储器存放程序运行中所需要的常数和变量。从物理空间看,MCS-51有四个存储器地址空间:片内数据存储器、片外数据存储器片内程序存储器、片外程序存储器MCS-51存储器物理结构见下图所示:

外部数据存储器(RAM)外部程序存储器(ROM)内部程序存储器内部数据存储器8XX51从逻辑上看,MCS-51有三个存储器空间:片内数据存储器、片外数据存储器片内、片外统一编址的程序存储器MCS-51的存储器逻辑结构如图1-2所示。

MCS-51存储器物理结构3.定时器/计数器MCS-51单片机有2个16位定时器/计数器,实现定时和计数功能。4.并行I/O口MCS-51单片机有4个8位I/O口,即P0、P1、P2和P3,实现数据并行输入输出。5.串行口MCS-51单片机有一个全双工串行口(UART),利用P3.0(RXD)和P3.1(TXD)实现单片机与外设的数据传送。6.中断控制系统MCS-51单片机有5个中断源,包括2个外部中断,2个定时/计数中断,1个串行中断。有高级和低级两个优先级。7.时钟电路主要为单片机产生时钟脉冲序列,石英晶体和微调电容需要外接,典型晶振频率为11.0592MHz、12MHz和24MHz,微调电容容量为20pF~30pF。8.总线为了减少单片机的连线和引脚,提高集成度和可靠性,系统的地址信号、数据信号和控制信号都是通过总线传送的,因此有三种总线,即地址总线、数据总线和控制总线。2.1.2MCS-51单片机引脚分布及功能图2-2是89C51的引脚结构图,有双列直插封装(DIP)方式和方形封装方式。下面分别叙述这些引脚的功能。图2-289C51的引脚结构1.电源引脚VCC和VSSVCC(40脚):电源端,接+5V。VSS(20脚):接地端,有时标为GND。2.时钟信号引脚XTAL1和XTAL2XTAL1(19脚):接外部晶振和微调电容的一端,也是外部时钟源的输入端。XTAL2(18脚):接外部晶振和微调电容的另一端,采用外部时钟源时该脚悬空。判断单片机的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。3.控制信号引脚RST、ALE、和RST(9脚):复位信号输入端,高电平有效。ALE(30脚):地址锁存允许信号端。CPU访问片外存储器时该引脚输出信号作为锁存低8位地址的控制信号。单片机正常工作时该引脚不断向外输出正脉冲信号,频率为振荡频率的1/6。(29脚):片外程序存储允许输出信号端。单片模式时该引脚不接。(31脚):外部程序存储器地址允许输入端。当引脚接高电平时,CPU从片内ROM访问并从内部程序存储器中的指令执行;当引脚接低电平时,CPU只访问片外ROM并执行片外程序存储器中的指令。4.输入/输出端口P0、P1、P2和P3P0口(32~39脚):8位漏极开路型双向并行I/O口。P1口(1~8脚):8位具有内部上拉电阻的准双向I/O口。P2口(21~28脚):8位具有内部上拉电阻的准双向I/O口。P3口(10~17脚):8位具有内部上拉电阻的准双向I/O口,每一位又具有特殊功能(第二功能),如表2-1所示。表2-1P3口引脚与特殊功能表端口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)2.2MCS-51单片机内部存储器

CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM,也可以是RAM,并用同类访问指令,此种存储器结构称为普林斯顿结构。MCS-51单片机的存储器在物理上是分开的,共有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器,这种程序存储器和数据存储器分开的结构形式称为哈佛结构。

MCS-51单片机的存储器从逻辑上划分为3个存储地址空间:片内外统一编址的64KB程序存储器地址空间(0000H~FFFFH),64KB片外数据存储器地址空间(0000H~FFFFH),256字节片内数据存储器地址空间。CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。图2-3为MCS-51单片机的存储器配置。

引脚EA的接法决定了程序储存器的0000~0FFFH4KB地址范围是在单片机片内还是片外。

H00000FFFH图1-2MCS-51单片机的存储器逻辑结构FFFFH0000H0FFFH

外部RAM

外部ROM内部ROM(EA=1)H0000外部ROM(EA=0)1000HFFFFH

特殊功能寄存器内部数据存储器

内部数据RAM7FH80H00HFFH外部数据存储器

(增强型)程序存储器

地址重叠2.2.1程序存储器

程序存储器用来存放调试好的应用程序和表格常数。内部有ROM的单片机,在正常运行时应把引脚接高电平,使程序从内部ROM开始执行,当PC值超过内部ROM地址空间时,自动转向外部ROM去执行程序。对内部无ROM的单片机,应始终接低电平,迫使CPU从外部ROM取指令。

64KB程序存储器中的7个入口地址具有特殊功能。0000H单元:程序的起始地址,系统复位后PC的值为0000H,0000H~0002H单元用于初始化,一般在起始地址单元中设置一条绝对转移指令使之转向主程序处执行。

其他6个特殊功能的入口地址分别对应6种中断源的中断服务程序入口地址,如表2-2所示。通常在中断入口地址处写一条跳转指令,跳转到中断服务程序处执行。表2-2中断向量入口地址表中断源入口地址外部中断00003H定时计数器T0溢出000BH外部中断10013H定时计数器T1溢出001BH串行口中断0023H定时计数器T2溢出或T2EX输入负跳变002BH2.2.2数据存储器

数据存储器RAM用于存放运算的中间结果、数据暂存和缓冲等。数据存储器地址空间由内部和外部数据存储器空间组成,当访问片内RAM时,用MOV类指令;当访问片外RAM时,则用MOVX类指令。

片内数据存储器在物理上又分为三部分:低128BRAM、高128BRAM(仅52系列)和特殊功能寄存器(SFR)。1.片外RAM

片外RAM与片内RAM的低地址部分(0000H~00FFH)是重叠的。片内RAM使用MOV指令,片外64KBRAM空间专门为MOVX指令所用,采用R0、R1或DPTR寄存器间接寻址方式访问。如MOVXA,@DPTR。2.片内RAM(1)低128BRAM(00H~7FH)

片内RAM的低128BRAM由工作寄存器区、位寻址区和数据缓冲区组成,如下图所示。

00H~1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0~R7),共占32个单元,见表2-3。通过对程序状态字PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。表2-3工作寄存器地址表RS1RS0寄存器组R0R1R2R3R4R5R6R700工作寄存器组000H01H02H03H04H05H06H07H01工作寄存器组108H09H0AH0BH0CH0DH0EH0FH10工作寄存器组210H11H12H13H14H15H16H17H11工作寄存器组38H19H1AH1BH1CH1DH1EH1FH内部RAM中的20H~2FH是16个单元的位寻址区,这16个单元共有128位,其位地址为00H~7FH。所谓位寻址是指CPU能直接对这些位进行置“1”、清“0”、求反、传送等逻辑操作。数据缓冲区是片内RAM中30H~7FH的80个单元,只能以存储单元的形式使用,一般常把堆栈开辟于此区中。

(3)特殊功能寄存器(SFR)(80H~0FFH)

该区存放相应功能部件的控制命令的状态或数据,MCS-51系列单片机的特殊功能寄存器共有22个,可直接寻址的有21个。

①程序计数器PC(ProgramCounter)。PC是16位计数器,内容为将要执行的指令地址,有自动加1功能,以实现程序顺序执行。PC没有地址,不可以寻址。但在执行转移、调用、返回等指令时自动改变其内容实现程序执行顺序的改变。

②累加器A(ACC,Accumulator)。ACC为8位寄存器,用于寄放操作数,也是ALU运算结果的暂存单元,也是数据的中转站,在变址寻址方式中把累加器作为变址寄存器使用。因此累加器A使用非常频繁。③寄存器B。8位寄存器,主要用于乘、除运算。

④程序状态字PSW(ProgramStatusWord)。PSW的各位定义如下:位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV—P2.3MCS-51单片机I/O端口电路、时钟电路与工作方式2.3.1MCS-51单片机I/O端口的结构及使用方法

MCS-51单片机内有4个8位并行I/O口,称为P0、P1、P2和P3。每个端口都是8位准双向I/O口,共占32个引脚。每个端口都包含一个锁存器,一个输出驱动器和一个输入缓冲器。在具有片外扩展存储器的系统中,P2口送出高8位地址,P0口为双向总线,分时送出低8位地址和数据的输入/输出。1.P0口

P0口的字节地址为80H,位地址为80H~87H。图2-5所示为P0口某一位的结构图。它由一个输出锁存器、2个三态输入缓冲器和输出驱动电路及控制电路组成。图中控制信号C的状态决定转换开关的位置。当C=0时,开关处于图示位置;当C=1时,开关拨向反相器输出端位置。图2-5P0口某位结构图2.P1口

P1口的字节地址为90H,位地址为90H~97H。图2-6所示为P1口某一位的结构图。它由一个输出锁存器、2个三态输入缓冲器和输出驱动电路组成。输出驱动电路只有一个场效应管VT1,同时内部带上拉电阻。图2-6P1口某位结构图

P1口可作通用双向I/O口用,不必再外接上拉电阻。当端口用作输入时和P0口一样,必须先向对应的锁存器写入“1”,使VT1截止,然后读引脚。3.P2口

P2口的字节地址为0A0H,位地址为0A0H~0A7H。图2-7所示为P2口某一位的结构图。它由一个输出锁存器、2个三态输入缓冲器和输出驱动电路及控制电路组成。输出驱动电路只有一个场效应管VT1,同时内部带上拉电阻。图2-7P2口某位结构图当单片机系统需要进行片外ROM扩展或进行片外RAM扩展时,P2口可用于输出高8位地址。4.P3口P3口的字节地址为0B0H,位地址为0B0H~0B7H。图2-8所示为P3口某一位的结构图。它由一个输出锁存器、3个三态输入缓冲器和输出驱动电路组成。输出驱动电路只有一个场效应管VT1,同时内部带上拉电阻。比P1口多了一个第二功能控制部分的逻辑电路。图2-8P3口某位结构图

P3口是一个多功能端口。图中“与非”门的作用是一个开关,决定是输出锁存器Q端数据,还是输出第二功能(W)的信号。当W=1时,输出Q端信号;当Q=1时,可输出W线信号。

当P3口作为输入使用时,同P0~P2口一样,先由软件向口锁存器写1,即使D锁存器Q端保持“1”,“与非”门输出为0,场效应管截止,引脚端可作为高阻输入。当CPU执行读命令操作时,使缓冲器2上的“读引脚”信号有效,三态缓冲器2开通,于是引脚的状态经缓冲器3、缓冲器2送至CPU内部总线。当某位被用作第二功能时,该位D锁存器Q端被内部硬件自动置“1”,使“与非”门对第二功能是畅通的。由于端口不作为I/O口(不执行MOVA,P3),故“读引脚”信号无效,缓冲器2不通,第二输入功能信号经缓冲器4送入第二输入功能端。注意:P0口与其他口不同,它的输出级无上拉电阻。P1~P3口都是准双向口,作为输入时必须先对相应端口锁存器写1。2.3.2MCS-51单片机时钟电路时钟电路用于产生单片机工作所需的时钟信号。单片机是一个复杂的同步时序电路,因此必须受控于唯一的时钟信号,而时序所研究的则是指令执行时各信号之间的相互时间关系。1.单片机时钟电路单片机芯片内部有一个高增益反相放大器,用于构成振荡器,XTAL1为反相放大器的输入端,XTAL2为输出端,两端跨接石英晶体和两个电容就构成稳定的自激振荡器。电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fosc=0~24MHz。单片机的时钟电路有两种方式:内部时钟方式和外部时钟方式。如图2-9所示。图2-9单片机的时钟电路2.CPU时序的几个概念(1)节拍与状态周期节拍(用P表示)是指振荡脉冲的周期。振荡脉冲经过两分频后就是单片机的时钟信号,把时钟信号的周期定义为状态(用S表示)。即一个状态包含两个节拍。时钟周期也称为状态周期,它是计算机中最基本的时间单位。MCS-51单片机中一个时钟周期为振荡周期的2倍。(2)机器周期和指令周期一个机器周期是指CPU访问存储器一次所需要的时间,一个机器周期包括12个振荡周期,分为6个状态:S1~S6,每个状态又分为两个节拍。指令周期是完成一条指令所需要的时间。MCS-51单片机系统中有单周期指令、双周期指令和四周期指令。四周期指令只有乘、除两条指令。振荡周期=1/fosc状态周期=2/fosc机器周期=12/fosc指令周期=(1~4)机器周期2.3.3MCS-51单片机工作方式1.复位操作复位是单片机的初始化操作,使单片机系统处于初始状态,并从这个状态开始工作。即把PC初始化为0000H,使单片机从0000H单元开始执行程序。RST引脚是复位信号的输入端,复位信号高电平有效,有效时间应持续24个振荡周期(即两个机器周

温馨提示

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

评论

0/150

提交评论