[51单片机] 左移右移?

[复制链接]
1960|11
 楼主| Improvevent 发表于 2015-8-18 08:33 | 显示全部楼层 |阅读模式
各位大师:) 求分析这句代码的意思,谢谢
               if(dat&0x80)SDA=1;/*判断发送位*/
                else SDA=0;
                dat=dat<<1;
ayb_ice 发表于 2015-8-18 11:00 | 显示全部楼层
  if(dat&0x80)SDA=1;/*判断发送位*/
                else SDA=0;
发送位,从高不到低

dat=dat<<1;
为下一位准备
 楼主| Improvevent 发表于 2015-8-18 11:13 | 显示全部楼层
dat=dat<<1;
为下一位准备的意思?
delin17 发表于 2015-8-18 12:43 | 显示全部楼层
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。
NE5532 发表于 2015-8-18 15:17 | 显示全部楼层

下一次循环里再用。
cainiao_123 发表于 2015-8-18 15:56 | 显示全部楼层
数据串行发送时,低位在前使用右移,高位在前使用左移
微纳尔科技 发表于 2015-8-18 16:10 | 显示全部楼层
我是微纳尔小梅,IC内存代理,价格低,保证品质。如有需求请随时联系我:13798276573    0755-2360-0583
微纳尔科技 发表于 2015-8-18 16:11 | 显示全部楼层
delin17 发表于 2015-8-18 12:43
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。 ...

我是微纳尔小梅,IC内存代理,价格低,保证品质。如有需求请随时联系我:13798276573    0755-2360-0583
 楼主| Improvevent 发表于 2015-8-18 16:29 | 显示全部楼层
delin17 发表于 2015-8-18 12:43
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。 ...

嗯嗯,谢谢你哦
 楼主| Improvevent 发表于 2015-8-18 16:33 | 显示全部楼层
cainiao_123 发表于 2015-8-18 15:56
数据串行发送时,低位在前使用右移,高位在前使用左移

嗯,谢谢你哦
songchenping 发表于 2015-8-19 07:32 | 显示全部楼层
有问题吗
ywlzh 发表于 2015-8-20 10:53 | 显示全部楼层
很多移位寄存器都是这样的!你不要看单步的操作,你先整个字节操作完后看结果就知道为什么要这样编了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部