您的位置 首页 5G

单片机读端口与读引脚的差异

把IO口作为输入口使用时,是读引脚,不同于读端口。注意,读端口的口不是P0口、P1口的口,而是锁存器的Q端口,也就是读锁存器Q端的输出信

把I/O口作为输进口使用时,是“读引脚”,不同于“读端口”。留意,读端口的“口”
不是P0口、P1口的“口”,而是锁存器的Q端口,也便是读锁存器Q端的输出信号然后送
三态缓冲器输入,经过缓冲器输出到单片机内部总线。而读引脚则是直接把芯片引脚上
的外部数据,经过三态缓冲器把数据放到内部总线。

例如,用MOV进行读引脚操作:

MOV P1,0FFH ;留意首要把P1引脚置为高电平
MOV A,P1 ;P1作为输进口,读P1口信号到A

编程时须先置I/O口引脚为高电平的原因如下(请检查口电路结构图):

51单片机的P0口是双向口,P1~3口是准双向口,其I/O口引脚都和单片机内部的场效应管
FET漏极衔接。首要咱们无妨假定init时引脚为低电平(我不知道单片机reset时
引脚缺省电平是低仍是高?仍是不定?),即FET漏极为低电平,由于此刻FET是导通的,
所以不管外部输入1仍是0,都会发生拉电流,拉为低电平,然后无法正确判别外部输入
的是1仍是0.严峻的话,假如拉电流过大,还或许烧坏FET。

因而,init时只好将引脚设为高电平,例如MOV P1,0FFH,由单片机口电路的结构图能够
看出,这条指令的内部电路逻辑是这样的:
先把0FFH放到内部总线,锁存器输入端(D端)从内部总线取数据,锁存,然
后从Q非端输出到FET极,明显此刻Q非为0,FET截止,经过漏极上拉电阻输出高电平,
不会影响外部输入电平(相当于和外部输入逻辑与)。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/261637.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部