×
嵌入式 > 技术百科 > 详情

Proteus的LED滚屏设计与仿真

发布时间:2020-06-20 发布时间:
|

Proteus的LED滚屏设计与仿真

本文以40×16的小屏幕为例来介绍滚动屏幕的制作方法。该设计基于英国Labcenter Electronics公司开发的仿真软件Proteus,在产品开发的初期,使用这个软件无疑是一种提高效率和降低成本的好办法。

LED电子屏在日常生活中随处可见,尺寸有大有小,屏幕显示的内容有静态的和动态的,动态的大多采用滚动和闪烁等方式。无论是显示数字的小屏幕还是显示文字或图像的几平方米的大屏幕,其显示原理都是类似的。

    1 硬件电路设计

    1.1 点阵式LED

    本文设计的LED滚动屏幕由8×8点阵式LED模块组成,因此40×16(16行40列)的屏幕共需要10片8×8的LED模块。其组成形式如图1所示。图中8×8点阵式LED由8行8列共64个发光二极管组成,且每个发光二极管放置在行线和列线的交叉点上.当对应的某一列置1电平,某一行置0电平时,其相应交叉点的二极管发光。


    1.2  仿真软件Proteus

    Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,它可仿真各种电路和IC,并支持单片机,且元件库齐全,使用方便,是不可多得的专业单片机软件仿真系统。目前Proteus软件可支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

    1.3  电路设计

    图2是LED滚动屏幕的电路原理图。该屏幕由10片8×8LED模块组成,分两排,每排5片。由于8×8LED模块只能显示数字,不能显示汉字,且显示一个汉字至少需要16×16点阵,所以,本设计采用4片8×8LED模块,可以同时显示2.5个汉字,图1中屏幕显示的是“动屏”两个字和“幕”字的左半边。滚动屏幕的显示由AT89C51来控制,屏幕不停地向左滚动显示“滚动屏幕设计”六个字。由于该屏幕有16行40列,其行和列引脚信号均由AT89C51控制,但AT89C51只有32个I/O口,所以,设计中使用了5片74LS138译码器来提供列控制信号,而行方向的16条引脚则接在AT89C51的P0口和P2口。74LS138的地址输入端和片选输入端由AT89C51的P1口控制。



    2 软件设计

    本文设计的LED滚动屏幕是通过AT89C51来进行控制的,而可实现向左滚动显示“滚动屏幕设计”六个文字的显示,其程序使用汇编语言来编写完成,流程图如图3所示。设计时先由控制器的P0口和P2口送1~16行扫描码,由P1口来控制译码器送列控制码。在显示完第l列后,列控制码加1,再显示第2列,直到40列显示完,即显示完一屏。然后重新显示1~40列,反复显示10次,这样可使文字显示的时间更久些。当显示完第1屏,取码指针就加2(每一列是16位,两个字节),接着显示第2屏,即第2屏的第1列是第1屏的第2列,第3屏的第1列是第1屏的第3列,如此循环就出现了屏幕滚动显示的效果。直到6个文字全部显示完毕,再循环显示。



    3 仿真设计

    本设计在Proteus ISIS中命名为40X16,汇编语言程序命名为40X16.asm,点击菜单Source的下拉菜单第一条Add/Remove Source Files,在弹出的对话框中点击New,选择40X16.asm。然后在CodeGereration tool一栏的下拉框中选择ASM51,点击OK。这样,菜单Source的下拉菜单中就多了个40X16.asm。点击菜单Source的下拉菜单BuildAll,如果编译成功,会弹出BUILD LOG提示没有错误,如果程序中有错误,则编译失败,BUILDLOG也会对错误进行提示。编译完成后生成40X16.hex文件,在原理图中右键点击AT89C51,再点击左键,会弹出Edit Component对话框中,如图4所示,对其设置完后再点击OK,就可以进行仿真了。


    4结束语

    本文利用Proteus ISIS完成了40×16点阵式LED滚动屏幕的设计,屏幕左向滚动显示“滚动屏幕设计”六个字,仿真效果良好。本设计电路原理简单易行,程序简洁高效,因此对于大屏幕的制作有很好的参考价值。

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
起重变频调速系统中制动电阻功率的计算