《片机硬件系统》PPT课件.ppt

上传人:小飞机 文档编号:5550213 上传时间:2023-07-20 格式:PPT 页数:153 大小:1.47MB
返回 下载 相关 举报
《片机硬件系统》PPT课件.ppt_第1页
第1页 / 共153页
《片机硬件系统》PPT课件.ppt_第2页
第2页 / 共153页
《片机硬件系统》PPT课件.ppt_第3页
第3页 / 共153页
《片机硬件系统》PPT课件.ppt_第4页
第4页 / 共153页
《片机硬件系统》PPT课件.ppt_第5页
第5页 / 共153页
点击查看更多>>
资源描述

《《片机硬件系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机硬件系统》PPT课件.ppt(153页珍藏版)》请在三一办公上搜索。

1、第二章89C51单片机的结构和原理,2.189C51单片机的结构,2.289C51单片机引脚及其功能,2.389C51存储器配置,2.4CPU时序,2.5复位及复位电路,2.6输出/输入端口结构,学习要点:,本章主要讲述单片机的硬件结构。通过学习本章内容要求掌握89C51单片机内部硬件组成,管脚的定义、功能、作用;熟练掌握单片机各种存储器物理空间配置及内部特殊功能寄存器的定义、作用;掌握单片机的最小系统组成部分。,*,重点与难点:,51单片机内部结构、存储空间、I/O端口、时钟电路、复位电路。,*,2.189C51单片机的结构,2.1.1 89C51单片机的基本组成,*,2.1.2 89C51

2、单片机内部结构,返回,2.1.1 89CS51单片机的基本组成,一、组成,*,二、89C51系列单片机的性能,返回,一、组成,89C51单片机结构框图 如图2-1所示,*,返回,8051单片机结构框图,89C51CPU,振荡器和时序OSC,64KB 总线扩展控制器,数据存储器256B RAM/SFR,216位定时器/计数器,可编程I/O,程序存储器4KBROM,可编程全双工串行口,外中断,内中断,控制,并行口,串行通信,外部时钟源,外部事件计数,返回,*,一、组成,一个8位 的微处理器CPU。,返回,一、组成,*,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。,片内数

3、据存储器(RAM128B/256B):,返回,一、组成,*,用以存放程序、一些原始数据和表格。但有一些单片机内部不带ROM/EPROM,如8031、8032、80C31等。,片内程序存储器ROM/EPROM(4KB/8KB):,返回,一、组成,*,每个口可以用作输入,也可以用作输出。,四个8位并行I/O(输入/输出)接口P0P3:,返回,一、组成,*,每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。,两个或三个定时/计数器:,返回,一、组成,*,可实现单片机与单片机或其它微机之间串行通信。,一个全双工UART的

4、串行I/O口:,返回,一、组成,*,但需外接晶振和电容。,片内振荡器和时钟产生电路:,返回,一、组成,*,五个中断源的中断控制系统。,返回,二、89C51系列单片机的性能,如表2-1所示。表中型号带“C”表示所用的是CMOS工艺,具有功耗低的优点。,*,返回,MCS-51系列单片机的性能表,返回,2.1.2 89C51单片机内部结构,一、结构图,*,二、结构组成,返回,一、结构图,由 中央处理单元(CPU)、存储器(ROM及RAM)和I/O接口组成。89C51单片机内部结构如 图2-2所示。,*,P0驱动器,P2驱动器,P0锁存器,P2锁存器,RAM地址寄存器,128BRAM,4KBROM,B

5、寄存器,暂存器1,暂存器2,ACC,SP,程序地址寄存器,缓冲器,PC增1,PC,DPTR,中断、串行口和定时器,PSW,P1锁存器,P1驱动器,P3锁存器,P3驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,XTAL1 XTAL2,PSENALEEARET,8051单片机内部结构图,返回,二、结构组成,*,(一)、中央处理单元(CPU),(二)、存储器,(三)、I/O接口,返回,(一)、中央处理单元(CPU),1运算器,*,返回,2控制器,1运算器,(1)8位的ALU:,*,返回,(2)8位累加器ACC(A):,(3)8位程序状态寄存器PSW:,(4)8位寄存器B:,(5)布尔处理

