单片机 移位相加问题
kuaidi.ping-jia.net 作者:佚名 更新日期:2024-08-30
单片机 移位 问题
单片机中数据输出高四位右移四位与低四位相加后结果
这句话,太长了,难以理解。
楼主先给解释一下吧。
或者,加上几个逗号,句号。
0x7f:0111,1111
>>1
______________
=0011,1111
移位后,最低位的1移出去了,最高位补0。不是循环移位。
可以自己实现循环移位功能:
unsigned char i;
for(i=128;i>0;i=i/2)
{
P0= 0xff - i ; //假设P0输出0时LED亮
delay_ms(100); //延时100ms
//如果要LED一直挨个放光,把下一行的注释去掉
//if(i==1) i=128;
}
m的值不变,保持1
m<<=i才是左移后赋值给m
单片机中数据输出高四位右移四位与低四位相加后结果
这句话,太长了,难以理解。
楼主先给解释一下吧。
或者,加上几个逗号,句号。