16×16LED点阵汉字分批显示器的Proteus软件仿真

16×16LED点阵汉字分批显示器的Proteus软件仿真,第1张

  O引言

  perseo">Proteus是目前最先进、最完整的多种型号微处理器系统的仿真设计平台,由ISIS和ARES两个构成,其中ISIS是一款智能电路原理图输入系统软件,可作为电子系统仿真平台,ARES是一款高级布线编辑软件,用于制作PCB印制电路板。开发者可以在无硬件条件下直接使用Pro-teus进行电路设计和仿真调试,真正实现了在计算机中完成电路原理图设计、电路分析与仿真、系统测试到形成印制电路板的完整电子设计、研发过程。

因此,本课题利用AT89C5l单片机作为主控制器,采用Proteus软件实现对16×16LED点阵汉字的分批显示.仿真运行通过后再进行点阵显示电路制作,大大缩减实际开发周期,节约了开发成本。

  1硬件电路设计

  在很多LED显示的场合,需要实现一系列LED点阵汉字的分批显示,为简化设计,每批只显示2个汉字,分若干次完成全部显示。利用ProteusISIS平台画出的硬件电路如图l所示。

  

16×16LED点阵汉字分批显示器的Proteus软件仿真,第2张

  该硬件电路的核心是利用单片机读取显示字型码,通过驱动电路对16×16共阴极LED点阵进行动态列扫描,以实现点阵汉字的分批显示。设计选用的单片机为Atrnel公司的AT89C51,它是一种低功耗,高性能CMOS8位单片机,片内含4KB可反复擦写的FLASHROM,采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及8051引脚结构,内置看门狗电路。功能强大的AT89C5l可为许多嵌入式控制应用系统提供高性价比的解决方案。时钟电路用于产生单片机工作时所必需的时钟信号,其中晶振频率为12MHz。上电复位电路可保证单片机的在程序运行出错或 *** 作错误使系统处于死锁状态时,重启运行。

  显示单元是LED汉字显示屏,由2片16×16LED点阵模块组成。但由于Proteus软件目前版本中还没有16×16点阵模块,设计中采用Pro-teus软件中的4个8×8点阵模块组合成1个16×16点阵模块。点阵汉字的阳极驱动是由单片机的PO口和P2口各自经过一片输出缓冲器74LS273向4个8×8LED点阵输出字型码作为行驱动信号;点阵的阴极驱动由P1.0~P1.3经过4-16线译码器74HCl54译码后输出列选信号,对4个8×8点阵进行列扫描,从而控制LED点阵的相应像素点亮。2个LED点阵汉字中的列选信号则分别由P3.O和P3.1控制来选择相应的74HCl54,因此需要两片74HCl54译码器。RP1为排阻,含有8个电阻,作为PO口各位的上拉电阻,以保证PO口能够输出高电平。

  2点阵汉字分批显示原理与软件设计

  16×16共阴极LED点阵由4个8×8点阵构成,需要显示汉字字符串“单片机仿真!”,可通过建立数据表格的形式进行。通过16×16点阵汉字字模提取软件,可提取各显示汉字的字模数据,详见程序设计中的显示字符代码表1。

  在进行汉字分批输出显示时采用动态扫描驱动方式,可按行或列进行扫描。当按“列”扫描时,需要建立列的扫描代码表如下:

  

16×16LED点阵汉字分批显示器的Proteus软件仿真,第3张

  现以列扫描为例,阐述16×16LED点阵汉字分批显示原理。在初始化设置(关显示)后,首先,P1送出第1列扫描代码,同时使P3=0xFD选中U2的74HCl54和U4,对P0输出段码给左边汉字上半部的第1列以驱动相应段点亮;接着,使P3=OxFA选中U2的74HCl54和U5,对P2输出段码值给左边汉字下半部的第1列以驱动相应段点亮,即送出了第一个汉字“单”的第1列的字模数据(16位段码值);再设置P3=0xF5选中U3的74HC-l54和U4,对P0输出段码给右边汉字的上半部的第1列以驱动相应段点亮。接着,使P3=OxF9亦选中U3的74HCl54和U5,对P2输出段码值给由边汉字下半部的第1列以驱动相应段点亮,即送出了第2个汉字“片”的第1列的字模数据(16位段码值)。然后,给P1送第2列的扫描代码,同理再送出第1个汉字“单”、第2个汉字“片”的各自第2列的字模数据,…如此进行,经过16次列扫描,分时送完两个汉字的各自16个段码值,就可显示第1批汉字“单”、“片”;再进行第2批汉字“机”、“仿”的显示;…,直到汉字字符串显示完成。若字符显示完毕,又从头开始循环显示。LED点阵汉字分批显示的程序流程如2所示。在某一时刻,只有1行或1列发光二极管被对应的字模数据驱动点亮,但只要扫描间隔时间合适(一般为数毫秒),利用人眼的视觉暂留特性,看上去整批字符就显示在LED点阵显示器上。

  

16×16LED点阵汉字分批显示器的Proteus软件仿真,第4张

  主要的C语言源程序如下:

  

16×16LED点阵汉字分批显示器的Proteus软件仿真,第5张

  3程序调试与仿真

  (1)生成目标代码文件。利用Proteus平台在进行仿真时,需要加载程序到单片机中,加载的程序为目标代码文件.HEX。方法是:利用单片机软件仿真系统KeilUVsion3,在新建项目中选择AT89C51单片机作为CPU,同时将创建C语言源程序文件并将其加载到新建项目中。在“P-roject”下拉菜单中,选择“OpTIonsforTarget”对话框,在对话框中选中“Output”选项卡中的“CreateHEXFile”选项。在“Proje-ct”下拉菜单中选择“RebuiIdallTargetFiles”选项,编译成功后将生成.HEX目标代码文件。

  (2)调试与仿真:在ProteusISIS平台中,按图1画出硬件电路,单击鼠标右键将AT89C51单片机选中并单击鼠标左键,d出“EditComp-onent”对话框,在其中的“ClockFreqlaency”栏中设置单片机晶振频率为12MHz,在“ProgramFile”栏选择生成的.HEX文件。保存设计,生成.DSN文件。在“Debug”菜单中选择“Execute”,可得到仿真运行效果。仿真调试成功后,可看见“单片机仿真!”点阵汉字的分批显示。显示次序为“单片-机仿-真!”,其中“机仿”如图3所示。通过Keil与Proteus的联合调试取得了良好的效果。

  

16×16LED点阵汉字分批显示器的Proteus软件仿真,第6张

  4结语

  在嵌入式系统仿真平台Proteus的基础上,实现对16×16LED点阵汉字分批显示的仿真设计,实现了“单片机仿真!”六个汉字的分批显示,达到了良好的设计效果。该仿真电路接近于实际电路,再使用ProteusARES软件在仿真原理图的基础上直接绘制PCB电路板,即可以制作出实际的点阵式LED分批汉字显示屏。该显示屏电路结构简洁,可靠性高,成本低且易于实现,软件通过适当修改即可实现其他显示功能如滚动显示等,显示灵活,适用领域广泛。通过Proteus的前期仿真为LED显示屏系统的设计开发大大缩短了开发周期,降低了开发成本,同时也为单片机应用系统、电子电路的开发设计等提供了一种崭新的设计方法和有效手段。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2479388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存