汽车单片机及总线第2章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章MSC-51单片机的结构和原理第一节MCS-51单片机的内部组成及信号引脚第二节MCS-51单片机的中央处理器CPU第三节MCS-51的内部存储器第四节I/O端口、时钟电路与时序第五节MCS-51单片机工作方式第六节MCS-51单片机的存储器第一节MCS-51单片机的内部组成及信号引脚MCS-51系列单片微型机计算机包括8031、8051、8751等型号,其代表型号是8051。8051内部组成方框图如图2-1所示,本书也将主要以8051单片机的代表来介绍MCS-51系列单片机的工作原理。通常计算机须由三大基本单元,即中央处理器、存储器和输入/输出设备组成。下一页返回第一节MCS-51单片机的内部组成及信号引脚一、MCS-51单片机的基本组成8051单片机的结构组成如图2-1所示,各部分情况介绍如下:1.中央处理器顾名思义,这是单片机的核心部分。也有人将其称为MCU,在这些公司提供的器件使用手册上还有μP的写法,都是同一个意思。8051单片机的CPU由算术逻辑部件(ALU)、累加器(ACC)、寄存器B、暂存器TMP1和TMP2、程序状态寄存器(PSW)等运算部件,以及指令寄存器(IR)、指令译码器(ID)、数据指针寄存器(DPTR)、程序指针寄存器(PC)、堆栈指针(SP)等控制部件组成。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚2.内部数据寄存器(内部RAM)MCS-51的CPU能处理8位二进制。8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128个单元,用于存放可读写的数据。因此,通常所说的内部数据存储器就是指前128单元,简称内部RAM。3.内部程序存储器(内部ROM)根据有无片内ROM,8051单片机有三个品种,即无ROM版本为8031、工厂掩膜只读ROM版本为8051、EPROM版本为8751.8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,简称内部ROM。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚4.定时器/计数器8051有两个16位定时器/计数器(T0,T1),它们由特殊功能寄存器TMOD和TCON分别选择它们的工作方式和表示它们的状态。在定时器功能中,每个机器周期定时器加1,可以认为它是机器周期计数器,由于1个机器周期包含12个振荡周期,定时器计数到的脉冲为振荡频率的1/12。5.并行I/O口MCS-51共有四个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入输出。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚6.串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其他设备之间的穿行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7.中断控制系统MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5各中断源,即外部中断2个,定时/计数中断2个,串行中断1个。全部中断分为高级和低级两个优先级别。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚8.时钟电路MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的最高晶振频率为12MHZ。从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此实际上它是一个简单的微型计算机系统。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚二、MCS-51的信号引脚MCS-51微处理器采用40引脚的双列直插封装(DIP)方式,如图2-2所示,仔0条引脚中,有2条专用于主电源的引脚,2条外接晶振引脚,4条控制引脚和3条I/O引脚。下面分别叙述各引脚的功能。主电源引脚VSS和VCC:VSS(20)接地,VCC(40)正常操作时接+5V电源。外接晶振引脚XTAL1和XTAL2:当外接晶体振荡器时,XTAL1和XTAL2分别接在外接晶体两端;当采用外部时钟方式时,XTAL1接地,XTAL2接外来振荡信号。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚控制引脚RST/VPD,ALE/、、。对于RST/VPD:当振荡器正常运行时,在此引脚上出现两个机器周期以上的高电平使微处理器复位;VCC掉电期间,此引脚可接备用电源,以保持内部RAM的数据。:当访问外部存储器时,由微处理器的P2口送出地址的高8为,P0口送出地址的低8位,数据通过P0口传送。:是程序存储器读选通信号,低电平有效。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚EA/VPP(31):当EA端保持高电平时,访问内部程序存取器(4KB),但当PC(程序计数器)值超过0FFFH时,将自动转向执行外部程序存储器内的程序;当EA保持低电平时,则只访问外部程序存储器(从0000H地址开始),而不管微处理器内部是否有程序存储器。输入输出引脚P0.0~P0.7(39~~32):P0口是一个漏极开路型准双向I/O口。在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。上一页下一页返回第一节MCS-51单片机的内部组成及信号引脚P1.0~P1.7(1~8):P1口是带内部上拉电阻的8位双向I/O口。在EPROM编程和程序验证时,它接收低8位地址。P2.0~P2.7(21~28):P2口是一个带内部上拉电阻的8位双向I/O口。在访问外部存储器时,它送出高8位地址。在对EFROM编程和程序验证期间,它接收高8位地址。P3.0~P3.7(10~17):P3口是一个带内部上拉电阻的8位双向I/O口。在MCS-51中,这8个引脚还兼有专用功能。上一页返回第二节MCS-51单片机的中央处理器CPU一、运算器运算器包括算术逻辑部件ALU、位处理器、累加器A、寄存器B、暂存器以及程序状态寄存器PSW等。该模块的功能是实现数据的算术、逻辑运算、位变量处理和数据传送等操作。ALU的功能十分强,它不仅可对8位变量进行逻辑“与”、“或”、“异或”、循环、求补和清零等基本操作,还可以进行加、减、乘、除等基本运算。ALU还具有一般的微机ALU所不具备的功能,即位处理操作,它可以位(bit)变量进行处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。下一页返回第二节MCS-51单片机的中央处理器CPU由此可见,ALU在算术运算及控制处理方面能力是很强的。累加器A是一个8位的累加器,从功能上看,它与一般微机的累加器相比没什么特别之处,但需要说明的是A的进位标志Cy是特殊的,因为它同时又是位处理器的一位累加器。寄存器B是为执行乘法和除法操作设置的,在不执行乘、除法操作的一般情况下可把它当做一个普通寄存器使用。MCS-51的程序状态寄存器PSW是一个8位可读写的寄存器,它的不同位包含了程序状态的不同信息,掌握并牢记PSW各位的含义是十分重要的,因为在程序设计中,经常会与PSW的各个位打交道。PSW各位的定义如表2-1所示。上一页下一页返回第二节MCS-51单片机的中央处理器CPU二、控制器控制部件是微处理器的神经中枢,以主振频率位基准。控制器控制CPU的时序,对指令进行译码,然后发出各种控制信号,将各个硬件环节组织在一起。CPU的时序为每个机器周期(12个振荡周期)由6个状态周期组成,即S1、S2、……S6,而每个状态周期由两个时相P1,P2组成。上一页下一页返回第二节MCS-51单片机的中央处理器CPUCPU功能的强弱,主要可以用下几个指标来衡量:(1)内部总现宽度,也称字长、位数。位数越大运算精度越高,运算速度越快。(2)指令数。指令越多、编程越灵活。(3)执行每条指令所需时间或每秒钟平均执行指令条数,常用的MIPS表示每秒钟执行指令的百万条数。(4)寻址方式越多、对某一空间的寻址越灵活。MCS-51有5种寻址方式,MCS-96有6种寻址方式,Z80有6种寻址方式,MC6805有10种寻址方式。上一页返回第三节MCS-51的内部存储器一、内部数据存储器的结构(图2-3)MCS-51数据存储器在物理上和逻辑上都分为两个地址空间:一个内部和一个外部数据存储器空间。访问内部数据存储器,用MOV指令,访问外部数据存储器用MOVX指令。MCS-51内部数据存储器共有128个字节单元。内部数据存储器的00H~1FH(共32个单元)为4个寄存器工作区,每区8个寄存器,表示为R0~R7,如表2-2所示。由于每个寄存器区的8个寄存器都记为R0~R7,因此每次只能选择一个寄存器区工作。寄存器工作区的选择是通过状态标志寄存器PSW的第3、4位,即RS1、RS0进行。下一页返回第三节MCS-51的内部存储器内部数据存储器20H~2FH(16个单元)既可按字节寻址,作为一般工作单元,又可以按位CPU直接寻址,进行位操作。二、堆栈及堆栈指示器堆栈实际上是一种数据结构(如图2-4所示),是只允许在其一端进行数据插入和数据删除操作的线性表。数据写入堆栈称为压入运算(PUSH),也叫入栈。数据从堆栈中读出称之为弹出运算(POP),也叫出栈。堆栈的最大特点就是“后进先出”的数据操作规则,常把“后进先出”写为LIFO(Last-In.First-Out),即先入栈的数据存放在栈的底部。堆栈有两种类型:向上生长型和向下生长型。上一页下一页返回第三节MCS-51的内部存储器不论是数据进栈还是数据出栈,都是对堆栈的栈顶单元进行的,即对栈顶单元的写和读操作。为了指示栈顶地址,要设置堆栈指示器SP,其内容就是堆栈栈顶的存储单元地址。MCS-51系列微处理器的堆栈是以栈顶满的形式工作的。在执行PUSH期间,压入数据前,SP加1;反之,在执行POP期间,弹出数据前,SP减1.SP宽为8位。由于堆栈指针可以由指令改变,因此堆栈可以设置在片内RAM中任一连续空间内。复位后,SP初始化值位07H,所以,堆栈从08H单元开始。上一页下一页返回第三节MCS-51的内部存储器三、程序存储器程序存储器空间为0000H~FFFFH,共64KB,其结构如图2-5所示。其中低4KB(0000H-0FFFH)可以在单片机外部(8031),也可以在内部(8051、8751)。对没有片内ROM的8031,只要在硬件设计时使,就可以使程序执行始终在外部ROM中进行;对有片内ROM的8051和8751,只要在硬件设计时使,程序开始执行的前4KB总是在片内ROM中,超过0FFFH(4KB)时,在片外ROM中。上一页下一页返回第三节MCS-51的内部存储器无论,还是,都由16位程序计数器(PC)作为寻址装置。在整个程序存储器的64KB空间中,0000H~0023H空间只能用于存放中断服务子程序的向量地址,还有一组特殊单元是0003H~002AH,共40个单元。这40个单元被均匀地分为五段,作为五个中断源的中断地址,如表2-3所示。上一页返回第四节I/O端口、时钟电路与时序一、MCS-51的I/O端口输入/输出口也称为I/O端口。MCS-51单片机的四个I/O端口都是8位双向口,这些端口在结构和特性上是基本相同的,但又各具特点。I/O端口的作用在单片机中是一个集数据输入缓冲、数据输出驱动及锁存等多项功能为一体的电路。8051共有32根引脚全部为I/O端口,分为4个8位口。8051单片机的4个端口都是双向的,每个端口都包含锁存器(特殊功能寄存器中P0~P3,地址分别为80H、90H、0A0H、0B0H)、输出驱动器和输入缓冲器。下一页返回第四节I/O端口、时钟电路与时序每个端口的每一根引脚都可以独立地用作输入或输出引脚。P0端口是三态双向端口,称为数据总线端口,因为只有该端口能直接用于对外部存储器的读/写数据操作。P0端口还用以输出外部存储器的低8位地

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功