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

下载本文档

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

文档简介

1、第2章 MCS-51系列单片机的结构2.1 MCS-51单片机的内部结构2.2 MCS-51单片机的存储器结构2.3 MCS-51单片机的并行输入/输出(I/O)接口2.4 MCS-51单片机应用系统的构成第1页,共96页。2.1 MCS-51单片机的内部结构2.1.1MCS-51的结构框图 前面已经提到单片机是在一块芯片集成了CPU、RAM、 ROM、定时器/计数器、I/O接口以及串行通信接口等基本功能部件的一个完整的单片微型计算机。 如图2-1所示为8051单片机功能结构图。如图2 -2所示为8051单片机内部结构图。下一页返回第2页,共96页。2.1 MCS-51单片机的内部结构 MCS

2、-51单片机内部包括以下部件: (1)一个8位CPU。 (2)一个片内时钟振荡器,最高时钟频率为12MHzo (3) 4KB程序存储器ROM/EPROM (8031片内无ROM)。 (4) 128B数据存储器RAM。 (5)可寻址的外部程序存储器和数据存储器空间64 KB的机构。 (6) 21个特殊功能寄存器SFR。 (7) 4个8位并行I/O口,共32根I/O线。下一页返回上一页第3页,共96页。2.1 MCS-51单片机的内部结构 (8) 1个全双工串行口。 (9) 2个16位定时器/计数器。 (10)具有5个中断源,2个优先级的中断结构。 (11)具有位寻址功能的位处理器,适用于位(布尔

3、)处理。 MCS-51系列单片机典型芯片是8051。与8051结构相同的产品有8031和87510 8031是一个无ROM的8051,它从外部ROM获取所用的指令,8751是一个用EPROM代替ROM的8051,除此之外,三者的内部结构及引脚完全相同。今后,除特另11说明外,用8051这个名称来代表8031、8051和87510下一页返回上一页第4页,共96页。2.1 MCS-51单片机的内部结构2. 1. 2 CPU结构 CPU从功能上可分为控制器和运算器两部分,下面分别介绍这两部分的组成及功能。 1.控制器 控制器由程序计数器PC、指令寄存器、指令译码电路、定时控制与条件转移逻辑电路、数据

4、地址指针DPTR等组成。其功能是对来自程序存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的内部和外部的控制信号,使各部分协调工作,完成指令所规定的功能。控制器各功能部件简述如下。下一页返回上一页第5页,共96页。2.1 MCS-51单片机的内部结构 1)程序计数器PC (Program Counter) PC是一个16位的地址寄存器,用于存放将要从ROM中读出的下一字节指令码的地址,并具有自动加1的功能,因此也称为地址指针。当CPU要取指令时,将PC的内容送到地址总线上,从而指向程序存储器中存放当前指令的单元地址,以便从存储器中取出指令加以分析、执行,同时PC内容自动加

5、1,指向下一条指令,以保证程序按顺序执行。也可以通过控制转移指令改变PC值,实现程序的转移。PC不可访问,在物理结构上是独立的,因此不属于特殊功能寄存器。下一页返回上一页第6页,共96页。2.1 MCS-51单片机的内部结构 2)指令寄存器IR (Instruction Register) 指令寄存器是一个8位寄存器,用于暂存待执行的指令,等待译码。指令译码电路是对指令寄存器中的指令进行译码,将指令转变为执行此指令所需要的电信号,再经定时控制电路定时产生执行该指令所需要的各种控制信号。在MSC-51单片机中这部分电路对用户是透明的。下一页返回上一页第7页,共96页。2.1 MCS-51单片机的

6、内部结构 3)数据地址指针DPTR 数据地址指针DPTR是一个16位的专用地址指针寄存器,它由DPH和DPL这两个特殊功能寄存器组成。DPH是DPTR的高8位,DPL是DPTR的低8位,其组成如下: DPTR用于存放16位地址,可对外部数据存储器RAM64KB (0000H0FFFFH)地址空间寻址。下一页返回上一页第8页,共96页。2.1 MCS-51单片机的内部结构 2.运算器 运算器由算术逻辑运算部件ALU、累加器ACC、寄存器B、暂存寄存器、程序状态字寄存器PSW、堆栈指针SP等组成,另外为提高数据处理和位操作功能,还增加了一些专用寄存器。运算器各功能部件简述如下。 1)算术逻辑运算部

