基于单片机的点阵式LED滚动汉字显示屏仿真设计

发布者:BlissfulCharm最新更新时间:2013-01-18 来源: 21ic 关键字:单片机  点阵式LED  滚动汉字显示屏 手机看文章 扫描二维码
随时随地手机看文章
  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 LED显示屏硬件电路设计框图

图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.LED显示屏硬件电路原理图

图2.硬件电路原理图

   3. 软件设计

  AT89C51单片机是8位机,每次只能送出8位数据,因此要向16×16点阵送出16行阳极驱动,需要送两次,或先送上8行,或先送下8行,为了能够实现每一列字型码的完整显示,采用74LS273进行锁存,否则会出现字型残缺现象。根据设计要求并结合图2的硬件连接进行程序设计,程序设计流程图如图3所示。[page]

  利用单片机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}。

图3. LED显示屏程序流程图


(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();

  } }[page]

    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. LED显示屏仿真结果

    图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滚动汉字显示屏仿真设计

上一篇:基于单片机的LED显示屏控制系统设计
下一篇:模拟串口硬件机制写的程序

推荐阅读最新更新时间:2024-03-16 13:16

杂谈单片机低功耗设计
目前,有许多单片机应用领域,都是用电池供电,节能成为设计工程师普遍关心的问题。 进入掉电模式现在有很多的低功耗的片子,特别是在进入掉电模式之后,只有1uA的电流。也可以使用电源管理的方法,在不工作的时候,把系统电源关断,这样更省电。51芯片,本来对它的功耗非常不满,但是因为其价格越来越便宜,本身的性价比依旧很好,所以总也甩不掉。 1、休眠。一般的系统都不会到了忙不过来的地步,适当的休眠还是可以节省一些功耗的,在一些简单的系统,多抽时间休眠成了省电的关键,你看别的芯片都不耗电,只有单片机了,它就是关键了,在有些时候,提高主频反而会获取更多的休眠时间,反而使系统功耗更小了。但是值得注意的是,经常性的切换休眠和工作
[单片机]
基于C8051F005微控制器的智能钢丝绳无损检测装置的设计
  钢丝绳在使用过程中容易出现断丝、,磨损、锈蚀、局部形状异常、绳径缩细等缺陷,导致钢丝绳强度下降甚至失效,易引发事故。为实现钢丝绳检测装置的小型化和智能化,针对人眼检测钢丝绳的缺陷,本文设计了以C8051F005微控制器为核心,辅助单片机外围接口器件的便携式智能钢丝绳无损检测装置。该检测装置操作简单、功能全面,既可对钢丝绳进行在线检测,并将数据采集的过程与结果通过液晶显示器显示,又可通过USB接口将采集到的数据传输到PC机进行处理。   1.C8051F系列单片机简介   SILIConLabs公司的C8051F系列单片机为完全集成的混合信号系统级芯片(SOC),即在一个芯片内集成了构成一个单片机数据采集或控制系统所需要的几
[单片机]
基于C8051F005<font color='red'>微控制器</font>的智能钢丝绳无损检测装置的设计
基于单片机的电池安全检测系统设计
引言   电子科技迅猛发展,作为电池研发和生产阶段不可或缺的环节,传统的性能测控人工依赖性高,检测效率低,网络、智能与自动化亦不能满足现实的需求。   本文所提出的已经实现并应用的解决方案能够多路同步全程实时监控电池的测试状态,先完成测试前PC端的监测配置,通过RS485接口和CAN总线实时返回继电器在线连接状态,再根据需求控制与测试项目类型相应继电器的开启。监测开始后,电池电压、电流及温度等信息实时传输到控制室的PC上,可以通过灵活在线编辑的数据曲线反映测试量的变化趋势,同时也可由记录的历史数据查看关键点的情况。    系统功能需求分析   根据现实需求,系统总体需要实现的功能有:   (1) 信号采集与控制线路完好
[工业控制]
基于<font color='red'>单片机</font>的电池安全检测系统设计
单片机中的高阻态
在我们刚一开始接触到51单片机的时候对P0口必须加上上拉电阻,否则P0就是高阻态。 对这个问题可能感到疑惑,为什么是高阻态?加上拉电阻?今天针对这一概念进行简单讲解。 高阻态 高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平。 如果高阻态再输入下一级电路的话,对下级电路无任何影响,关注发烧友公众号回复资料和地址可以获取电子资料一份。和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。 高阻态的实质 电路分析时高阻态可做开路理解,你可以把它看作输出(输入)电阻非常大。 它的极限可以认为悬空,也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上
[单片机]
<font color='red'>单片机</font>中的高阻态
浅析单片机、ARM、FPGA 、嵌入式的特点
单片机的特点: (1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)内RAM:256KB以内。(3)可靠性高(4)易扩展(5)控制功能强(6)易于开发 ARM的特点: (1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。 (2) 高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。 (3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。 (4
[单片机]
浅析<font color='red'>单片机</font>、ARM、FPGA 、嵌入式的特点
基于光电传感器的能自主识别道路的智能车
  引言   本文主要设计的是一辆自主识别道路的智能车。整个系统采用了16位单片机mc9s12dg128,模型车本身带有差速器和后轮驱动,需要设计完成基于单片机的自动控制系统使得模型车在封闭的跑道上自主循线运行。   车模与控制器构成一个自动控制系统,如图1,系统硬件以单片机为核心,配有传感器、执行机构以及它们的驱动电路,而信息处理与控制算法由单片机软件完成。系统设计要求单片机把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制精密的结合在一起。      智能车的设计是在保证模型车可靠运行的前提下,以电路设计简洁、车体灵活性高为原则。设计的两大重点,一是光电传感器的布局和电路设计,一是循线控制算法的设计。
[单片机]
基于光电传感器的能自主识别道路的智能车
单片机】调试稳定的三极管一键开关机电路(附详细讲解
先上一个低功耗的一键开关机电路,这个电路的特点在于关机时所有三极管全部截止几乎不耗电。 原理很简单: 利用Q10的输出与输入状态相反(非门)特性和电容的电流积累特性。刚上电时Q6和Q10的发射结均被10K电阻短路所以Q6和Q10均截止,此时实测电路耗电流仅为0.1uA,L_out输出高,H_out输出低。此时C3通过R22缓慢充电最终等于VCC电压,当按下S3后C3通过R26给Q10基极放电,Q10迅速饱和,Q6也因此饱和,H_out变为高电平,当C3放电到Q10be结压降0.7V左右时C3不再放电,此时若按键弹开C3将进一步放电到Q10的饱和压降0.3V左右,当再次按下S3,Q10即截止。 这个电路可以完美解决
[单片机]
【<font color='red'>单片机</font>】调试稳定的三极管一键开关机电路(附详细讲解
硬件小百科:单片机串行口介绍
串行口是单片机与外界进行信息交换的工具。 ■ 8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收。 串行通信:数据一位一位次序发送或接收。 参看下图: 串行通信的方式包括异步通信和同步通信。 异步通信 它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下: 在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表示字符,则字符能一个接一个地传送。 在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式能由通信的双方自由
[单片机]
硬件小百科:<font color='red'>单片机</font>串行口介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved