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

 我来答
硬件开发88
2013-10-23 · TA获得超过8674个赞
知道大有可为答主
回答量:1757
采纳率:84%
帮助的人:585万
展开全部
这种写法是不对的,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这样已经可以直接赋值。
日向一族滴雪城小爱鸭
2013-10-23 · 超过32用户采纳过TA的回答
知道答主
回答量:146
采纳率:0%
帮助的人:81.1万
展开全部
你写错了,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,修改起来不方便。
追问
能不能直接用P2=0?
追答
可以啊,但如查这样写的话其它没有用到的端口也被占用了啊,就比如你只用了P2^0端口,但如果你写上P2=0的话P2^1到P2^7也被占用了,可选择性就低了嘛!当然如果你8个端口全都用了,用这种方法也不错的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一万光年MEGn0
2013-10-23 · TA获得超过3712个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1066万
展开全部
P2=0;; 这样写是可以的

sbit 定义只是想单独控制其中的一个管脚,如果全部控制就不用sbit 定义了 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangweinan247
2013-10-23 · TA获得超过295个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:98.3万
展开全部
sbit是定义某一位的,这么写不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-23
展开全部
睡觉~也不鸟尼~
追问
.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式