单片机编c语言时想把p0.1 p0.2 p0.3定义一个变量输出,p0.4 p0.5 p0.6定义一个变量输出请问该怎么编?
答案:1 悬赏:10
解决时间 2021-03-17 15:51
- 提问者网友:千城墨白
- 2021-03-17 01:06
单片机编c语言时想把p0.1 p0.2 p0.3定义一个变量输出,p0.4 p0.5 p0.6定义一个变量输出请问该怎么编?
最佳答案
- 二级知识专家网友:错过的是遗憾
- 2021-03-17 02:13
#define MASK1 0xF1
#define MASK2 0x8F
#define a(x) ((P0 & MASK1) | (x << 1))
#define b(x) ((P0 & MASK2) | (x << 4))
说明:
其中x为p0.1 p0.2 p0.3或p0.4 p0.5 p0.6组成
三位二进制数,所以x的范围为0-7。
使用示例:
如果你想为P0.1置1,P0.2置0,P0.3置1,而不影响P0的其他口
则他们组成的二进制数为101,转换为10进制为5,则代码如下
P0 = a(5);
不知道你是不是这个意思,希望有帮到你。
#define MASK2 0x8F
#define a(x) ((P0 & MASK1) | (x << 1))
#define b(x) ((P0 & MASK2) | (x << 4))
说明:
其中x为p0.1 p0.2 p0.3或p0.4 p0.5 p0.6组成
三位二进制数,所以x的范围为0-7。
使用示例:
如果你想为P0.1置1,P0.2置0,P0.3置1,而不影响P0的其他口
则他们组成的二进制数为101,转换为10进制为5,则代码如下
P0 = a(5);
不知道你是不是这个意思,希望有帮到你。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