7、件ALU 算术逻辑运算部件ALU在定时控制逻辑电路发出的内部控制信号的控制下,可以进行如下的算术/逻辑操作:下一页返回上一页第9页,共96页。2.1 MCS-51单片机的内部结构 (1)带进位和不带进位的加法。 (2)带借位减法。 (3) 8位无符号数乘法和除法。 (4)逻辑与、或、异或操作。 (5)加1、减1操作。 (6)按位求反操作。 (7)循环左、右移位操作。 (8)半字节交换。 (9)二一十进制调整。 (10)比较和条件转移的判断等操作。下一页返回上一页第10页,共96页。2.1 MCS-51单片机的内部结构 2)累加器ACC 累加器ACC是一个8位寄存器,它通过暂存器和ALU相连,它

8、是CPU中工作最繁忙、最常用的专用寄存器,许多指令的操作数取自于ACC,许多运算结果也存放在ACC中。在指令系统中,累加器ACC的助记符也记作A。下一页返回上一页第11页,共96页。2.1 MCS-51单片机的内部结构 3)程序状态字寄存器PSW 程序状态字寄存器也是一个8位寄存器,相当于标志寄存器,用于存放指令执行结果的一些特征,供程序查询和判别之用。其格式如下: 下一页返回上一页第12页,共96页。2.1 MCS-51单片机的内部结构 其中每一位的具体含义如下: (1) CY:进/借位标志。在进行加、减法运算时,如果执行结果最高位D7有进、借位,CY置1,否则CY清0。在进行位操作时,CY

9、又是位操作累加器,指令助记符用C表示。 (2) AC:辅助进位。在进行加、减法运算时,如果低半字节D3向高半字节有进、借位,AC置1,否则AC清。 (3) F0:用户标志。由用户根据需要对其置位或复位,可作为用户自行定义的一个状态标志。下一页返回上一页第13页,共96页。2.1 MCS-51单片机的内部结构 (4) RS1和RS0:工作寄存器组选择位。由用户程序改变RS1和RS0组合中的内容,以选择片内RAM中的4个工作寄存器组之一作为当前的工作寄存器组。当前工作寄存器组的选择,如表2-1所示。 单片机在复位后,RS1和RS0都为0, CPU自然选择工作寄存器组0作为当前工作寄存器组。根据需要

10、,用户可以利用传送指令或位操作指令来改变RS1 ,RS0的内容,选择其他的工作寄存器组,这种设置对程序中保护现场提供了方便。下一页返回上一页第14页,共96页。2.1 MCS-51单片机的内部结构 (5) OV:溢出标志。在补码运算时,当运算结果超出-128+127范围时,将产生溢出,OV置1。否则无溢出,OV清0。 (6) Fl:用户标志。作用同F0,但要用位地址D1H或符号PSW. 1来表示这一位。下一页返回上一页第15页,共96页。2.1 MCS-51单片机的内部结构 (7) P:奇偶标志。该标志位始终跟踪累加器A中1的数目的奇偶性。如果A中1的数目为奇数,则P置1,若A中1的数目为偶数

11、或A =00H(没有1),则P清0。无论执行什么指令,只要A中1的数目改变,P就随之而变。以后在指令系统中,凡是累加器A的内容对P标志位的影响都不再赘述。 图2 -2中的暂存器是用于暂存进入运算器之前的数据。下一页返回上一页第16页,共96页。2.1 MCS-51单片机的内部结构2.1.3位(布尔)处理器 MCS-51片内的CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又含有一个完整的一位微型计算机。这个一位机有自己的CPU、位寄存器、位累加器、I/O接口和指令系统。它们组成了一个完整的、独立的而且功能很强的位处理单片机。可以完成位变量操作(布尔处理)、传送、测试转移、逻辑运算等

12、。下一页返回上一页第17页,共96页。2.1 MCS-51单片机的内部结构 把8位微型计算机和1位微型计算机相互结合在一起是微型计算机技术上的一个突破。一位机在开关量决策、逻辑电路仿真和实时控制方面非常有效。而8位机在数据采集及处理、数值运算等方面有明显的长处。在MCS-51单片机中,8位微处理器和位处理器的硬件资源是复合在一起的,二者相辅相成。例如,8位CPU中程序状态字寄存器PSW的进/借位标志位CY,在位处理器中用作位累加器C使用;又如内部数据存储器的某些存储区既可以按字节寻址,也可以按位寻址。这正是MCS -51在设计上的精美之处,也是一般计算机所不具备的。下一页返回上一页第18页,共

