hhjc.net
当前位置:首页 >> 怎样用C语言实现lED点阵显示字符移动 >>

怎样用C语言实现lED点阵显示字符移动

没写过不过我想可以用for循环数组移位然后显示中间delay一下这样应该可以

显示很简单,就是屏幕打印printf就可以,点阵这个需要字模库,移动其实也不难,就是个思路的问题,就是打印,等待,清屏,再打印的过程

你静止显示会了,我代码就的懒得写了,给你介绍下思想.并不是字真在移动,只是你每次显示的图像不一样的,连续显示16次出来就是移动.比如上下移动,你有个函数能显示一个字模数组.你把“西”的整个字的字模放到这个数组显示的是西字,你把“安”放进去就是安字.你把西字16行的后15行字模信息接上安的第1行(一共就是16行)放到一起作为一个字模数组显示出来就是下移了一格,把西后14行接安的前2行(共16行)放到一起作为一个字模数组显示出来就是下移了两格,依次排下去到16次的时候就完整下移一个字了.左右一样的,你把“西”每行的后15列接上“安”每行的第一列作为一个数组显示就是左移一位,同理依次移下去16次一个字的左移就ok

由程序看来p2口是用来控制点阵行扫描的,p1口负责送显示的数据 p2=0x01; //起始行高电平 for(i=0;i>7; // 点亮下一行 其实点阵显示就是:(针对16*16点阵显示一个汉字)静止的显示就是扫第一行时送汉字的第一行,扫第二行时送汉字的第二行扫第16行时送汉字的第16行,这叫第一帧扫完.如果想让字动那么扫第二帧时,行扫描第一行时,送汉字的第二行数据,行扫描第二行时,送汉字的第三行数据就这样错开一行,再下一帧时再错开一行,直至错开16次一个完整的字就上移至上面了.总的说来就是一帧一帧的显示,每帧显示汉字的一个画面,重叠在一起就看见字在动了.

相信你是个新手,相信你用的是51的两排8位口实现的功能,那么楼上的解释你可能不太懂(说实话我也不是很懂.) 但是简单一点来说led点阵需要两排8位,一个负责行,一个负责列,比如0是选中的意思,那么行是01111111,列是1011111,那么第一行的第二列灯亮.原理说完,那么左移的话那就简单了,简单而言,行不变,列左移一位,比如上面的行保持01111111,列在下一次变成01111111,就使得第一行的第一列亮灯了.那么在左移的时候,行是不用变,原来是多少就多少;而列呢,每次使用左移符号”<<“左移一位,就达到了左移显示的效果了.

每屏显示时,列控制码左(右)移,就可实现点阵屏左(右)移动.以显示“ | ” 从右向左移为例,第1 屏,右边第1 列亮1ms后灭,第2 屏,第2 列亮.8 屏显示后,完成“| ”左移.

液晶显示屏是不停闪烁的,而且一次只能显示一个图案.显示屏上显示12345也是每次在一个位置上显示一个数字,不停的显示五次,由于计算速度快,及人眼暂留现象,使人感觉上显示的是12345.现在,你如果需要动画效果,需要从底层做起.一,写函数,完成指定位置显示指定字符.二,写延时函数,三,写延时显示字符函数,四,再写main中动画.

<p>我只弄过汇编的.就一层循环,控制行,对于每一行,按照 显示延时全灭,然后处理下一行</p> <p></p> <p>具体结果就像这样.一边的端口按照1, 2, 4, 8, 16, 32, 64, 128, 1, 2, 4, 8, ……输出下去</p> <p>另一边配合着输出每一行的信号,即可</p> <p>记得更改行之前要把输出清零,不然整个led点阵一下子全亮起来了的样子</p>

C语言中,汉字是储存在汉字库里的.每个汉字在字库中以点阵字模形式存储,一般采用16*16点阵形式,每个点用一个二进位表示,存1的点,当显示时,可以在屏上显示一个亮点,存0的点,则在屏上不显示,这样把存某字的16*16点阵信息

不知什么 字,上一个6 个字的.;16X16LED点阵流动显示;逐列、逆向(低位开始)扫描 ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV DPTR,#TAB ;字码表初址赋值 MOV R1,#00H ;列控制码 MOV R4,#96 ;移动" "及"机电工程系"

网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com