如何去除红豆:有关c51的一点小问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 00:10:49
小妹刚开始学习c51的c语言编程,有一些问题不明白,还请各位大人们指点指点.
我在书上看到有这样的指令:

P3=(P3&0xF0)|inval;//值输出到P3.0~P3.3

inval是一个提前定义过的无符号字符变量,里面的值为从P1口读入的参数.

为什么要将P3的高四位置1,低四位置0了再往里面写数呢?
我是说,为什么不干脆把整个P3都清零或者置1?
我看到书上有提到读端口之前必须先写一个1到所需的端口位,那是说写的时候必须先写一个0到所写需的端口位还是直接写就可以了?
如果直接写就可以的话,回到第一个问题,为什么例子里面要那样写呢?