13、96页。2.1 MCS-51单片机的内部结构2. 1. 4 MCS-51的引脚定义及功能 8051单片机芯片采用40引脚双列直插封装DIP ( Double In line Package)方式,CHMOS的80C31/80C51除采用DIP封装方式外,还采用方型封装PLCC( Plastic Leaded Chip Carrier)方式。如图2-3(a)所示为PLCC封装引脚排列图,如图2-3(b)所示为DIP封装引脚排列图,如图2-3(c)所示为逻辑符号图。 MCS-51是高性能单片机,因为受到集成电路芯片引脚数目的限制,所以有许多引脚具有双功能。它们的功能简要说明如下。下一页返回上一页第

14、19页,共96页。2.1 MCS-51单片机的内部结构 1.主电源引脚 (1) Vcc:芯片电源端。工作电源和编程校验为+5V。 (2) Vss:接地端。 2.时钟振荡电路引脚XTAL1和XTAL2 XTAL1、 XTAL2:这两个引脚用来外接石英晶体振荡器,石英晶体振荡器产生的振荡信号送至内部时钟电路产生时钟脉冲信号。下一页返回上一页第20页,共96页。2.1 MCS-51单片机的内部结构3.控制总线 (1) :ALE为地址锁存允许信号。在访问外部存储器时,ALE用来把扩展地址低8位锁存到外部锁存器。在不访问外部存储器时,ALE引脚以不变的频率(时钟振荡器频率的1/6)周期性地发出正脉冲信号

15、,因而它又可用作外部定时或其他需要。但要注意,在遇到访问外部数据存储器时,会丢失一个ALE脉冲,A LE能驱动8个LSTTL负载。在8751单片机内部EPROM编程期间,此引脚接编程脉冲( 功能)。下一页返回上一页第21页,共96页。2.1 MCS-51单片机的内部结构 (2 ) RST/VPD:RST为复位信号输入端。当RST引脚持续接人两个机器周期(24个时钟周期)以上的高电平时,使单片机完成复位操作。此引脚还可以接人备用电源。当主电源Vcc一旦发生断电(称掉电或失电),降到一定低电压值时,可由VPD向内部RAM提供电源,以保护片内RAM中的信息不丢失,使上电后能继续正常运行。 (3 )

16、:外部程序存储器ROM的选通信号。当从外部程序存储器取指令(或数据)期间, 产生负脉冲作为外部ROM的选通信号。而在访问外部数据RAM或片内ROM时,不会产生有效的 信号。 可驱动8个LST-TL负载。下一页返回上一页第22页,共96页。2.1 MCS-51单片机的内部结构 (4 ) : 访问外部程序存储器控制信号。对8051和8071,当 为高电平时,若访问的地址空间在04KB (0000H0FFFH)范围内,CPU访问片内程序存储器;若访问的地址超出4KB时,CPU将自动执行外部程序存储器的程序,即访问片外程序存储器;当 为低电平时,只能访问片外程序存储器。对于8031 , 必须接地,只能

17、访问片外程序存储器。第二功能为对8751的EPROM编程期间,接+21V编程电源。下一页返回上一页第23页,共96页。2.1 MCS-51单片机的内部结构 4.输入/输出引脚(I/O)引脚)P0、P1、P2和P3口 (1) P0口(P0. 0P0. 7)是一个8位漏极开路的双向I/O口。第二功能是在访问外部存储器时,它分时作为低8位地址线和8位双向数据线。当P0口作为普通输入口使用时,应先向口锁存器写“1”。 (2) P1口(P1. 0P1. 7)是一个内部带上拉电阻的准双向I/O口。当P1口作为普通输入口使用时,应先向口锁存器写“1” 。下一页返回上一页第24页,共96页。2.1 MCS-5

18、1单片机的内部结构 (3) P2口(P2. 0P2. 7)也是一个内部带上拉电阻的8位准双向I/O口。第二功能是在访问外部存储器时,作为高8位地址线。 (4) P3口(P3. 0P3. 7)也是一个内部带上拉电阻的8位准双向I/0口。P3口除了作为一般准双向口使用外,每个引脚还有其第二功能,如表2 -2所列。返回上一页第25页,共96页。2.2 MCS-51单片机的存储器结构 MCS-51单片机的存储器组织结构与一般微型计算机不同。一般微型计算机通常是程序和数据共用一个存储空间;而MCS -51单片机的存储器结构是,程序存储器和数据存储器的存储空间是分开的,有4个物理上相互独立的存储器空间,即

