led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示

led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示

ID:11304157

大小:38.00 KB

页数:6页

时间:2018-07-11

led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示_第1页
led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示_第2页
led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示_第3页
led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示_第4页
led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示_第5页
资源描述:

《led点阵显示仿真----由浅入深之8x8,16x16,24x24led点阵流动显示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一直以来,对LED点阵显示很感兴趣,特别是流动点阵显示。论坛里有不少例子,效果都不是很满意。于是,自己动手。先试作了8X8点阵。8X8的点太少,只适合数字显示,从0~9流动,效果还不错。有了8X8的经验,对流动显示的原理已经了解,又试了16X16的,觉得也不难。但16X16的点仍嫌少了,又做了个24X24的,汉字漂亮。动画可能效果差些,软件运行显示效果好多了。8X8初学点阵仿真,常点不亮LED。首先,可能是点阵的极性没有正确的接线。下面的简单方法可判断点阵的逻辑引脚。运行proteus,在编辑区里放上一个8X8LED,如MATRIX-8x8-GREEN。在某些引脚上接

2、上电源和地,试试能不能点亮。8X8默认是上下引脚,按习惯接法,上面接电源,下面接地,不亮(图左)。用左下角垂直翻转工具,垂直翻转,再接上电源和地,就可以点亮了(下图)。如果是做左移显示,可再左旋90°。如图:这里可看到,左边引脚是行控制,右边引脚是列控制。然后就可以画线路图了,点阵就保持上面那个方向。由于点阵引线较多,特别是以后做24X24点阵,所以布线方式不用连线,而用终端加上网络标号,这样可以使画面简洁明了。连续标号的快捷画法,我以前有帖子介绍过。这里还是再啰嗦一下。proteus有一个很好用的PAT(PropertyAssignmentTool),即属性分配工具

3、。可以用来做快捷标注,当然还可以用作其它操作。再连上其它接线,一个线路图很快就可以作好。下面,就可以写程序的源文件了。点击菜单Source,下拉菜单第一条Add/RemoveSourceFiles,按键New,在跳出的对话框里写上新文件名,如8X8.asm,打开。提示这个文件不存在,要创建吗?是。然后点CodeGererationtool小箭头,选ASM51,点OK。然后,菜单Source,看到多了个8X8.asm,点击,出现proteus自带的汇编编辑器,就可以在里面写代码了。如下:;8X8LED点阵流动显示;逐列、逆向(低位开始)扫描ORG0000HAJMPM

4、AINORG0030HMAIN:MOVDPTR,#TAB;字码表初址赋值MOVR1,#0FEH;列控制码MOVR3,#8;列数MOVR4,#88;移动“”及“0~9”11个字符,共88列CM:MOVR5,#10;每屏反复显示10次MOVR3,#8;列数C1:MOVR2,#0;取码指针C8:MOVP3,#0FFH;关显示MOVA,R2;MOVCA,@A+DPTR;取当前列的显示字码的一个字节MOVP0,A;送1~8行控制口INCR2MOVA,R1MOVP3,A;送列控制码ACALLD5MS;显示5MSRLA;列控制码左移,显示下一列MOVR1,ADJNZR3,C8;未显

5、示8列,继续DJNZR5,C1;未显示10次,继续INCDPL;一屏反复显示10次完,字码表初值加1DJNZR4,CM;88列未移动完,继续AJMPMAIN;88列显示完,返回,重新从“”开始显示D5MS:MOVR6,#10MOVR7,#248DJNZR7,$DJNZR6,$-4RETTAB:DB00H,00H,00H,00H,00H,00H,00H,00H;DB00H,00H,00H,7EH,81H,81H,81H,7EH;0DB00H,00H,00H,00H,00H,82H,0FFH,80H;1DB00h,00h,00h,0C6H,0A1H,91H,89H,0C6

6、H;2DB00H,00H,00H,42H,81H,81H,99H,66H;3DB00H,00H,00H,1FH,10H,0FFH,10H,10H;4DB00H,00H,00H,4FH,89H,89H,89H,79H;5DB00H,00H,00H,7EH,89H,89H,89H,72H;6DB00H,00H,00H,01H,01H,0F9H,05H,03H;7DB00H,00H,00H,76H,89H,89H,89H,76H;8DB00H,00H,00H,4EH,91H,91H,91H,7EH;9END程序的基本原理:P0口送1~8行扫描码,P3口送列控制码。显示完一列

7、,列控制码左移,显示第2列。一直到8列显示完,即显示了一屏。重新从1~8列,反复显示10次,以免字符一闪而过。接着显示下屏,下一屏的取字指针的地址加1,(INCDPL)即该屏第1列是上屏的第2列,也就是相当于左移一列。直到11个字符(包括“”字符)全部显示后,再从新开始。这样,就实现了移动显示。接着再继续说说,怎么将ASM文件转换成HEX文件。上面在编辑器里写好ASM文件后,菜单SourceDefineCodeGererationTools,按对话框填写,点OK。菜单SourceBuildAll,点击,编译完成。接着,左键再右键,在原理图内的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。