6、器:,(6)2个8位暂存器:,1运算器,可对4位、8位、16位数据进行操作。,*,返回,(1)8位的ALU:,1运算器,(2)8位累加器ACC(A):,*,它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。,返回,1运算器,*,指示指令执行后的状态信息供程序查询和判别用。,(3)8位程序状态寄存器PSW:,返回,1运算器,(4)8位寄存器B:,*,在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。,返回,1运算器,(5)布尔处理器:,*,专门用于处理位操作的,以PSW中的C为其累加器。,

7、返回,1运算器,(6)2个8位暂存器:,*,ALU的两个入口处。,返回,2控制器,(1)程序计数器PC(16位),*,(2)指令寄存器IR及指令译码器ID,(3)振荡器和定时电路,返回,(1)程序计数器PC(16位),由两个8位计数器PCH、PCL组成。PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。PC可对64KB的ROM直接寻址,也可对80C51片内RAM寻址。,*,返回,(2)指令寄存器IR及指令译码器ID,由PC中的内容指定ROM地址,取出来的指令经IR送至ID,由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。,*,返回,(3)振

8、荡器和定时电路,89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz12MHz。该信号作为89C51工作的基本节拍即时间的最小单位。,*,返回,(二)、存储器,1、程序存储器(ROM),*,2、数据存储器(RAM),返回,1、程序存储器(ROM),89C51、8051及8751的片内ROM容量为4KB。地址从0000H开始。用于存放程序和表格常数。,*,返回,2、数据存储器(RAM),8051/8751/89C51RAM均为128B,地址为00H7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。这128B的RAM中有32个字节单元可

9、指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80HFFH。后面详细介绍。,*,返回,(三)、I/O接口,89C51有四个8位并行I/O接口P0P3。它们都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。,*,返回,2.289C51单片机引脚及其功能,2.2.189C51单片机引脚,*,2.2.2 89C51单片机引脚功能,返回,2.2.189C51单片机引脚,MCS-51系列如8051、8751和8031均采用40引脚双列直插封装(DIP)方式。因受到引脚数目的限制,有不少引脚具有第二功能。8

10、9C51单片机引脚与其相同,如图2-3所示。,*,返回,89C51单片机引脚图,返回,2.2.2 89C51单片机引脚功能,一、电源引脚:Vcc和Vss二、时钟电路引脚:XTAL1和XTAL2三、控制信号引脚RST、ALE、PSEN和 EA四、I/O端口P0、P1、P2和P3,*,返回,一、电源引脚:Vcc和Vss,1Vcc(40脚):电源端,为+5V。2Vss(20脚):接地端。,*,返回,二、时钟电路引脚:XTAL1和XTAL2,XTAL2(18脚):接外部晶体和微调电容的一端;在8051 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输

11、入外部时钟脉冲。8051/8031正常工作时,该引脚应有脉冲信号输出。,*,返回,二、时钟电路引脚:XTAL1和XTAL2,XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚接地。,*,返回,三、控制信号引脚:RST、ALE、PSEN和EA,RST/VPD(9脚):RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。,*,返回,三、控制信号引脚:RST、ALE、PSEN和EA,RST/VPD(9脚):VPD:RST引脚的第二功能,备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值

12、时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。,*,返回,三、控制信号引脚:RST、ALE、PSEN和EA,ALE/PROG(30脚):ALE:地址锁存允许信号端。正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。它的负载能力为8个LS型TTL负载。,*,返回,三、控制信号引脚:,ALE/PROG(30脚):PROG:是对片内带有4KB EPROM的8751编程写入时的编程脉冲输入端。,*,返回,三、控制信号引脚:RST、ALE、PSEN和EA,PSEN(29脚)

13、:程序存储器允许信号输出端。在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM 的OE端。它的负载能力为8个LS型TTL负载。,*,返回,三、控制信号引脚:,EA/Vpp(31脚):EA:外部程序存储器地址允许输入端。当该引脚接高电平时,CPU访问片内EPROM/ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。当该引脚接低电平时,CPU只访问片外EPROM/ROM并执行外部程序存储器中的程序。,*,返回,三、控制信号引脚:,EA/Vpp(31脚):Vpp:对89C51片内EPROM固化编程时,编程电

14、压输入端(12-21V)。,*,返回,四、I/O端口P0、P1、P2和P3,1、准双向2、P0口3、P1口4、P2口5、P3口,*,返回,1、准双向,当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。,*,返回,2、P0口:,漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。,*,返回,3、P1口:,带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。,*,返回,4、P2口:,P2口:带内部上拉电阻的8位准双向I/O端口,每位

