[AVR单片机] 怎么循环右移

[复制链接]
3416|6
 楼主| jiang666lei 发表于 2013-6-19 10:11 | 显示全部楼层 |阅读模式
我想把得到的一个字节中的八位数据镜像,比如0x01变成0x80,0x03变成0xc0 程序该怎么处理的呢?请高手指点
qin552011373 发表于 2013-6-19 11:30 | 显示全部楼层
51里面貌似有这个指令  avr还真没看到过   你是用在哪里?
chunk 发表于 2013-6-19 14:44 | 显示全部楼层
必须是“右移”吗?
fp123123 发表于 2013-6-19 16:09 | 显示全部楼层
最慢的方法,用程序左移位,把最高位取出,在结果右移位,如此循环8次
比较快的方法,把256个结果做成表,用查表法
最快的方法,用2个8位端口中间加1K电阻后交叉连接:PB0 - PD7, PB1 - PD6 ... PB7 - PD0,PORTB设置为输出,PORTD设置为输入,然后用2句搞定:PORTB = val; val = PIND;
skky2010 发表于 2013-6-19 22:24 | 显示全部楼层
 楼主| jiang666lei 发表于 2013-6-27 11:46 | 显示全部楼层
谢谢各位 看来我还是一位一位的移吧,没有更简单合理的程序了
qin552011373 发表于 2013-6-28 00:07 | 显示全部楼层
jiang666lei 发表于 2013-6-27 11:46
谢谢各位 看来我还是一位一位的移吧,没有更简单合理的程序了

可以变一个好点的算法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

16

帖子

0

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