51单片机c语言中 P2&=0x0F; P2|=(1<<4+c); 是什么意思

 我来答
烟火夜空
推荐于2018-03-14 · TA获得超过6624个赞
知道大有可为答主
回答量:1678
采纳率:93%
帮助的人:678万
展开全部
P2&=0X0F;就是 P2=P2&0X0F;就是将高4位清空;
P2|=(1<<4+c); 等效于:P2=P2|((1<<(4+c));就是将P2的第4+c位 赋值1;
百度网友83cc028
2012-02-08 · 超过18用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:45.2万
展开全部
P2&=0X0F;就是 P2=P2&0X0F;就是将高4位清空;---------这句好像没异议。
P2|=(1<<4+c); 等效于:P2=P2|((1<<(4+c));就是将P2的第4+c位 赋值1; -----------这句我怎么觉得不对啊,我理解P2|=(1<<4+c); 表示,4加上c的和左移一位,然后和P2进行或运算,再赋给P2口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓冶师0
2012-02-12 · 超过18用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:54.5万
展开全部
第一句,位与操作,把p2的8个管脚与00001111 相位与,得到结果,p2.4到p2.7输出低电平,p2.0到p2.3维持不变。任何数与0相与结果为0,与1相与结果为它本身。

..那是我弄错了。。。还是1楼的正确
第二句,把1左移四位,那就0001 0000 ,然后加上c的值,然后在位或,任何数与1或结果为1,与0或结果为它本身。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e980a87
2012-02-17
知道答主
回答量:24
采纳率:0%
帮助的人:8.6万
展开全部
P2&=0x0F即为P2=P2&0x0F含义为P2和十六进制数0F位与,值赋给P2。 P2|=(1<<4+c)即为P2=P2|(1<<4+c) 先进行括号里面的运算1<<4为0x01向左移四位变为0x10(十进制数为16)然后和c相加 最后和P2相或 将最终结果赋给P2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2540461056
2018-04-09
知道答主
回答量:20
采纳率:0%
帮助的人:4.2万
展开全部
第一条其他答案都说完了;
第二条,应该是4+C,然后把位1向左移动(4+C)个位,再把结果与P2进行“或”操作。(C是某一个作者预设的值)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式