MCS-51单片机并行口的结构与操作

  • 格式:doc
  • 大小:309.00 KB
  • 文档页数:11

MCS-51单片机并行口的结构与操作

华中科技大学光学与电子信息学院

单片机

( 2015 -- 2016学年度 第 一 学期)

题 目:MCS-51单片机并行端口

结构与操作

院 系: 光学与电子信息学院

班 级:

学 号:

学生姓名:

指导教师:

成 绩:

日期: 2015年 9月 21日

MCS—51单片机并行口的结构与操作 MCS-51单片机并行口的结构与操作

一、MCS—51单片机简介

MCS—51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS—51单片机作为代表进行理论基础学习.

MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:

8位CPU、4kbytes 程序存储器(ROM)、128bytes的数据存储器(RAM)、32条I/O口线、111条指令,大部分为单字节指令、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级、一个全双工串行通信口、外部数据存储器寻址空间为64kB、外部程序存储器寻址空间为64kB、逻辑操作位寻址功能、双列直插40PinDIP封装、单一+5V电源供电。

如图所示:

MCS-51单片机并行口的结构与操作

1。结构

(1)中央处理单元(8位)

数据处理、测试位,置位,复位 位操作

(2)只读存储器(4KB或8KB)

永久性存储应用程序,掩模ROM、EPROM、EEPROM

(3)随机存取内存(128B、128B SFR)

在程序运行时存储工作变量和资料

(4)并行输入/输出口(I / O)(32条)

作系统总线、扩展外存、I / O接口芯片

(5)串行输入/输出口(2条)

串行通信、扩展I / O接口芯片

(6)定时/计数器(16位、加1计数)

计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作

(7)时钟电路

内振、外振。

(8)中断系统

五个中断源、2级优先。

2、MCS-51系列单片机为哈佛结构(而非普林斯顿结构)

1)内ROM:4KB

2)内RAM:128B

3)外ROM:64KB

4)外RAM:64KB

5)I / O线: 32根(4组,每组8根)

6)定时/计数器:2个16位可编程定时/计数器 MCS-51单片机并行口的结构与操作

7)串行口:全双工,2 根

8)寄存器区:工作寄存器区、在内128B RAM中,分4个区,

9)中断源:5源中断,2级优先

10)堆栈:最深128B

11)布尔处理机:位处理机,某位单独处理

12)指令系统:五大类,111条

二、MCS—51单片机P0端口的结构与工作原理

1、P0端口的结构

P0口是一个8位漏极开路双向I/O口,其位置结构如图所示,包括1个输出锁存器、2个三态缓冲器、一个输出驱动器和一个输出控制端。输出驱动器电路由一队场效应管组成,期工作状态受输出控制端控制,它包括1个与门、1个反相器和一个转换开关MUX。

MCS-51单片机并行口的结构与操作

输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。下面一个是读引脚的缓冲器,要读取P0。X引脚上的数据,也要使标号为‘读引脚'的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上.

D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了).如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。

多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。大家看上图,当多路开关与下面接通时,P0口是作MCS-51单片机并行口的结构与操作

为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据'总线使用的。

输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

2、P0端口的工作原理

1)P0口作为地址/数据复用总线使用(C=1)

若从P0口输出地址或数据信息,此时控制端C应该为高电平。转换开关MUX将反相器输出端与输出级T1管接通,同时与门开锁,内部总线上的地址或数据信号通过与门去驱动T0管,又通过反相器去驱动T1管,这时内部总线上的地址或数据信号就传送到P0口的引脚上。若从P0口输入指令或数据,引脚信号应从三态缓冲器进入内部总线。

在访问外部存储器时,它是分时多路转换器的地址(低8位)和数据总线,不需要外接上拉电阻.在EEPROM编程时,它接受指令字节,而在验证程序时,则输出指令字节。

2)作为I/O端口使用

对于有内部ROM型的单片机,P0口也可以作为通用I/O口此时控制端C为低电平。转换开关把输出级与锁存器Q端接通,同时因为与门输出为低电平,输出级T0管处于截止状态,输出级为漏电级开路电路,在驱动NMOS电路时应外接上拉电阻。作为输出口时,应该现将锁存器写1,这时输出级两个场效应管截止,可作为高阻输入,通过三态输入缓存器读取引脚信号,从而完成输入操作。

