- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 AT89S51片内并行端口的 原理及编程 ;4个双向的8位并行I/O端口:P0~P3,它们的输出锁存器属于特殊功能寄存器。
4个端口可以按字节和位寻址。
;双功能的8位并行端口,字节地址为 80H,位地址为80H~87H。;1.位电路结构
P0口某位的电路包括:
(1)一个数据输出锁存器,用于数据位锁存。
(2)两个三态数据输入缓冲器,分别是用于读锁存器的输入缓冲器BUF1和读引脚的输入缓冲器BUF2。
(3)一个多路转接开关MUX,一个输入来自锁存器的端,另一输入为地址/数据信号的反相输出。MUX由“控制”信号控制,实现锁存器的输出和地址/数据信号之间的转接。
(4)数据输出的控制和驱动电路,由两个场效应管(FET)组成。
;(1)P0口用作地址/数据总线
当外扩存储器或I/O时,P0口分时复用为地址/数据总线使用。
当作为地址或数据输出时,“控制”信号为1。;(1)P0口用作地??/数据总线
当作为数据输入时,仅从外部读入信息,“控制”信号为0。;(2)P0口用作通用I/O口
当作为通用I/O口时,“控制”信号为0,要外接上拉电阻。;(2)P0口用作通用I/O口
输入时:“读引脚”和“读锁存器”;P0口为双功能口——地址/数据复用口和通用I/O口。
当P0口用作地址/数据复用口时,是一个真正的双向口,输出低8位地址或输出/输入8位数据。
当P0口用作通用I/O口时,是一个准双向口。
用作输入时,应首先向锁存器写1。
单片机复位后,锁存器自动被置1;
当P0口由原来的输出状态转变为输入状态时,应首先置锁存器为1,方可执行输入操作。
;单功能I/O口,字节地址为 90H,位地址为 90H~97H。;2.工作过程分析
P1口只能作为通用的I/O口使用。
P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。
P1口有内部上拉电阻,为准双向口。“读引脚”输入时,必须先向锁存器写入1。
;P2口是一个双功能口,字节地址为A0H,位地址为 A0H~A7H。;工作过程分析
(1)P2口用作地址总线
在内部控制信号作用下,MUX与 “地址”接通。当“地址”线为0时,场效应管导通,P2口引脚输出0;当“地址”线为1时,场效应管截止,P2口引脚输出1。
(2)P2口用作通用I/O
在内部控制信号作用下,MUX与 锁存器的Q端接通。CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。
输入时,分为“读锁存器”和“读引脚”两种方式。
;3.P2口的特点
作为地址输出线使用时,P2口可以输出外部存储器的高8位地址,与P0口输出的低8位地址一起构成16位地址,可以寻址64KB的地址空间。
作为通用I/O口使用时,P2口为一个准双向口。功能与P1口一样。
P2口作为高8位地址总线使用时就不能再作为通用I/O口。
;P3口电路中增加了引脚的第二功能, P3口的每一位都可以分别定义为第二输入功能或第二输出功能。P3口的字节地址为B0H,位地址为B0H~B7H。;2.工作过程分析
(1)P3口用作第二输入/输出功能
选择第二输出功能时,锁存器置“1”,“与非门” 开启。当第二输出为1时,场效应管截止,P3.x引脚输出为1;当第二输出为0时,场效应管导通,P3.x引脚输出为0。;(2)P3口用作第一功能——通用I/O口
第二输出功能端应保持高电平,“与非门”为开启状态。CPU输出1时,Q=1,场效应管截止,P3.x引脚输出为1;CPU输出0时,Q=0,场效应管导通,P3.x引脚输出为0。
用作第一功能通用输入时,P3.x位的输出锁存器和第二输出功能均应置1,场效应管截止,P3.x引脚信息通过输入BUF3和BUF2进入内部总线,完成“读引脚”操作。
当P3口实现第一功能通用输入时,也可以执行“读锁存器”操作,此时Q端信息经过缓冲器BUF1进入内部总线。
;3.P3口的特点
P3口内部有上拉电阻,为准双向口。
P3口作为第二功能的输出/输入,或第一功能的通用I/O输入,均须将相应位的锁存器置1。、由于复位后P3口锁存器自动置1,所以不需要任何设置工作,就可以进入第二功能操作。
当某位不作第二功能使用时,可作为第一功能的通用I/O使用。
;P0口与P1、P2、P3口相比,P0口的驱动能力较大,每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力,只有P0口的一半。
当P0口的某位为高电平时,可提供400?A的电流;
当P0口的某位为低电平(0.45V)时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,任一个口要想获得较大的驱动能力,只能用低电平输出。;(a)不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动
文档评论(0)