作业帮 > 综合 > 作业

求PIC单片机大神们,下面的程序是什么意思,是让LED灯按顺序一个一个的亮么

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/29 18:34:47
求PIC单片机大神们,下面的程序是什么意思,是让LED灯按顺序一个一个的亮么
LED_RUN = ~(i & 0x01)>>0;
LED_DRIL_EL=~(i & 0x02)>>1;
LED_FIRE_OUT=~(i & 0x04)>>2;
LED_OVER_LOAD=~(i & 0x08)>>3;
LED_OVER_V=~(i & 0x10)>>4;
i=1;
for(j=0;j>0;
LED_DRIL_EL=~(i & 0x02)>>1;
LED_FIRE_OUT=~(i & 0x04)>>2;
LED_OVER_LOAD=~(i & 0x08)>>3;
LED_OVER_V=~(i & 0x10)>>4;
}
求PIC单片机大神们,下面的程序是什么意思,是让LED灯按顺序一个一个的亮么
0x表示16进制,0x04换成二进制就是0000 0100,>>4意思是向右移4位,
最后一句,i=1,所以i&0x10就是二进制的0000 0000,然后~是取非,结果就是1111 1111,然后右移4位,就是0000 1111.
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
重新计算了下四个公式,感觉有疑惑.&导致循环里面的计算结果的后四个都一样,有点怀疑我方法不对,先mark下.楼主你也先别信- -先看看
再问: 不太对,LED_RUN是0或者1,0时LED灯亮,如果i&0X01=0000 0001,取反之后,1111 1110,再》0,那么LED_RUN=??
再答: 暂时不知道LED_RUN定义的啥....不过单片机程序是可以把16进制数赋给一个引脚的,但是效果我忘了,隐约记得是只看最后一位,最后一位是0,那么引脚就低电平。 按理说符号的定义不应该有问题的,~是按位取反,&是按位与,>>是右移。但是放到这个例子里数据又不合理。 说起来这个循环与j没有任何关系,只是利用j进行8次循环,中间也没有延时,就算是循环亮灯肉眼也看不出来。