1.引言
点阵式LED组成的汉字显示屏在公共场所应用非常广泛。例如,车站发车时间提示、股票大厅中的股票价格显示板、商场的活动广告栏、候机厅的起飞时间表。点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化,达到广告宣传和提示的目的。
Proteus是一款新颖的嵌入式系统软硬件设计仿真平台,特别适用于单片机仿真,能够在线、实时仿真多种类型的单片机,诸如MCS-51系列单片机、PIC单片机、AVR单片机等,能够像硬件仿真器一样进行软硬件调试,而没必要花钱去购买和维护价格不菲的仿真器,对于初学单片机的人来说,既减少了学习成本,又达到了良好的学习效果。
2.硬件电路设计
点阵式LED滚动汉字显示屏硬件电路设计框图如图1所示。电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等。本设计的核心是利用单片机读取显示字型码,通过驱动电路对16×16 LED点阵进行动态列扫描,以实现汉字的滚动显示。本设计选用的单片机为ATMEL公司的AT89C52,显示屏采用16×16 LED点阵。电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。通过阳极驱动电路向16×16点阵送字型码,本设计采用74LS273。通过阴极驱动电路对16×16点阵进行列扫描,本设计采用74HC138。
图1 硬件电路设计框图
利用Proteus软件设计点阵式LED滚动汉字显示屏硬件电路原理图如图2所示。在Proteus软件中,单片机模型本身包含了工作电源和可改变的工作频率,因此在仿真时无需设计电源电路和时钟电路。需要说明的是在Proteus软件目前版本中还没有16×16点阵模块,本设计中采用Proteus软件中现有的8×8点阵模块组合成一个16×16点阵模块。从图2中可以看出,16×16点阵的阳极驱动由P0口经输出缓冲器74LS273构成,在本设计中需要用两片,分别送出上8行和下8行的字型码。16×16点阵的阴极驱动由P2口经74HC138译码后动态扫描16×16点阵的各列,本设计中需要四片74HC138译码器,循环扫描各列,显示一个完整的汉字需要扫描32次。RP3为排阻,含有8个电阻,作P0口各位的上拉电阻,以保证P0口能够输出高电平。复位电路的作用是,在任何时刻可以手动复位单片机,使程序重新执行。
图2.硬件电路原理图
3. 软件设计
AT89C51单片机是8位机,每次只能送出8位数据,因此要向16×16点阵送出16行阳极驱动,需要送两次,或先送上8行,或先送下8行,为了能够实现每一列字型码的完整显示,采用74LS273进行锁存,否则会出现字型残缺现象。根据设计要求并结合图2的硬件连接进行程序设计,程序设计流程图如图3所示。
利用单片机C语言实现“2008北京欢迎您!”10个字的滚动显示,阿拉伯数字和标点符号按16×8点阵编码,汉字按16×16点阵编码, “2008北京欢迎您!”字型码表如下:
{0x00,0x00,0x0C,0x1C,0x10,0x24,0x10,0x24,0x10,0x44,0x10,0x84,0x0F,0x0E,0x00,0x00},
{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},
{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},
{0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},
{0x00,0x00,0x0E,0x04,0x08,0x0C,0x08,0x0C,0x08,0x08,0x08,0x10,0xFF,0xFE,0x00,0x00},
{0x00,0x00,0x3F,0xFC,0x41,0x02,0x42,0x02,0x06,0x02,0x0E,0x06,0x0C,0x0C,0x00,0x00},
{0x00,0x00,0x20,0x04,0x20,0x08,0x27,0x98,0x24,0xB0,0x24,0x82,0xA4,0x81,0x64,0xFE},
{0x24,0x80,0x24,0x80,0x24,0xA0,0x27,0xB0,0x60,0x1C,0x20,0x08,0x00,0x00,0x00,0x00},
{0x28,0x04,0x24,0x08,0x22,0x32,0x21,0xC2,0x26,0xC2,0x38,0x34,0x04,0x04,0x18,0x08},
{0xF0,0x30,0x17,0xC0,0x10,0x60,0x10,0x18,0x14,0x0C,0x18,0x06,0x10,0x04,0x00,0x00},
{0x02,0x02,0x82,0x04,0x73,0xF8,0x20,0x04,0x00,0x02,0x3F,0xE2,0x20,0x42,0x40,0x82},
{0x40,0x02,0x3F,0xFA,0x20,0x02,0x20,0x42,0x20,0x22,0x3F,0xC2,0x00,0x02,0x00,0x00},
{0x01,0x00,0x02,0x04,0x0C,0x1C,0x3F,0xC0,0xC0,0x1C,0x09,0x02,0x16,0x02,0x60,0x92},
{0x20,0x4A,0x2F,0x82,0x20,0x02,0x24,0x0E,0x22,0x00,0x31,0x90,0x20,0x0C,0x00,0x00},
{0x00,0x00,0x00,0x08,0x1F,0xDC,0x3F,0x08,0x3C,0x00,0x30,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}。
(a)主程序流程图 (b)中断服务程序流程图
图3. 程序流程图
动态扫描显示程序代码如下:
while (1)
{for (i=0;i<8;i++) //显示左半边屏幕
{ P0=*(p+offset+2*i);
P2=i|0x90; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7
delay();
P0=*(p+offset+2*i+1);
P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6
delay(); }
for (i=8;i<16;i++) //显示右半边屏幕
{ P0=*(p+offset+2*i);
P2=(i-8)|0xC0; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9
delay();
P0=*(p+offset+2*i+1);
P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8
delay();
} }
4. 调试与仿真
Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用Keil μVision2, 在新建Keil项目时选择AT89C52单片机作为CPU,将C语言源程序导入,在“Options For Target”对话窗口中,选中“Output”选项中的“Create HEX File”,编译链接后就可以生成.HEX文件。在Proteus ISIS中,选中AT89C52并单击鼠标左键,对AT89C52进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.HEX文件。对单片机设置完毕后就可以开始仿真了。仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil μVision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。本设计的仿真结果如图4所示。
图4. 仿真结果
5.结论
利用Proteus实现了对点阵式LED滚动汉字显示屏的仿真,完成了“2008北京欢迎您!”10个字的滚动显示,达到了良好的设计效果。该仿真电路接近实际电路,可以直接由该电路利用相关软件设计印制电路板,加上电源电路和时钟电路,就可以制作出实际的点阵式LED滚动汉字显示屏。通过前期仿真缩短了开发周期,降低了开发成本,达到事半功倍之成效。
6.本文作者创新点
本文作者创新点在于:在深入研究嵌入式系统软硬件设计仿真平台Proteus的基础上,成功完成了对点阵式LED滚动汉字显示屏的设计仿真,为单片机设计开发提供了一种新的方法和 手段。
参考文献
[1].韩志军等.单片机应用系统设计[M].机械工业出版社,2004
[2].周润景等. Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2006
[3].马忠梅等.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2006
[4].刘树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息,2007,02:137-138。
上一篇:LED驱动电路简介
下一篇:一个专利LED照明驱动原理
推荐阅读最新更新时间:2023-10-18 15:11
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- 从隔离到三代半:一文看懂纳芯微的栅极驱动IC