指令分别为: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更新输出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)