15、能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址。,*,返回,5、P3口:,带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。,*,返回,2.389C51存储器配置,2.3.189C51存储器分类2.3.2程序存储器地址空间2.3.3数据存储器地址空间,*,返回,2.3.1 89CC1存储器分类,一、物理结构(哈佛结构)二、用户角度,*,返回,一、物理结构(哈佛结构),*,89C51存储器,程序存储器ROM,数据存储器RAM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,返回,二、用户

16、角度,*,返回,图2-4 89C51存储器配置,二、用户角度,1、片内、外统一编址的64K程序存储器地址空间。CPU访问片内、片外ROM指令用MOVC。,*,返回,二、用户角度,2、64K的片外数据存储器地址空间。访问片外RAM指令用MOVX。,*,返回,二、用户角度,3、256字节的片内数据存储器地址空间。访问片内RAM指令用MOV。上述三个存储空间地址是重叠的,89C51的指令系统采用不同的数据传送指令符号。,*,返回,2.3.2 程序存储器地址空间,一、用途:二、编址:三、寻址方式:,*,返回,一、用途:,用于存放编好的程序和表格常数。,*,返回,二、编址:,80C51/8751片内RO

17、M/EPROM的容量为4KB。地址为0000H0FFFH。片外最多可扩至64KB ROM/EPROM,地址为1000HFFFFH。片内外统一编址。,*,返回,三、寻址方式:,1、当 EA=“1”时:80C51的PC在00000FFFH范围内执行片内ROM中的程序,当指令地址超过0FFFH 后就自动转向片外ROM中取指令。,*,返回,三、寻址方式:,2、当 EA=”0”时:8051片内ROM不起作用,CPU只能从片ROM/EPROM中取指令。可以从 0000H 开始寻址。由于8031片内不带ROM,所以使用时必须 EA=”0”。,*,返回,三、寻址方式:,3、8051从片内ROM和片外ROM取指

18、的速度相同。,*,返回,三、寻址方式:,4、程序存储器的保留存储单元。如表2-2所示。,*,返回,三、寻址方式:,(1)0000H0002H三个单元:用作8051上电复位后引导程序的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。,*,返回,三、寻址方式:,(2)0003H002AH单元:均分为五段,用作五个中断服务程序的入口。中断矢量地址表,*,返回,0003H000AH 外部中断0中断地址区000BH0012H 定时/计数器0中断地址区0013H001AH 外部中断1中断地址区001BH0

19、022H 定时/计数器1中断地址区0023H002AH 串行中断地址区,*,2.3.3 数据存储器地址空间,一、用途:二、片外RAM:三、片内RAM:,*,返回,一、用途:,用于存放运算的中间结果、数据暂存和缓冲、标志位等。,*,返回,二、片外RAM:,地址:0000HFFFFH 寻址:用MOVX指令,*,返回,三、片内RAM:,片内数据存储器最大可寻址256个单元,分为两部分:低128字节(00H7FH)是真正的RAM区;高128字节(80HFFH)为(SFR)区。高128字节和低128字节RAM中的配置及含义如图28和图29所示。,*,返回,*,*,*,79,图28 低128字节RAM区,

20、图29 高128字节RAM区(SFR区,特殊功能寄存器区),低128字节RAM,1、89C51的32个工作寄存器与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(直接寻址和间接寻址)。2、00H1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0R7),共占32个单元。3、工作寄存器区后的16字节单元(20H2FH),可用位寻址方式访问其各位。,*,位寻址区(20H2FH)这16个RAM单元具有双重功能。即可按字节存取,也可以对每个单元的任何一位位寻址。用作位寻址时,共有168128位,位地址为00H7FH。如,欲把2FH单元中最高位置位成1,可使用如下位置位指令:SETB

21、 7FH,图 2.10 RAM中的位寻址区地址表,高128字节RAM特殊功能寄存器(SFR),89C51片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。这些特殊功能寄存器见图29。各SFR的名称及含义如表25所列。,*,84,(1)累加器ACC(E0H),累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。,*,85,(2)寄存器B(F0H),在乘、除指令中,用到了8位寄存器B。乘法指令

22、的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A,B中存放余数。在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。,*,86,(3)程序状态寄存器PSW(D0H),PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如表26所列。PSW除有确定的字节地址(D0H)外,每一位均有位地址,见表26。,D7 D6 D5 D4 D3 D2 D1 D0,88,(4)栈指针SP(81H),堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H7FH RAM的任何单元

