16×16LED点阵汉字分批显示器的Proteus软件仿真
时间:2023-09-29 10:34来源: 作者: 点击: 次O引言
是目前最先进、最完整的多种型号微处理器系统的仿真设计平台,由ISIS和ARES两个构成,其中ISIS是一款智能电路原理图输入系统软件,可作为电子系统仿真平台,ARES是一款高级布线编辑软件,用于制作PCB印制电路板。开发者可以在无硬件条件下直接使用Pro-teus进行电路设计和仿真调试,真正实现了在计算机中完成电路原理图设计、电路分析与仿真、系统测试到形成印制电路板的完整电子设计、研发过程。
因此,本课题利用AT89C5l单片机作为主控制器,采用软件实现对×的分批显示.仿真运行通过后再进行点阵显示电路制作,大大缩减实际开发周期,节约了开发成本。
1硬件电路设计
在很多显示的场合,需要实现一系列的分批显示,为简化设计,每批只显示2个汉字,分若干次完成全部显示。利用ISIS平台画出的硬件电路如图l所示。
该硬件电路的核心是利用单片机读取显示字型码,通过驱动电路对×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点阵汉字分批显示原理。在初始化设置(关显示)后,首先,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点阵显示器上。