三、MCS—51单片机P1端口的结构及工作原理 MCS-51单片机并行口的结构与操作

P1口的结构最简单,用途也单一,仅作为数据输入/输出端口使用.输出的信息有锁存,输入有读引脚和读锁存器之分。P1端口的一位结构见下图.

由图可见,P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。

由图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。为此,在作引脚读入前,必须先对该端口写入l。具有这种操作特点的输入/输出端口,称为准双向I/O口。8051单片机的P1、P2、P3都是准双向口。P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。

单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息.此外,随输入指令的不同,H端口也有读锁存器与读引脚之分.

MCS-51单片机并行口的结构与操作

三、MCS—51单片机P2端口的结构及工作原理

P2口是一个带内部上拉电阻的8位双向I/O口,在结构上P2比P1口多一个输出控制部分.

1)P2口作为通用I/O口使用(C=0)

当P2作为通用I/O口使用时,是一个准双向口,此时转换器开关MUX倒向左边,输出级与锁存器接通,引脚可接I/O设备,其输入/输出操作与P1完全相同.

2)P2口作为地址/数据复用总线使用(C=1)

当系统中接有外部存储器时,P2口用于输出高8位地址A15~A8。这时在CPU的控制下,转换开关MUX倒向左边,接通内部地址总线,P2口的口线状态取决于片内输出的地址信息,这些地址总线信息来源于PCH、DPH。在外部程序存储器的系统中,由于访问外部存储器的操作不断,P2口不断送出地址高8位,所以P2口一般只作为地址总线口使用。

在不接外部程序存储器而接有外部数据存储器的系统中,情况会有所不同.若外部数据存储容量为256B,则可使用MOVX@DPTR类,指令由P0口和P2口送出16位地址。在读写期间内,P2口引脚上将保持地址信息,但从结构可知,输出地址时,并不要求P2口锁存1,锁存器内容也不会在送地址信息时改变,故访问外部数据存储器周期结束后P2口仍然可以在一定的限度内作为一般I/O口使用。 MCS-51单片机并行口的结构与操作

三、MCS—51单片机P3端口的结构及工作原理

P3口是一个带内部上拉电阻的8位双向I/O口,可以同P1口一样作为第一功能口,也可以每一位独立定义功能,其结构图如图所示。

1)P3口作为第一功能口使用 MCS-51单片机并行口的结构与操作

P3口作通用I/O口使用时,输出功能控制线为高电平,与非门的输出取决于锁存器的状态,此时锁存器Q端的状态与其引脚状态是一致的,这种情况下,P3口的结构和操作与P1口相同。

2)P3口作为第二功能口使用

P3口的第二功能实际上就是系统的功能控制线。此时相应的口线锁存器必须为1状态,与非门的输出由第二功能输出的功能线确定,相应的,P3口线的状态取决于第二输出功能线的电平。在P3口的引脚信号输入通道中有两个缓冲器,第二功能的输入信号取自第一个缓冲器的输出端,第二个缓冲器仍然是第一功能的度引脚信号缓冲器。

四、总结

综上所述,四个接口工作的一般特性.

P0口为3态双向口,P1、P2、P3含内部上拉电阻,只有锁存器置1时方能作输入口用,故为准双向口.P1口无第二工功能,只作I/O口用,而P0、P2、P3除可作为一般I/O口外,还有第二功能。

MCS-51单片机引脚中没有专门的地址总线和数据总线,在外扩存储器和接口时,由P2口输出地址总线的高8位A15~A8,由P0口输出地址总线的低8位A7~A0。同时,对P0口采用了总线复位技术,P0口又兼作8位双向数据总线D7~D0,即由P0分时输出低8位地址或输入/输出8位数据。在不作总线扩展使用时,P0口和P2口可以作普通口I/O使用。

P0口作为低8位地址总线和8位数据总线使用时,内部控制信号使MUX开头倒向上端,从而使地址/数据信号通过输出驱动器输出。当外部存储器读写时,P0口就用作低8位地址和数据总线。这时P0口才是一个真正的双向口。