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

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

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

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

资源描述

华中科技大学光学与电子信息学院单片机(2015--2016学年度第一学期)题目:MCS-51单片机并行端口结构与操作院系:光学与电子信息学院班级:学号:学生姓名:指导教师:成绩:日期:2015年9月21日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电源供电。如图所示:1.结构(1)中央处理单元(8位)数据处理、测试位,置位,复位位操作(2)只读存储器(4KB或8KB)永久性存储应用程序,掩模ROM、EPROM、EEPROM(3)随机存取内存(128B、128BSFR)在程序运行时存储工作变量和资料(4)并行输入/输出口(I/O)(32条)作系统总线、扩展外存、I/O接口芯片(5)串行输入/输出口(2条)串行通信、扩展I/O接口芯片(6)定时/计数器(16位、加1计数)计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作(7)时钟电路内振、外振。(8)中断系统五个中断源、2级优先。2、MCS-51系列单片机为哈佛结构(而非普林斯顿结构)1)内ROM:4KB2)内RAM:128B3)外ROM:64KB4)外RAM:64KB5)I/O线:32根(4组,每组8根)6)定时/计数器:2个16位可编程定时/计数器7)串行口:全双工,2根8)寄存器区:工作寄存器区、在内128BRAM中,分4个区,9)中断源:5源中断,2级优先10)堆栈:最深128B11)布尔处理机:位处理机,某位单独处理12)指令系统:五大类,111条二、MCS-51单片机P0端口的结构与工作原理1、P0端口的结构P0口是一个8位漏极开路双向I/O口,其位置结构如图所示,包括1个输出锁存器、2个三态缓冲器、一个输出驱动器和一个输出控制端。输出驱动器电路由一队场效应管组成,期工作状态受输出控制端控制,它包括1个与门、1个反相器和一个转换开关MUX。输入缓冲器:在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口是作为普通的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端口的结构及工作原理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单片机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单片机P3端口的结构及工作原理P3口是一个带内部上拉电阻的8位双向I/O口,可以同P1口一样作为第一功能口,也可以每一位独立定义功能,其结构图如图所示。1)P3口作为第一功能口使用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口才是一个真正的双向口。P2口还可以作为高8位地址总线使用,同样通过MUX开头的倒换来完成。P2在外部存储器读写时(地址大于FFH)作为高8位地址线使用。P3口的每一位都有各自的第二功能。四个端口的负载能力也不相同。P1、P2、P3口都能驱动四个LSTTL负载并且不需外加电阻就能直接驱动MOS电路。P0口能驱动8个LSTTL负载。驱动电路时若作为地址/数据总线,可以直接驱动,而作为I/O口时,需外接上拉电阻,才能驱动MOS电路。五、参考资料【1】《单片机原理及应用》徐汉斌熊才高主编【2】网上资料

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

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

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

×
保存成功