标题: c8051f020单片机 请教个C语言语句看不懂,感谢 [打印本页]

作者: yanfeng082    时间: 2020-10-16 21:14
标题: c8051f020单片机 请教个C语言语句看不懂,感谢
#define clrP7(bit) P7 |=0x01 <<bit
#define clrP7(bit) P7 &= ~(0x01 <<bit)

这两句是什么意思,单片机是c8051f020,感谢
作者: wwh2382    时间: 2020-10-17 10:52
这2句能通过编译?
作者: zhai1995    时间: 2020-10-17 11:19
bit   是你想改变第几位,P7 |=0x01 <<bit,即是把P7的第几位改为1,其他位保持不变,
同理  P7 &= ~(0x01 <<bit)  即是把P7的第几位改为0,其他位保持不变,
作者: KongQuan    时间: 2020-10-17 11:41
C语言的宏定义, 置位/清零P7的某个位。
作者: amandv    时间: 2020-10-17 13:39
1是某位置1,2是某位置0
作者: yanfeng082    时间: 2020-10-17 15:58
zhai1995 发表于 2020-10-17 11:19
bit   是你想改变第几位,P7 |=0x01

万分感谢,c8051f的单片机P4-P7口不能位寻址,如果要位寻址这样定义可不可以,吧一个口的8位全部这样定义一下能不能达到位寻址的效果,就像低位口如,sbit P30=P3^0; 下面直接引用P30就可以,感谢师傅




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1