19、片内、外程序存储器和片内、外数据存储器。下一页返回第26页,共96页。2.2 MCS-51单片机的存储器结构 但从用户的角度即逻辑上看,有三个存储空间:片内外统一编址的64 KB的程序存储器地址空间(包括片内ROM和外部ROM);64 KB的外部数据存储器地址空间;256 B的片内数据存储地址空间(包括128 B的内部RAM和特殊功能寄存器的地址空间)。在对这三个不同的存储空间进行数据传送时,必须分别采用三种不同形式的指令。图2 -4表示了8051的存储地址空间结构。下一页返回上一页第27页,共96页。2.2 MCS-51单片机的存储器结构2. 2. 1程序存储器 程序存储器是用于存放程序及表

20、格常数的。8051(或8751)片内驻留有4KB的ROM(或EPROM,外部可用16位地址线扩展到最大64KB的ROM空间。片内ROM和外部扩展ROM是统一编址的。当芯片引脚 为高电平时,8051的程序计数器PC在0000 H0FFFH范围内(即前4KB地址),执行片内ROM中的程序。下一页返回上一页第28页,共96页。2.2 MCS-51单片机的存储器结构 当PC的内容在1000 HFFFFH范围(超过4KB地址)时,CPU自动转向外部ROM执行程序。如果EA为低电平(接地),则所有取指令操作均在外部程序存储器中进行,这时外部扩展的ROM可从0000 H开始编址。对8031单片机,因片内无R

21、OM,只能外部扩展程序存储器,并且从0000 H开始编址, 必须为低电平。读取程序存储器中的信息使用“MOVC”指令。 在程序存储器中,有六个单元是分配给系统使用的,具有特定的含义。如表2 -3所示。)下一页返回上一页第29页,共96页。2.2 MCS-51单片机的存储器结构2. 2. 2数据存储器 数据存储器是用于存放运算中间结果、数据暂存和数据缓冲,以及设置特征标志等。它由随机读写存储器RAM组成,8051数据存储器地址空间分为内部和外部两个独立部分。 对于8051单片机,其片内有256B的数据存储器地址空间,可把它们的物理地址空间划分成四个用途不同的区域。低128B地址空间(OOH 7F

22、H)为片内数据存储器区,高128 B地址空间(80HFFH)为特殊功能寄存器区SFR。下一页返回上一页第30页,共96页。2.2 MCS-51单片机的存储器结构 1.片内数据存储器低128单元 片内RAM低128单元按用途可分为3个区域。 1)工作寄存器区 片内RAM中的OOH1FH共32 B单元为工作寄存器区,共分4组,每组有8个8位工作寄存器ROR7。通过对特殊功能寄存器程序状态字PSW的位3和位4 ( RS0、 RS1)的设置,可决定当前程序使用哪一组工作寄存器。CPU复位后,总是选中0组工作寄存器。如果实际应用中并不需要4组工作寄存器,那么剩下的工作寄存器组所对应的单元可作为一般的数据

23、缓冲器使用。下一页返回上一页第31页,共96页。2.2 MCS-51单片机的存储器结构 2)位寻址区 片内RAM的20H 2FH为可位寻址区域,这16B的每一位都有一个位地址,共有128位,其位地址为00 H7FH,可由程序对它们直接进行清零、置位、取反和测试等操作。同样,位寻址区的RAM单元也可按字节寻址,作为一般的数据缓冲器使用。下一页返回上一页第32页,共96页。2.2 MCS-51单片机的存储器结构 3)数据缓冲区和堆栈区 片内RAM的30H7FH共有80B,作为数据缓冲区和堆栈区使用。在程序中往往需要一个后进先出(LIFO)的RAM区域,用于调用子程序响应中断时的现场保护,这种LIF

