单片机中,常sbit LED=P2 然后用LED=0,不能直接写P2=0吗?

2024-12-04 19:01:03
推荐回答(5个)
回答1:

这种写法是不对的,sbit有三种使用方法如下:

第一种方法:sbit 位变量名=地址值
第二种方法:sbit 位变量名=SFR 名称^变量位地址值
第三种方法:sbit 位变量名=SFR 地址值^变量位地址值
如定义PSW中的OV可以用以下三种方法:
sbit OV=0xd2 (1 )说明:0xd2是OV的位地址值
sbit OV=PSW^2 (2 )说明:其中PSW必须先用sfr定义好
sbit OV=0xD0^2 (3 )说明:0xD0就是PSW的地址值

P2可以直接操作,用为单片机头文件里面已经sfr P2 = A0这样已经可以直接赋值。

回答2:

你写错了,SBIT表达的是位信息,而P2是整个端口,你而以写成:sbit=P2^0或sbitP2^7等。也可以直接写sbit=P2^0或sbitP2^7,但用sbit=P2^0或sbitP2^7后P2^0或sbitP2^7就定义成LED了,这样LED等介于 P2^0或sbitP2^7了,以后如果你要更换端口就很方便,只在这里改一下就好了,如果直接使用 P2^0或sbitP2^7,修改起来不方便。

回答3:

P2=0;; 这样写是可以的

sbit 定义只是想单独控制其中的一个管脚,如果全部控制就不用sbit 定义了 。

回答4:

sbit是定义某一位的,这么写不对。

回答5:

睡觉~也不鸟尼~