23、。系统复位后,SP初始化为07H,即指向07H的RAM单元。,堆栈或数据缓冲区(30H7FH)共80个RAM单元,用于存放用户数据或作堆栈。按字节存取。堆栈指针SP初始值为07H,一般在程序初始化时应对SP设一初值。,MCS51单片机堆栈,为了不影响工作寄存器的数据,一般在程序初始化时应对SP设一初值,如30H,或6FH,90,89C51在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理的,好像冲锋枪压入子弹。这种数据结构方式对于处理中断,调用子程序都非常方便。堆栈的操作有两种:一种叫数据压入(PUSH),另一种叫数据弹出(POP)。89C51的堆栈指针SP是一个双向

24、计数器。进栈时,SP内容自动增值,出栈时自动减值。存取信息必须按“后进先出”或“先进后出”的规则进行。,图211 堆栈的压入与弹出,92,(5)数据指针DPTR(83H,82H),DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。,*,93,(6)/端口P0P3(80H,90H,A0H,B0H),P0P3为4个8位特殊功能寄存器,分别是4个并行/端口的锁存器。它

25、们都有字节地址,每一个口锁存器还有位地址,每一条/线均可独立用作输入或输出。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。图2-12所示为各个SFR所在的字节地址位置。空格部分为未来设计新型芯片可定义的SFR位置。,*,94,图2-12 特殊功能寄存器SFR的位置,2.4CPU时序,2.4.1片内振荡器及时钟信号的产生,*,返回,2.4.2机器周期和指令周期,2.4.3CPU取指、执行周期时序,2.4.1片内振荡器及时钟信号的产生,*,1、内部时钟电路:如图2-13,2、外部时钟电路:如图2-14,3、8051的片内振荡器及时钟发生器:如图2-15,返回,2-13内部时钟电路 2-14外

26、部时钟电路,*,*,98,2.4.1片内时钟信号的产生,89C51芯片内部有一个高增益反相放大器,用于构成振荡器。构成稳定的自激振荡器:两端跨接石英晶体及两个电容。电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fOSC=024 MHz。如图2-15 示。,返回,*,99,图2-15 89C51的片内振荡器及时钟发生器,*,100,节拍与状态周期,时钟发生器是一个2分频的触发器电路,向CPU提供两相时钟信号P1和P2。时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在

27、每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51单片机各个部件协调地工作。,2.4.2机器周期和指令周期,二、指令周期:,*,一、机器周期:,返回,周期指令的CPU 时序,*,一个机器周期是指CPU访问存储器一次所需的时间。例如,取指令、读存储器、写存储器等等。一个机器周期包括12个振荡周期,分为6个S状态:S1S6。每个状态又分为两拍,称为P1和P2。因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1,S6P1,S6P2。若采用6MHz晶体振荡器,则每个机

28、器周期为2s(微秒),机器周期,如图所示,返回,指令周期:执行一条指令所需的时间。每条指令由一个或若干个字节组成。有单字节指令,双字节指令,多字节指令等。字节数少则占存储器空间少。每条指令的指令周期都由一个或几个机器周期组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。,指令周期,返回,*,105,综上所述,89C51单片机的基本时序定时单位有如下4个:,振荡周期:晶振的振荡周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。机器周期(MC):1个机器周期由6个状态周期即12个振荡周期组成,是

29、计算机执行一种基本操作的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同,见附录A。,*,106,2.4.2CPU取指、执行周期时序,每条指令的执行都可以包括取指和执指两个阶段。在取指阶段,CPU从内部或外部ROM中取出指令操作码及操作数,然后再执行这条指令。单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周期。因此,执行一条指令的时间(指令周期)分别是2s,4s和8s。如 图2-16所示,返回,*,107,图216 89C51单片机的取指/执行时序,2.5复位及复位电路,2.5.1复位操作2.5.2复

30、位信号及其产生2.5.3复位电路,*,返回,2.5.1复位操作,一、复位是单片机的初始化操作。二、主要功能:三、寄存器的复位状态:,*,返回,复位操作主要功能,PC初始化为0000H,使单片机从0000H单元开始执行程序当由于程序运行出错或操作错误使系统死锁状态时,为摆脱困境,也需要按复位键重新启动。,*,返回,寄存器的复位状态,*,返回,2.5.2复位信号及其产生,一、复位信号:RST引脚为复位信号输入端。当RST引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。二、产生复位信号的电路逻辑图:如图2-17所示。,*,返回,图 2-17复位电路逻辑图,*,返回,2.5.3复位电路,一、

