单片机16位原码右移一位的程序

单片机16位原码右移一位的程序,第1张

单片机16位原码右移野颂以为,这是汇编语言中的指令,是对累加器A中的8位数依此向左则闹移一位,还分带Cy的颂盯郑移位和不带Cy的移位。

指令分别为:RLCA;带Cy的右移位;RLA;不带Cy的移位。以RLA为例说明:假如A=10110010,则左移位一次后,这8位数向左移一位,最高位回到最低位,就像是8个人转了一圈似。移位后,A=01100101

data

=

nBitmapDot[i]

>>

1

//

nBitmap[i]右移一桐码消个二进制位,与

data

=

nBitmapDot[i]

/

2

同模烂效。

data

=

nBitmapDot[i]

<<

1

//

nBitmap[i]左移一个二进制位,与

data

=

nBitmapDot[i]

*

2

同效。

要说明的是局知移位 *** 作(<<

>>)效率更高。

点蠢键弯阵太多,需要使用16+16=32个io,建议使用lcd驱动ic,如ht1621之类,51单片机通过三线接口与ic通讯。

编程方面,程序需要建立16x16点阵的缓冲,需要修改数据就先修改缓冲数据,然后改变输出。上移可以通亮弯过把缓冲按字节移位实现,左移就需要把缓冲数据按位移带闷位,移位完成后再通过lcd

driver更新输出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12441085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存