单片机读引脚和读锁存器问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 06:01:46
书曰:
假如你用一个引脚直接驱动一个NPN三极管的基极,那么需要向引脚的寄存器写“1”,写1后引脚输出高电平,但一旦三极管导通,则这一引脚的实际电平将是0.7V(一个PN结压降)左右,0.7V在数据电路中属低电平。
这种情况下,你的读IO的操作如果是读引脚,将读到"0",但如果是读寄存器,仍是”1“。
请问这时我如何读锁存器中的数而不是引脚呢?直接MOV A,P1吗?还是要设置某个寄存器参数?
谢谢!

8051系列的单片机都是直接读引脚的,不能读输出寄存器。
其它系列的单片机有可以谳输出寄存器的(ARM系列等)。
单片机引脚直接驱动一个NPN三极管的基极时,通常要串联一个限流电阻(1K~10K),当向引脚写“1”之后,由于限流电阻的存在,引脚的实际电平就不会被拉低到0.7V,也就不会出现读回的结果是“0”的情况了。

提问者采纳的答案,是错误的。

8051系列的单片机,所具有的《读-改-写指令》,就读输出寄存器的。