51单片机16*16点阵4个汉字LED屏显示 请帮忙修改下程序,其他都不变,仅让后来的上移改成左移

http://pan.baidu.com/s/1emA55程序在这里!大家下下来看看,改成左移就好,四个汉字一起左移的!

LED上下移动很简单,麻烦一点的是左右移动。
程序懒得写了,给你个思路吧,你在内存中开辟(16÷8+1)×16=48个字节的缓存。每行3个字节,实际显示2个字节的内容。
在定时器中断中定时扫描列的内容。第一次中断,从行缓存头上开始,每行送16个BIT,共16行,第二次中断,从行缓存头上开始,每行送17个BIT,共16行,第三次中断,从行缓存头上开始,每行送18个BIT,共16行,。。。依此类推。第九次中断,更新缓存字节的内容,每行送16个BIT。
每次送的BIT超过了实际显示的象素,这样从显示的效果看起来就是字在向左移动。
与之对应,如果先送24个BIT,然后,23,然后22,则显示效果是右移追问

程序我有的诶,上头那个网址你点进去下载么,我传百度云盘了!你帮我改下吧 改成左移就成,谢谢啦!

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机16*16点阵4个汉字LED屏显示 请帮忙修改下程序,其他都不变...
与之对应,如果先送24个BIT,然后,23,然后22,则显示效果是右移

求51单片机16*16的点阵汉字移动原理
首先是让汉字能够静态显示,显示一段时间后(时间可能很短)把所显示的汉字编码移一位重新送出,比如要向左移动,原本显示在第一列的数据就丢弃了,把第二列的数据送到第一列上显示,依次移动显示一屏,显示一段时间再进行一次移动,人们看起来也就是移动的了。 还搞不明白的话,可以晚上问我。

51单片机下,谁能教我一下 16X16点阵怎么 让字移动起来啊?
多建一个缓冲区,将移位的数据从缓冲区读出加入到显示字符的最后一位,前面的数据移动一位,移动那一位数据加在前一位数据的最后一位。缓冲区的数据移完后再加入,一般是8位的数据。也就是说移8次加载一次数据到缓冲区。

LED16*16点阵怎样让文字从左到右显示 求程序!
如果是想一起显示四个字母,把所有的LED共阴共阳,用单片机做个简单的程序,控制其通断就可以了。如果是想单个显示,则需要把你想显示的单体字母共阴共阳,不过这个程序麻烦点,要控制好几个字母电源通断的时序。当然,如果你c语言过关的话,可以变更复杂的程序,变幻一下闪烁的顺序和频率,效果会更好!

你好,51单片机16*16点阵滚动显示程序能不能发个给我,谢谢了!
tmp2[i]<<=1; \/\/下一个要显示汉字的半行字节向高位移一位,准备下一次取位 } timerc=timer; \/\/处理完16行,调用显示函数更新点阵 while(timerc--) \/\/循环做为处理的速度,即移动的速度 display(1); \/\/--- c--; \/\/移完一半,进入下一半或下一个汉字,直到结束 }}void displaymoveup(unsigned char...

51单片机驱动160160点阵显示屏字太大的问题
如果只显示少数几个汉字,则可以把字模以表格等形式写在代码中,如果有显示时要调用大量汉字则要生成字库保存於SD卡或EEPROM中 16*16字模占32字节,1 行是2 个字节 写入原理很简单,就是按照取模时的顺序,一个点一个点逐次写入 以下程序供参考,假设字模存在於表格hanzi[ ][ ]中,一个汉字占32 个...

单片机16*16LED点阵怎样让文字从上到下显示出来 求程序
下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。首先,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其...

单片机控制的16*16点阵显示汉字,为什么出现的字体是镜像的?怎么...
肯定是取点阵时扫描方向搞反了,改正方法:调整取模方向,如原来是"逆向",改为"顺向",或反之,重新生成字模,而不是简单地将上面的字模数据顺序调整

基于51单片机的16x16 led点阵显示屏设计原理与电路图
BEGIN:MOV R0,#8 MAIN:MOV A,R0 MOV R2,#00H MOV SP,#60H MOV R3,A MOV R4,#16 MOV DPTR,#WORDTAB START:JNB P1.0,SLOW JNB P1.1,SOON MOV R1,#00H SCAN8:MOV A,R1 SWAP A MOV P3,A SWAP A INC A MOV R1,A MOV A,R2 MOVC A,@A+DPTR CJNE A, #0DDH,NEXT AJMP...

求51单片机控制的16*16点阵代码
IOdata=word_tab[i][a+16];col1=1;col1=0;if (a<8){ IOdata=b;row0=1;row0=0;\/\/上半屏 } else { IOdata=b;row1=1;row1=0;\/\/下半屏 } delay(50);IOdata=0x00;row0=row1=1;row1=row0=0;\/\/清屏 b=_cror_(b,1);} } void main(){ while(1){ disp();} } ...

相似回答