串口通信之点阵左移

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串口通信之点阵左移

(*注:图中各595 的pin10 脚相连接后与+Vcc 相连。)驱动程序可根据本人的16*16 点阵程序改编,另外还有一个本人对程序中显示数据生成函数的解

释资料一并录于此处,也欢迎切磋。语句temp=(h1>(8-tempcol));的设计原理:下面我们以程序进行左移3 位的运算为例解释一下语句temp=(h1>(8-tempcol)); 的设计原理;我们知道,在8 位二进制数据进行运算时,若要将一个3 位的二

进制数据置入另一个8 位二进制数据后3 位的空位中,(注:这里所说的数据置入,是指当一个显示数据显示后,这个数据经左移以后变成了下一个要显示的

新数据,而这个新的数据实际上就是由已显示数据的前7 位与后一个数据的前

1 位数据组合形成的,也就相当与将后面的数据置入了前一个数据。)可以采用的方法不外乎有两个,一个是加入YYYYY000+00000XXX=YYYYYXXX。另

一个方法是按位或,而后一个方法更加直观方便。本语句就是采用了按位或的

方法,详解如下:设寄存器D 中有数据D=0X33=00110011 其左移3 位后D 中的数据改变为10011000 后置入DY(数据移出后寄存器相应位自动清零);设

寄存器C 中有数据C=0XA6=10100110 其右移8-3=5 位后C 中的数据改变为00000101 后置入CY。DY|CY 运算后,结果为10011101 其结果不难看出,相当于将C(0XA6)中的前3 位数据左移进入了DY 的后3 位中。这一算式的设计,是为了适应我们的硬件系统,解决了一个8 位显示数据由当前的8 位锁存

输出芯片(595)进入下一片(595)时能够保持连贯;因为我们的硬件系统的组成为8 位单片机通过级联的8 位数字电路驱动点阵屏,假如我们的硬件无所

不有,那么,我们可以使用16 位的系统驱动16 列的屏,32 位驱动32 列,64 位驱动64 列,128 位。那么我们只要用一句简单的移位语句,即可达到目的,就不必如此费周折了。tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

相关文档
最新文档