51芯片编程的问题~~

来源:百度知道 编辑:UC知道 时间:2024/06/21 15:25:28
我在学80C51和24C32(串行存储器)接口编程时遇到一段程序...
串口应答位子程序:
CHACK:SETB P1.7;置P1.7为输入状态
SETB P1.6;第9个时钟脉冲为高,数据线SDA可读取数据
NOP
MOV C,P1.7;读数据线SDA线上应答位状态
MOV F0,C;应答位状态送F0
CLR P1.6;结束第9个脉冲
NOP
RET
我刚学,只知道第一第二句是置P1.7(SDA口),P1.6(SCL口)口为高电平,为什么置成高电平P1.7口就变成输入状态..P1.6口可读取数据,哪位大虾解释下,谢谢
楼下的兄弟,你这个回答等于没回答,这分恐怕不能给你

这个是和51芯片的口线有关的,P1口是通用I/O口,P1口的输出驱动部分通过片内FET管上拉,驱动能力和外部电源上拉电阻有关;需要作为输入状态在就在内部锁存器中锁存1信号,使FET管截止,P1口呈高阻输出状态,再由读引线端信号读入并行输入数据.

课本上应该有解释吧

回家了。没带课本。有很多东西是直接拿来用的。就像默认的似的。它芯片就是这样设计的~