求单片机习题解答
执行ANLP1,#37H后,P(1.7)P(1.3)P(1.2)分别等于多少?执行ORLP1,#83H后,P(1.5)P(1.4)P(1.3)分别等于多少?...
执行ANL P1,#37H后,P(1. 7) P(1. 3) P(1. 2)分别等于多少?
执行ORL P1,#83H后,P(1. 5) P(1. 4) P(1. 3)分别等于多少? 展开
执行ORL P1,#83H后,P(1. 5) P(1. 4) P(1. 3)分别等于多少? 展开
1个回答
展开全部
第一问,ANL是“位与”操作,其特点是有0则结果为0,全1结果才是1,设P1原来的数值转换成二进制是:xxxx xxxx,P1和#37H进行位与操作,37H的进制是 0011 0111
XXXX XXXX
0011 0111
--------------------------
00XX 0XXX ,
00XX 0XXX 这就是得到的结果,所以,P1.7 P1.3肯定是0,而P1.2保持原来的数值不变,如果P1.2原来是0,还是0,原来是1,还是1
第二问,ORL 是 “位或”操作,特点是有1则结果为1,全0结果才是0.
同样的道理,83H转换成二进制是 1000 0011
XXXX XXXX
1000 0011
----------------------------------------------
1XXX XX11
1XXX XX11就是结果,所以P1.5, P1.4 P1..3的结果保持不变,原来是1,结果还是1,原来是0,结果还是0
结论:
如果一个位 和 0 相与,那么结果一定是0,如果和1相与,结果不变。
如果一个位 和 1 相或,那么结果一定是1,如果和0相或,结果不变
XXXX XXXX
0011 0111
--------------------------
00XX 0XXX ,
00XX 0XXX 这就是得到的结果,所以,P1.7 P1.3肯定是0,而P1.2保持原来的数值不变,如果P1.2原来是0,还是0,原来是1,还是1
第二问,ORL 是 “位或”操作,特点是有1则结果为1,全0结果才是0.
同样的道理,83H转换成二进制是 1000 0011
XXXX XXXX
1000 0011
----------------------------------------------
1XXX XX11
1XXX XX11就是结果,所以P1.5, P1.4 P1..3的结果保持不变,原来是1,结果还是1,原来是0,结果还是0
结论:
如果一个位 和 0 相与,那么结果一定是0,如果和1相与,结果不变。
如果一个位 和 1 相或,那么结果一定是1,如果和0相或,结果不变
更多追问追答
追问
P(1.2)P(1.5)P(1.4)P(1.3)到底是多少 麻烦给确定的值 应付考试
追答
这个我不知道啊,我说了,是保持原有值不变,那么你原有值是多少呢?你只给这两条语句,根本看不出来你原有值是多少啊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询