第04讲:MCS-51单片机的并行IO口.pptVIP

  • 23
  • 0
  • 约3.73千字
  • 约 17页
  • 2017-11-26 发布于湖北
  • 举报
第04讲:MCS-51单片机的并行IO口

单片机与控制技术 第02章:MCS-51单片机结构原理 RE: 硬件编程结构及引脚[已介绍] CPU主要部件与特殊功能寄存器(SFR)[已介绍] 片内外存储器的组织结构和编址[已介绍] 并行I/O口 【本次课内容!】 中断及中断系统 定时/计数器、串行口(外设) 4、MCS51单片机的并行I/O口 所谓并行I/O口,即各位的数据同时被输入或输出,它的最大特点是速度快。 (1 )结构特点 MCS-51系列单片机的32根I/O线分为四个双向并行口P0~P3,每根I/O线由一个锁存器(相对于特殊功能寄存器中的一位),一个输出驱动器(场效应管FET)和一个输入缓冲器(三态门)组成。由于功能的不同,P0~P3各口的结构有所区别。各锁存器由D触发器构成,在CPU“写锁存器”信号的作用下,内部总线的数据写入D触发器。两个三态门分别用来读锁存器或读引脚的信息。 P1、P2、P3口均有内部上拉电阻,而P0口的引脚是通过场效应管接到VCC。显然,当P0口的上、下两只场效应管均关断时,引脚相当于“浮空”状态,即可作为高阻抗的输入端口(∴P0口为真正的双向口)。P0、P2口的驱动器的输出与多路转换器MUX的状态有关,P3口的驱动器也与输出功能的类型有关,这些均为这些端口的多重作用创造了条件。 (2) 输入功能 单片机有两种读一个端口的方法:读锁存器和读引脚。 ①读锁存器:在CPU“读锁存器”信号的作用下,锁存器的状态通过三态门送到内部总线,然后读到CPU中进行处理,而处理后的值将被重新写入锁存器。能实现这种功能的指令称为“读—修改—写”指令,它们有: ANL(逻辑与指令) 例如:ANL P1,A ORL(逻辑或指令) 例如:ORL P2,A XRL(逻辑异或指令) 例如:XRL P3,A INC(增量指令) 例如:INC P2 DEC(减量指令) 例如:DEC P1 DJNZ(循环判跳指令) 例如:DJNZ P2,LOOP JBC(位测试转移指令) 例如:JBC P1. 1, LOOP MOV(位传送指令) 例如:MOV P1.3, C CPL(位取反指令) 例如:CPL P1.0 CLR(位清“0”指令) 例如:CLR P1.0 SETB(位置位指令) 例如:SETB P3.3 !读锁存器操作的共同点(特征):先读入并行I/O口锁存器中的内容,作一定的修改,然后再写入该口的锁存器中(读出—修改—写回)。 上述的后五条指令,属于位操作指令,实际上也是先要将8位锁存器的内容一起读入,再按指定位进行修改,然后再一起写入锁存器中。 ②CPU“读引脚”信号时,接在该端口引脚的外部信号通过三态门读到内部总线,并送CPU处理,因而实现了数据的输入。 但必须注意,在读引脚时,该端口的锁存储器必须事先写“1”。这是因为该端口既是输出端同时也是外部信号的输入端。比如:假设该端口的状态此时为0,则驱动器的下方场效应管会导通,此时相当于输出“0”;如果有一外部输入信号是高电平且加到该引脚上,则该引脚会被强行箝拉到低电平,故造成读到CPU中的数据为“0”,同时也可能造成器件损坏! 而事先给锁存器写“1”,对于P0口,此时上、下两只场效应管均夹断,则构成高阻输入;对于P1、P2和P3口,此时的输出给拉成高电平,故其电平状态取决于外部信号。(在复位时,各端口的锁存器均置成“1”!) (3) 输出功能与负载能力 当单片机执行改变锁存器值的输出指令时,在该指令的最后周期的状态时,CPU向锁存器产生出有效的“写锁存器”信号,将内部总线上的新值写入锁存器(即D触发器) 。 P0口输出驱动器能驱动8个LSTTL输入,P1、P2、P3口可驱动4个LSTTL输入 。 (4) 特殊功能 P0口还起了数据总线和地址总线(低八位)的作用。在进行正常的输出(普通IO)时,“控制”端为“0”,多路转换器MUX接在锁存器的Q端。此时上方的场效应管关断,下方的场效应管受锁存器的控制,P0口具有开漏输出,这时驱动外部电路时P0口需外加上拉电阻(上拉电阻的阻值取5.1K或者4.7K) 。 在CPU进行外部存储器存/取时,P0口起数据总线或地址总线的作用,“控制”端为“1”,多路转换器MUX接反相器的输出端,即相当于接在“地址/数据”端。当这个“地址/数据”为“1”时,上方的场效应管导通而下主的场效应管关断,P0

文档评论(0)

1亿VIP精品文档

相关文档