24、O的缓冲区称为堆栈。堆栈原则上可以设在内部RAM的任意区域,但由于00 H1FH为工作寄存器区,20 H2FH为位寻址区,所以堆栈一般设在30H7FH的范围之内,这个区域只能字节寻址。如图2 -5所示为内部RAM地址空间分布图。下一页返回上一页第33页,共96页。2.2 MCS-51单片机的存储器结构 片内RAM的各个单元,都可以通过直接给出的字节地址来寻找。如果要寻找内部RAM中的可位寻址区的各个位(bit),必须在位操作指令中用位地址来寻找。对于工作寄存器中的当前工作寄存器,一般都直接用符号名R0R7。下一页返回上一页第34页,共96页。2.2 MCS-51单片机的存储器结构 2.特殊功能

25、寄存器(SFR) MCS-51单片机内部的I/O口锁存器、串行口数据缓冲器、定时器/计数器以及各种控制寄存器和状态寄存器统称为特殊功能寄存器,简记为SFR (Special Function Registers) , 8051片内能够被用户使用的SFR实际上仅有21B,离散地分布在内部数据存储区高128B中80 HFFH地址空间内,特殊功能寄存器地址分配表,如表2 -3所列。下一页返回上一页第35页,共96页。2.2 MCS-51单片机的存储器结构 80 HFFH地址空间的很多单元是没有定义的,用户不能使用它。如果对这些未定义的单元进行读/写操作,将会发现读出的数据不定,欲写入的数据会被丢失。

26、 每一个SFR都会有字节地址,并定义了符号名。其中有11个SFR具有位地址(可位寻址),对应的位也定义了位名。由表2 -4可知,凡是字节地址能被8整除的SFR都具有位地址,在SFR中共有83位可以位寻址。 用户在使用特殊功能寄存器时,可以用直接地址,例如,累加器A的地址E0H,也可以用其符号名ACC,而在指令助记符中常用A表示。显然,后者明了、方便。下一页返回上一页第36页,共96页。2.2 MCS-51单片机的存储器结构 对于具有位地址的SFR,在表示其某一位时,可以用位地址,也可以用位定义名,或者用“寄存器名.位”的形式表示。例如: D3H(位地址) RSO(位定义名) PSW . 3(寄

27、存器.位) 都表示程序状态寄存器PSW中的D3位。下一页返回上一页第37页,共96页。2.2 MCS-51单片机的存储器结构 除了前面介绍过的特殊功能寄存器累加器ACC、数据地址指针DPTR和程序状态寄存器PSW外,下面再介绍部分SFR,其余将在后续帝节中叙述。 1) B寄存器 B寄存器主要用于乘法和除法操作。对于其他指令,B寄存器可作为一个通用寄存器,用于暂存数据。下一页返回上一页第38页,共96页。2.2 MCS-51单片机的存储器结构 2)堆栈指针SP 堆栈指针SP是一个8位的SFR。它总是指向栈顶,单片机复位后SP初始值自动设为07H0 51单片机的堆栈通常设在片内RAM的30H 7F

28、H这一地址空间内。堆栈操作遵循先进后出(FILO)的原则,人栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时,先将SP指向单元的数据弹出,然后SP再减1,这时SP指向的单元是新的栈顶。由此可见,51单片机的堆栈区是向地址增大的方向生长的。下一页返回上一页第39页,共96页。2.2 MCS-51单片机的存储器结构 3) I/O端口锁存器POP3 4个特殊功能寄存器PO、P1、P2、和P3,分别是4个I/O端口P0、Pl、P2、和P3口对应的锁存器。下一页返回上一页第40页,共96页。2.2 MCS-51单片机的存储器结构 3.片外数据存储器 片外数据存储器地址空间为64 KB(0000

29、 HFFFFH),在应用系统中,如果数据缓冲器需要量比较大,内部RAM不能满足要求,那么就可以外接RAM芯片来扩展数据存储器的容量,最大可达64 KB。另外当系统需要扩展I/O接口时,I/ 0接口地址空间就要占用一部分外部数据存储器地址空间。内部RAM及特殊功能寄存器各存储单元之间的数据传送用“MOV”指令,访问外部RAM或扩展I/O接口用“MOVX”指令。返回上一页第41页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 MCS-51单片机有四个八位双向输入/输出接口(也可称为I/O端口或I/0口)P0、Pl、P2、P3,共犯根I/O线,其每个接口的每一位都有着相同的结构

