51单片机引脚学习

51单片机引脚学习


当输入操作时,端口中的两个三态缓冲器用于读操作控制。

  • 缓冲器2用于读端口引脚的数据。当执行端口读指令时,读引脚的脉冲打开三态缓冲器2,于是端口引脚数据经三态缓冲器2送到内部总线。

  • 缓冲器1用于读取锁存器Q端的数据,当执行“读一修改一写”指令(即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:ANL PO,A),即读的是锁存器Q的数据。

  • 这是为了避免错读引脚的电平信号,例如用一根口线去驱动一个晶体管基极,当向口线写“1”时,晶体管导通,导通的 PN 结会把引脚的电平拉低,如读引脚数据,则会读为0,而实际上原口线的数据为1。因而,采用读锁存器Q的值避免了错读。究竟是读引脚还是读锁存器CPU内部会自动判断是发读引脚脉冲还是读锁存器脉冲。但应注意,当作为输入端口使用时,应先对该口写人“1”,使场效应管 VT截止,再进行读入操作,以防场效应管处于导通状态,使引脚钳位到零而引起误读。

51单片机读端口和引脚的区别:
读端口和读数据是由CPU来自动区分的,CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作,无需用户的干预。
例如,在执行以下读操作指令时,就是对引脚实际电平的读取,即所谓的“读引脚”: TEMP=P1; //读P1口的状态,并将结果赋值给变量TEMP 在执行下面的操作指令时,就是对端口的读操作,即“读端口”: P1=P1 + 1; //让P1口寄存器的值加1 执行这个语句时,是对P1端口寄存器的“读-修改-写”过程,其执行的顺序是:先读取P1的端口数据,再加1,然后再送回到P1口锁存器中。加1操作是基于已经锁存在端口锁存器里的数据,而对引脚的实际电平并不关心。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值