标题: 单片机串口程序PCON&=0XEF;是什么意思? [打印本页]

作者: 莲蓬16    时间: 2018-9-19 15:05
标题: 单片机串口程序PCON&=0XEF;是什么意思?
PCON&=0XEF;请问一下这句话是什么意思

作者: cjm82    时间: 2018-9-19 17:04
PCON 寄存器最高位置0
作者: 莲蓬16    时间: 2018-9-19 17:37
cjm82 发表于 2018-9-19 17:04
PCON 寄存器最高位置0

0XEF=0B11101111,怎么是最高位置0啊?麻烦能详细解释一下吗

作者: 笑鑫    时间: 2018-9-19 19:58
pcon寄存器最高位置为0.
作者: sxhwdz    时间: 2018-9-19 20:21
电源控制寄存器PCON的bit4是POF,是上电复位标志位,单片机停电后,上电复位标志位为1。该标志用于判断是上电复位还是其它非上电复位,如看门狗复位,复位脚复位。如果是上电复位,则需进行上电初始化工作,并清除该标志,PCON &= 0XEF 就是清除该标志的语句。
作者: yousunny    时间: 2018-9-19 20:40
莲蓬16 发表于 2018-9-19 17:37
0XEF=0B11101111,怎么是最高位置0啊?麻烦能详细解释一下吗

很简单的C 语言问题
作者: yhai    时间: 2018-9-19 21:08
PCON&=0XEF;  //PCON寄存器的第4位清零(置零)

作者: cjm82    时间: 2018-9-19 21:12
莲蓬16 发表于 2018-9-19 17:37
0XEF=0B11101111,怎么是最高位置0啊?麻烦能详细解释一下吗

不好意思看错了.没经过计算脱口而出..与等于11101111就这串2进制数为0的对应PCON第4位(最低位为第0位)..而不改变其他的位.
作者: xzf586    时间: 2018-9-19 21:20
像这种PCON&=0XEF写法的目的是某一位清零,如果是改成“TMOD|=0x01”,其目的就是某一位置1,stm32习惯这样使用,51因为寄存器是8位,没有特别强调!
作者: lqlion7    时间: 2018-9-19 21:20
0XEF是16进制数,实际就是EF,其二进制数为11101111,即指的是PCON寄存器中数据设置为11101111。至于EF前面的0X,只是代表这个数据是十六进制数。
作者: Henysy_Jacky    时间: 2018-9-19 22:13
这个是通过位运算使位4置0
作者: 爱爱爱    时间: 2018-9-20 09:48
寄存器和一个数值进行与运算
作者: Aretiades    时间: 2018-9-20 17:55
应该是程序需要PCON的第四位置零,st实现某位置零都是这么做的
作者: ctian    时间: 2018-9-20 21:35
十六进制化为二进制就是1110 1111




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