30、,包括输出锁存器、输入缓冲器和输出驱动器。为方便起见,我们把4个接口和其中的锁存器(即专用寄存器)都笼统地表示为P0P3。下一页返回第42页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O口使用。MCS-51单片机4个I/O口线路设计得非常巧妙,学习I/O口的逻辑电路,不但有利于正确合理地使用端口,而且对设计单片机外围逻辑电路也有很大的帮助。下一页返回上一页第43页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)

31、接口2. 3. 1 P0口 P0口某位结构,如图2 -6所示。 P0口由一个输出锁存器、两个三态输入缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路由一对场效应管组成,其工作状态受输出控制电路的控制,后者包括:一个与门,一个反相器和一路模拟转换开关(MUX)。下一页返回上一页第44页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 模拟转换开关的位置由来自CPU的控制信号决定,当控制信号为0(低电平)时,开关处于图示位置,它把输出驱动电路的下拉场效应管V2与锁存器的反相端Q接通,同时,因与门输出为0,输出驱动电路中的上拉场效应管V1处于截止状态,因此输出级是漏极

32、开路的开漏电路。此时PO可作一般的I/O口用。CPU向端口输出数据时,写脉冲加在锁存器时钟端CP上,这样与内部总线相连的D端的数据经锁存器取反后又经输出场效应管反相,在P0脚上出现的数据正好是内部总线的数据。下一页返回上一页第45页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 端口中的两个三态输入缓冲器用于读操作,一个缓冲器用于直接读端口引脚处的数据,当执行由端口输入的指令时,读脉冲把图2-6中下面一个三态缓冲器打开,端口上的数据将经过缓冲器输送至内部总线。但上面一个缓冲器并不直接读取端口引脚上的数据,而是读取锁存器Q端的数据,Q端与引脚上的数据是一致的。下一页返回上一

33、页第46页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 从图2 -6的结构看,引脚上的外端信号既加在三态缓冲器的输入端上,又加在输出场效应管的漏极上,若此场效应管是导通的,则引脚上的电位始终在0电平上,输入数据不可能正确地读入,所以,在作为一般I/O口使用时,P0口是一个准双向口,在输入数据时,应先把口置“1,使输出级的两个场效应管皆截止,引脚处于悬浮状态,呈现高阻抗,以便输入的数据在“读引脚”信号的控制下正确地输入。下一页返回上一页第47页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 当PO口作为地址/数据总线使用时,可分为两种情况,一种是从P

34、O输出地址或数据,此时控制信号应为高电平1,转换开关把地址/数据信号输入所用的反相器输出端与下拉场效应管V2接通,同时与门开锁。输出的地址或数据信号既通过与门去驱动上拉场应管,又通过反相器去驱动下拉场应管。另一种是从PO输入数据,此时信号仍从输入缓冲器进入内部总线。下一页返回上一页第48页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口2. 3. 2 P1口 P1口是一个准双向口,作通用I/O口使用,在输出驱动器部分有别于P0口,接有内部上拉电阻。P1口某位结构图,如图2 -7所示。 在用作输入方式时,也必须首先将口锁存器置1,关断作输出驱动器的场效应管,使口内部的上拉电阻

35、将相应引脚上拉成高电平,然后再进行输入操作。下一页返回上一页第49页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口2. 3. 3 P2口 P2口的位结构图,如图2 -8所示,它与P1口一样也接有内部上拉电阻,在内部结构上,P2比P1口多了一个输出转换控制部分,当转换开关(MUX)倒向左面时,P2口作为通用的I/O口使用,是一个标准双向口。当系统中接有外部存储器时,P2口可用于输出高8位的地址,转换开关在CPU的控制下倒向右边。由于访问外部存储器的操作连续不断,P2口不断输出高8位地址,此时P2口不可能再作为通用I/O口使用了。下一页返回上一页第50页,共96页。2.3 M

36、CS-51单片机的并行输入/输出(I/O)接口2. 3. 4 P3口 P3口是一个多用途的端口,P3口某位结构如图2 -9所示,当它作为通用I/0口使用时,工作原理与P1和P2口类似,但第二输出功能端应保持高电平,使与非门对锁存器输出端Q是畅通的。 除了作为通用I/O口使用外,P3口的各位还具有第二个专用功能,当某一位实现第二专用功能时,该端口的锁存器应置1,使与非门第二输出功能是畅通的,或使此端口允许输入专用信号。不管是作为通用输入口还是作为专用输入口,相应的输出锁存器和第二输出功能端都应置1。下一页返回上一页第51页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口2.

