×
单片机 > 单片机程序设计 > 详情

8051读引脚和读端口的区别

发布时间:2020-09-02 发布时间:
|
8051的P0,1,2,3口作为输出时候,差别不大,仅仅是P0口需要外接上拉电阻,大约10K就可以了;

但8051作为输入时基本相同,分为读端口和读引脚两种情况。先介绍读端口情况,实际上是读锁存器的状态,有时候需要读锁存器的状态,然后修改,这时候读的不是真正的外部数据;

I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器。只有读引脚时才真正地把外部的数据读入到内部总线。CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作,这是由硬件自动完成的不需要我们操心。读引脚时也就是把端口作为外部输入线时首先要通过外部指令把端口锁存器置1,然后再实行读引脚操作,否则就可能读入出错。

从P0,1,2,3口一位的图来看,如果不对端口置1,端口锁存器原来的状态有可能为0,Q端为0Q^为1,加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号拉低,使得外加的1信号读入后不一定是1,若先执行置1操作则可以使场效应管截止,引脚信号直接加到三态缓冲器中,实现正确的读入。故要读端口状态时,必须先对端口置1,使场效应管截止,然后就可以正常地读数据了。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式