31、上电自动复位:是通过外部复位电路的电容充电实现。如图2-18(a)所示。二、按键手动复位:按键电平复位方式:如图2-18(b)所示。按键脉冲复位方式:如图2-18(c)所示。,*,返回,图 2-18(a)上电复位电路,只要Vcc的上升时间不超过1ms,就自动上电复位,即接通电源就完成了系统复位。,*,返回,图 2-18(b)按键电平复位电路,通过使复位端经电阻与VCC电源接通而实现。,*,返回,图 2-18(c)按键脉冲复位电路,利用RC微分电路产生的正脉冲来实现复位。,*,返回,2.6输出/输入端口结构,2.6.1 I/O端口概述2.6.2 P0口2.6.3 P1口2.6.4 P2口2.6.

32、5 P3口2.6.6 端口的负载能力和接口要求,*,返回,2.6.1 I/O端口概述,18051单片机有四个8位并行I/O端口:P0、P1、P2和P3。2每个端口都是8位准双向口,共占32根引脚。3每一条I/O线都能独立地用作输入或输出。4每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。,*,返回,2.6.2 P0口,一、结构二、P0口作为一般I/O口使用三、P0口作为地址/数据总线使用,*,返回,一、结构,P0口某位的结构由一个输出锁存器、二个三态输入缓冲器和输出驱动电路及控制电路组成。如图2-19所示。当C=0时

33、,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。,*,返回,功能:,双向三态口,可用于数据的输入输出。在系统扩展时,还作为低8位地址线和数据总线的分时复用口。P0端口8位中的一位结构图如下图。,*,图2-19 P0口某位的结构图,当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。,返回,二、P0口作为一般I/O口使用,1、P0口用作输出口2、P0口作输入口,*,返回,1、P0口用作输出口,当CPU执行输出指令时,写脉冲加在D锁存 器的C

34、P上,这样,与内部总线相连的D端的数据取反后就出现在Q端上,又经输出级FET(T2)反相,在P0端口上出现的数据正好是内部总线的数据。这是一般的数据输出情况。,*,返回,2、P0口作输入口,当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。在端口进行输入操作前,应先向端口锁存器写入1,也就是使锁存器Q=0。因为控制线C=0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。,*,返回,三、P0口作为地址/数据总线使用,1P0口用作输出地址/数据总线以P0口引脚输出低8位地址或数据信息,MUX开关把CPU内部地址/数据线经反向器3

35、与驱动场效应管FET(T2)栅极接通。上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),提高了负载能力。当P0口被地址/数据总线占用时,就无法再作I/O口使用了。,*,返回,三、P0口作为地址/数据总线使用,2由P0口输入数据:在“读引脚”信号有效时,打开输入缓冲器2,使数据进入内部总线。,*,返回,2.6.3 P1口,一、P1口结构二、P1口用作通用I/O,*,返回,2.6.3P1口,一、P1口结构:其电路结构见图2-20,输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET为负载管,其电阻固定。另一个FE

36、T可工作在导通或截止两种状态,使其总电阻值变化近似为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。,*,返回,图2-20 P1口某位的结构图,*,返回,2.6.3P1口,二、P1口用作通用I/OP1口也是一个准双向口。在端口用作输入时,也必须先向对应的锁存器写入1,使FET截止。当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。,*,返回,2.6.4 P2口,一、P2口结构二、P2口用作一般I/O口三、P2口用作高8位地址总线,*,返回,一、P2口结构,如图2-21所示,P2口某位的结构与P0口类似,有MUX开关。驱动部分

37、与P1口类似,但比P1口多了一个转换控制部分。,*,返回,图2-21 P2口某位的结构图,*,返回,二、P2口用作一般I/O口,1、当CPU对片内存储器和I/O口进行读/写(执行MOV 指令或EA=1时,执行MOVC指令)时,由内部硬件自动使开关MUX倒向锁存器的Q端,这时,P2口为一般I/O口。,*,返回,二、P2口用作一般I/O口,2、在只需扩展256B片外RAM的系统中,使用“MOVX A,Ri”类指令访问片外RAM时,寻址范围是256B,只需低8位地址线就可以实现。P2口不受该指令影响,仍可作通用I/O口。,*,返回,二、P2口用作一般I/O口,3、若扩展的RAM容量超过256B,使用

