logo资料库

点阵式LED滚动汉字显示屏的Proteus仿真设计.doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
点阵式LED滚动汉字显示屏的Proteus仿真设计
点阵式 LED 滚动汉字显示屏的 Proteus 仿真设计 作者: 时间:2008-08-29 来源:微计算机信息 浏览评论 关键词: 摘要:利用嵌入式系统软硬件设计仿真平台 Proteus 对点阵式 LED 滚动汉字显示 屏进行仿真设计,完成了系统的硬件电路设计和软件编程,并进行了仿真调试,实现了 汉字在点阵式 LED 显示屏上的滚动显示,达到了仿真设计的目的。 关键词:仿真;Proteus;显示;点阵 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 滚动汉字显示屏的设计仿真,为单片机设计开发提供 了一种新的方法和 手段。
分享到:
收藏