37、3. 5并行I/O接口的应用要求 由于MCS-51单片机并行I/O接口POP3在结构上的不同,因此在使用时应注意它们的应用要求。 (1) P0口的每一位输出可驱动8个LSTTL负载,P1P3口的每一位输出可以马驱动3个LSTTL负载。下一页返回上一页第52页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 (2) P0口既可作通用I/O口使用,也可作为地址/数据总线使用。当把它作为通用I/O口使用时,由于输出级是开漏电路,所以需要外接上拉电阻才能保证有高电平输出。当作为地址/数据总线使用时,无需外接上拉电阻,但此时不能再作为通用I/O口使用。 P1P3口可作通用I/O口使用

38、。在作为输入口使用时,它们的输入端都可以被集电极开路或漏极开路电路所驱动,而无需再外接上拉电阻。在作为输出口使用时由于CHMOS端口只能提供几毫安的输出电流,因此去驱动一个普通晶体管基极时,应在端口与晶体管基极间串接一个电阻,以限制高电平输出的电流。下一页返回上一页第53页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 (3) P0P3口都是准双向I/O口,在作为输入口使用时,必须先向相应端口的锁存器写入“1,使下拉场效应管截止,以保证数据输入的正确性。 最后还要强调的是: (1) P0口:在扩展外部程序存储器和数据存储器的情况下,P0口不能作I/0口使用。此时P0口要作

39、为低8位地址总线和8位数据总线使用,它先作为地址总线对外传送8位地址信息,然后再作为数据总线对外交换数据。下一页返回上一页第54页,共96页。2.3 MCS-51单片机的并行输入/输出(I/O)接口 (2) P1口:只有I/O口功能,在任何情况下,P1口都可作为I/O口使用。 (3) P2口:在扩展外部存储器时,要作为高8位地址总线使用。 (4) P3口:它的每个引脚都有不同的第二功能,当其某引脚按第二功能使用时,P3口就不能再作为8位I/O口使用了。返回上一页第55页,共96页。2.4 MCS-51单片机应用系统的构成2. 4. 1振荡电路和时钟电路 MCS-51片内有一个高增益反相放大器,

40、其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体振荡器和微调电容,构成振荡器,如图2-10(a)所示。电容C1和C2对频率有微调作用,电容容量的选择范围为5PF30PF。在设计印刷电路时,晶振和电容应尽量安装在单片机附近,以减少寄生电容。为提高温度稳定性,应采用NPO电容。振荡频率的选择范围为1. 2MHz12MHz。下一页返回第56页,共96页。2.4 MCS-51单片机应用系统的构成 在使用外部时钟时,8051的XTAL2用来输入外时钟信号,而XTAL1则接地,如图2-10(b)所示;对于CHMOS型8051单片机,外部时钟信号必须从XTAL1输入,而XTAL2悬空,如图2-1

41、0(c)所示。下一页返回上一页第57页,共96页。2.4 MCS-51单片机应用系统的构成2. 4. 2 CPU时序 1.振荡周期、时钟周期、机器周期、指令周期 为了便于分析CPU的时序,下面介绍几种周期信号。 (1)振荡周期。振荡周期指为单片机提供定时信号的振荡源的周期。 (2)时钟周期。时钟周期又称为状态周期或状态时间S,是振荡周期的两倍,它分成P1节拍和P2节拍,P1节拍通常完成算术逻辑操作,而内部寄存器间传送通常在P2节拍完成。下一页返回上一页第58页,共96页。2.4 MCS-51单片机应用系统的构成 (3)机器周期。若把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的

42、时间称为机器周期。一个机器周期由6个状态周期(12个振荡脉冲)组成,分为6个状态: S1S6。每个状态又分为2拍:P1和P2。因此,一个机器周期中的12个振荡周期表示为S1 P1、 S1 P2、S6 P1、S6 P2。 (4)指令周期。指令周期指执行一条指令所占用的全部时间,通常由14个机器周期组成。下一页返回上一页第59页,共96页。2.4 MCS-51单片机应用系统的构成 若外接晶振为6MHz 振荡周期=1 /6s 时钟周期=1/3 s 机器周期=2 s 指令周期=28 s 若外接晶振为12MHz: 振荡周期=1/12 s 时钟周期=1 /6 s 机器周期=1 s 指令周期=14 s 各种

