基本的单片机C语言编程问题P1=0xff高电平
对一个引脚带的灯置0或1,用sbitlight=p2^0;light=0;light=1就可以了,分别是亮灭。但对整个P2口8个灯同时置0或1,用P2=0x00,p2=0...
对一个引脚带的灯置0或1,
用sbit light=p2^0;light=0;light=1就可以了,分别是亮灭。
但对整个P2口8个灯同时置0或1,用P2=0x00,p2=0xff,
这个ff是255,为什么不是P2=0x01呢?
新学单片机不是很明白。 展开
用sbit light=p2^0;light=0;light=1就可以了,分别是亮灭。
但对整个P2口8个灯同时置0或1,用P2=0x00,p2=0xff,
这个ff是255,为什么不是P2=0x01呢?
新学单片机不是很明白。 展开
2个回答
展开全部
51单片机是8位的,意思就是每一组端口都有8个位;转换成2进制为1111 1111,10进制为255,16进制为0xff,
比如我现在要让P1口全亮(高电平为亮),那么是不是P1^0到P1^7这个8个端口全部为1,那么就为:
P1 = 2#1111 1111;但是在keil软件中不可以用2进制表示,那么我们就用10进制或16进制来赋值,
P1 = 0XFF;
P1 = 255;
如果 P1 = 0X01,这个意思就是P1^0这个端口为1,其它的端口都为0;
你主要是进制没学好,回去复习下各种进制转换就好了.
比如我现在要让P1口全亮(高电平为亮),那么是不是P1^0到P1^7这个8个端口全部为1,那么就为:
P1 = 2#1111 1111;但是在keil软件中不可以用2进制表示,那么我们就用10进制或16进制来赋值,
P1 = 0XFF;
P1 = 255;
如果 P1 = 0X01,这个意思就是P1^0这个端口为1,其它的端口都为0;
你主要是进制没学好,回去复习下各种进制转换就好了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询