38、“MOVX A,DPTR”类指令的寻址范围是64KB,此时,高8位地址总线用P2口输出。在片外RAM读/写周期内,P2口锁存器仍保持原来端口的数据;在访问片外RAM周期结束后,多路开关MUX自动切换倒锁存器Q端。由于CPU对RAM的访问不是经常的,在这种情况下,P2口在一定的限度内仍可用作通用I/O口。,*,返回,三、P2口用作高8位地址总线,当CPU对片外存储器或I/O口进行读/写(执行MOVX指令或EA=0时执行MOVC指令)时,开关倒向地址线(右)端,这时,P2口只输出高8位地址。因为访问片外EPROM和RAM的操作往往接连不断,所以,P2口要不断送出高8位地址,此时P2口无法再用作通用

39、I/O口。,*,返回,2.6.5 P3口,一、结构二、P3口作为通用I/O口使用三、P3口用作第二功能使用,*,返回,一、结构,1、P3口是一个多功能端口,其某一位的结构见图2-16。P3口与P1口的差别在于多了“与非”门3和缓冲器4。使得P3口除了具有P1口的准双向I/O功能外,还可以使用各引脚所具有的第二功能。2、“与非”门3的作用实际上是一个开关,决定是输出锁存器上的数据还是输出第二功能(W)的信号。当W=1时,输出Q端信号;当Q=1时,可输出W线信号。编程时,可不必事先由软件设置P3口为第一功能(通用I/O口)还是第二功能。3、当CPU对P3口进行SFR寻址(位或字节)访问时,由内部硬

40、件自动将第二功能输出线W置1,这时,P3口为通用I/O口。4、当CPU不对P3口进行SFR寻址(位或字节)访问时,即用作第二功能输出/输入线时,由内部硬件使锁存器Q=1。,*,返回,图2-22 P3口某位的结构图,返回,二、P3口作为通用I/O口使用,1、当把P3口作为通用I/O口进行SFR寻址时“第二输出功能端”W保持高电平,打开“与非”门3,D锁存器输出端Q的状态可通过“与非”门3送至FET场效应管输出。2、当P3口作为输入使用(即CPU读引脚状态)时,同P0P2口一样应由软件向口锁存器写1。,*,返回,三、P3口用作第二功能使用,当端口用于第二功能时,8个引脚可按位独立定义。见下表,*,

41、返回,P3口线与第二功能表,*,返回,2.6.6 端口的负载能力和接口要求,1、P0口:当把它用作通用I/O口使用时(8051/8751情况),用其输出去驱动NMOS输入时需外接上拉电阻。用作输入时,应先向口锁存器(80H)写1。把它当作地址/数据总线时(8031情况),则无需外接上拉电阻。用作数据输入时,也无需先写“1”。P0口的每一位输出可驱动8个LS型TTL负载。,*,返回,2.6.6 端口的负载能力和接口要求,2、P1-P3口每一位输出可驱动4个LS型TTL负载。8051单片机(HMOS)的P1-P3口无需外接上拉电阻。80C51单片机(CHMOS),作输出口时应在端口与晶体管基极间串

42、联一个电阻。P1-P3口也都是准双向口。作为输入时,必须先对相应端口锁存器写1。,*,返回,2.6.7 接口的操作方式 89C51的4个I/O端口有三种操作方式:输出数据方式 读端口数据(读锁存器)方式 读端口引脚方式,数据输出方式:,在这种方式下,CPU通过一条数据操作指令可以把输出数据写入P0P3的端口锁存器,然后由端口自动从端口引脚线上输出。MOV P0,A;累加器A中内容送P0口,*,当CPU执行读改写指令(以端口为目的操作数的ANL、ORL、XRL、DEC、INC SETB、CLR等)时,产生读锁存信号,此时是先读锁存器的状态,在修改之后,送回锁存器保存。ORL P0,#data;P0data送P0口,读端口数据方式(读锁存器):,读引脚方式:,从端口引脚线上读入信息,这是真正的从外部输入数据的操作。在这种方式下,必须使用两条连续指令。在输入数据前,应人为先向P0-P3口写1,使V1、V2均截止,再读入。MOV P1,#FFH MOV A,P1,*,习题及思考题:,P47 作业题:6、7、13、18 思考题:2、3、15、16、17、20,*,请继续学习第三章再见!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号