43、周期之间的关系如图2 -11所示。下一页返回上一页第60页,共96页。2.4 MCS-51单片机应用系统的构成 2. CPU时序 在MCS-51指令系统中,有单字节指令、双字节指令和三字节指令。每条指令的执行时间分别占用1个或几个机器周期。单字节指令和双字节指令都可能是单周期和双周期,而三字节指令都是双周期,只有乘除法指令占用四个机器周期。下一页返回上一页第61页,共96页。第62页,共96页。2.4 MCS-51单片机应用系统的构成 每一条指令的执行都可以包括取指和执行两个阶段。图2 -12列举了几种典型指令的取指和执行时序。在取指阶段,CPU从程序存储器ROM中取出指令操作码及操作数,然后

44、才是执行这条指令的逻辑功能。对于绝大部分指令,在整个指令执行过程中,ALE是周期性的信号。在每个机器周期中,ALE信号出现两次:第一次在S 1 P2和S2P1期间,第二次在S4P2和S5P1期间。A LE信号的有效宽度为1个S状态。每出现一次ALE信号,CPU就进行一次取指操作。下一页返回上一页第63页,共96页。2.4 MCS-51单片机应用系统的构成 对于单周期指令,从S 1 P2开始把指令操作码读到指令寄存器。如果是双字节指令,则在同一个机器周期的S4读入第二字节。对单字节指令,在S4仍有一次读指令码的操作,但读入的内容(它应是下一个指令码)被忽略(不作处理),并且程序计数器PC不加1,

45、这种无效的读取称为假读。在下一个机器周期的S1才真正读取此指令码。图2-12(a)和图2-12(b)给出了这两种指令的时序。它们都能在S6 P2结束时完成。下一页返回上一页第64页,共96页。2.4 MCS-51单片机应用系统的构成 对于单字节双周期指令,2个机器周期内进行4次读取操作码操作,但后3次都是假读。如图2-12(c)所示。 访问外部RAM的指令(MOVX),也是单字节双周期指令。在第一机器周期S5开始送出外部RAM地址后,进行读/写RAM操作。在此期间无ALE信号,所以第二周期不产生取指操作。如图2-12(d)所示。这种情况下,A LE信号不是周期性的。下一页返回上一页第65页,共

46、96页。2.4 MCS-51单片机应用系统的构成2. 4. 3复位电路 在MCS-51的引脚定义及功能一节中讲到:RST为复位信号输入端,当RST引脚持续两个机器周期(24个时钟周期)以上的高电平时,使单片机完成复位操作。复位后,片内各寄存器的状态,如表2-5所列。下一页返回上一页第66页,共96页。2.4 MCS-51单片机应用系统的构成 1.复位电路 MCS-51系统刚通电(上电)后,必须复位。由于复位后,PC = 0000H ,指向了程序存储器00000H地址单元,使CPU从首地址0000 H单元开始执行程序。复位不影响内部RAM中的数据。此外,在系统工作异常等特殊情况下,也可以人工使系

47、统复位。复位是由外部复位电路来实现的,按功能可以分为上电自动复位方式和人工复位两种方式。复位电路如图2-13所示。下一页返回上一页第67页,共96页。第68页,共96页。2.4 MCS-51单片机应用系统的构成 在图2-13 ( a)中,当振荡频率 = 12MHz时,典型值C = 10F, R =8. 2 ;当振荡频率 =6MHz时,典型值C =20 F, R = 1 。在图2-13 (b)中,当振荡频率 =6MHz时,典型值C =20 F, R11 , R2 =0. 2 。下一页返回上一页第69页,共96页。2.4 MCS-51单片机应用系统的构成 2.系统复位 在实际的单片机应用系统设计中,若有外部扩展的I/O接口电路与CPU一样需要复位。这时就需要一个系统的同步复位信号。系统复位的方式有多种,可以采用如图2 -14所示的两种较为简单易行的系统复位方式。图2 -14(a)是采用施密特触发器整形后加在单片机复位端的复位电路;图2-14 (b)是采用分离器件的复位电路,此电路需要分别调整RC参数保证CPU与外部电路的同步复位。下一页返回上一页第70页,共96页。2.4 MCS-51单片机应用系统的构成2. 4. 4 CHMOS型单片机

温馨提示

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

评论

0/150

提交评论