- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS-51单片机的并行IO口 1 并行IO口的结构 P1口 教材P79页 1 并行IO口的结构 P1口 教材P79页 1 并行IO口的结构 P2口 教材P80页 1 并行IO口的结构 P3口 教材P81页 1 并行IO口的结构--P0口 教材P77页 1 并行IO口的结构 所谓并行I/O口,即各位的数据同时被输入或输出,它的最大特点是速度快。 (1)结构特点 MCS-51系列单片机的32根I/O线分为四个双向并行口P0~P3。 P1、P2、P3口均有内部上拉电阻,而P0口的引脚是通过场效应管接到VCC。显然,当P0口的上、下两只场效应管均关断时,引脚相当于“浮空”状态,即可作为高阻抗的输入端口(∴P0口为真正的双向口)。 (1) 输入功能 单片机有两种读一个端口的方法:读锁存器和读引脚。 ②读锁存器:在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 ②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.X输出高电平,反之输出低电平。这时P0口不需外接上拉电阻(作为总线用) 。 与P0口类似,P2口除了作I/O口之外,还作为地址总线的高8位地址输出端。在作为I/O口用时,“控制”端为“0”,故多路转换器MUX接在锁存器的Q端,场效应管受锁存器的控制。在作为地址总线输出 时,“控制”端为“1”,多路转换器MUX接在“地址”端,故场效应管由“地址”端来控制,此时锁存器(P2的特殊功能寄存器SFR)的内容不变,在外部存储器读/写完毕时,P2口的地址输出的作用也结束,则“控制”端又变为“0”,P2口继续按锁存器原来的状态输出。由于P2口在CPU对外部存储器读/写过程中,始终能输出地址信号,所以P2的地址不需要外部锁存器的锁存。 3) P3口(第二功能) P3口除了用作为一般I/O口外,每一根线都可以执行与口功能无关的第二种I/O功能。由图2-5可以看出,输出驱动器受控于锁存器的状态与第二输出功能的状态。
文档评论(0)