首页 理论教育 单片机原理与应用技术-数据通用输入输出口

单片机原理与应用技术-数据通用输入输出口

时间:2023-10-28 理论教育 版权反馈
【摘要】:P2口作通用输入/输出口用时,内部控制信号使转换开关的b~c接通,并连接锁存器的输出端Q。P2口用作地址总线时,其中未使用到的口线一般不能再作为通用输入/输出口使用。图1-14 P2口作通用数据输入/输出口4.P3口作输入/输出口以P3口的1位结构为例,P3口作数据输入/输出口见图1-15。

单片机原理与应用技术-数据通用输入输出口

1.P0口作通用输入/输出口

以P0口的1位结构为例,P0口作通用数据输出口见图1-11,CPU从内部总线发出低电平控制信号“0”,使与门输出“0”,上拉场效应晶体管V1截止;同时使转换开关的(b~c)接通,输出驱动级变为漏极开路电路,“写锁存器”操作使锁存器与内部总线相连的D端数据(0/1)取反后从Q端输出(1/0),再经下拉场效应晶体管V2反相,在引脚上输出与内部总线相同的数据(0/1)。由于上拉场效应晶体管V1截止,下拉场效应晶体管为漏极开路状态,因此对吸电流负载为了保证数据“1”(高电平)正常输出,需要外接上拉电阻(可选4.7~10kΩ)。

978-7-111-49886-5-Chapter01-20.jpg

图1-11 P0口作通用数据输出口

P0口作通用数据输入口见图1-12,仍以P0口的1位结构为例,但包含两种读入方式,均要从锁存器的D端写入“1”,使引脚端口先置“1”;由于此时锁存器的Q端为0,两个场效应晶体管V1和V2均截止,引脚便处于悬浮的高阻输入状态。

978-7-111-49886-5-Chapter01-21.jpg

图1-12 P0口作通用数据输入口

(1)读引脚方式 因引脚端口先置了“1”,引脚上的外部信号便能沿着图中虚线方向从三态门2读入内部总线,得到正确的引脚信息。

(2)读锁存器方式 适用于单片机的“读-修改-写”指令(如ANL、JBC、INC、DJNZ、SETB等)。CPU先把端口的数据读入内部总线,在算术/逻辑运算单元ALU中进行运算,再把运算结果送回端口。这实际上是由三态门1以读回锁存器Q端数据的方式来实现,读锁存器是为了消除某位口线输出为1时,因外接器件(如晶体管)导通而将该口线拉为低电平的误读现象,所以这种情况下经三态门2读引脚状态则为0(读得的是引脚被拉低的实际电平),而经三态门1读锁存器的Q端状态则为1(读得的是内部总线原先向口线输出的电平),符合口线原状态。CPU会自动根据所执行的指令的性质选择读引脚或者读锁存器。

2.P1口作通用输入/输出口

以P1口(字节地址为90H)的1位结构为例,P1口作通用数据输入/输出口见图1-13。P1口在结构上与P0口相比,差别在于没有转换开关及其控制电路,输出驱动电路由场效应晶体管V和一个内部上拉电阻(实际是阻性元件场效应晶体管)组成。工作原理与P0口作输入/输出口相同,输入数据时同样分为读引脚和读锁存器两种方式,读引脚之前也必须先向锁存器置1,使场效应晶体管V截止,才不会造成误读。

978-7-111-49886-5-Chapter01-22.jpg

图1-13 P1口作通用数据输入/输出口

3.P2口作通用输入/输出口(www.xing528.com)

以P2口(字节地址A0H)的1位结构为例,P2口作通用数据输入/输出口,见图1-14。P2口在结构上与P1口相比,多了一个转换开关和反相器,因此既可以用作通用输入/输出口,也可以用作地址总线。P2口作通用输入/输出口用时,内部控制信号使转换开关的b~c接通,并连接锁存器的输出端Q。输入数据时同样分为读引脚和读锁存器两种方式,读引脚之前也必须先向锁存器置1,使场效应晶体管V截止,以避免误读。

另外,如1.4.1节所述,P2口提供作高8位地址用时,内部控制信号使转换开关的a~c接通,地址信号便出现在引脚上,与P0口提供的片外低8位地址共同组成最大64KB的寻址范围。当片外访问结束后,转换开关自动切换到锁存器Q端。P2口用作地址总线时,其中未使用到的口线一般不能再作为通用输入/输出口使用。

978-7-111-49886-5-Chapter01-23.jpg

图1-14 P2口作通用数据输入/输出口

4.P3口作输入/输出口

以P3口(字节地址B0H)的1位结构为例,P3口作数据输入/输出口见图1-15。P3口可作通用输入/输出口(称第一功能口)又可作第二功能口(端口的第二功能需由软件激活,否则P3口自动设置为第一功能)。在结构上与P1口相比,增加了一个与非门(其中一个输入端受第二功能输出的控制)和一个缓冲器3(其输出作为第二功能的输入)。其功能原理分为下述4种情况。

978-7-111-49886-5-Chapter01-24.jpg

图1-15 P3口作数据输入/输出口

(1)P3口作为通用输出口 第二功能输出端保持高电平1时,与非门接通,内部总线把数据(1/0)通过输出锁存器Q端送出(1/0),经与非门反相输出(0/1),控制场效应晶体管V的截止/导通,在引脚输出数据(1/0)。

(2)P3口作为通用输入口 第二功能输出端保持高电平1时,与非门接通,同时内部总线向输出锁存器写入1,使与非门输出0,保持场效应晶体管V截止,引脚数据在读引脚的选通下经缓冲器3和三态门2进入内部总线,或者在读锁存器的三态门1选通下实现“读—修改—输出”指令的操作。

(3)P3口作为第二功能输出口 内部总线向输出锁存器置1时,Q端令与非门接通,此时第二功能输出端的数据通过与非门输出至引脚端口。第二功能输出信号有TXD、WR和RD。

(4)P3口作为第二功能输入口 内部总线向输出锁存器置1并且第二功能输出端保持高电平1时,与非门输出0,场效应晶体管V截止,引脚信号进入缓冲器3后,从缓冲器3的输出端取出第二功能的输入信号。第二功能输入信号有RXD、INT0、INT1、T0和T1。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