新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机的LED显示屏应用设计

基于AVR单片机的LED显示屏应用设计

作者:时间:2012-04-15来源:网络收藏

点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的。目前,已被广泛于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式解决方案,该方案利用自身的FLASH ROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。

本文引用地址:http://www.eepw.com.cn/article/171618.htm

1 简介

  单片机是增强型内置FLASH的RISC(ReducedInstruction Set CPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令。支持在系统编程ISP,其中MEGA系列还支持在编程IAP。内置的FLASH程序存储器可擦写1 000次以上,给用户的开发生产和维护带来方便。可擦写10万次的E2PROM,为掉电后数据的保存带来方便。AVR单片机有丰富的片内资源,如RTC,WATCHDOG,AD转换器,PWM,USART,SPI,TWI接口等,I/O口功能强、驱动能力强。

2 系统整体方案

  LED显示系统主要由3部分构成:PC上位机图像文字转换与数据发送单元、主控单元以及显示子模块。


  上位机完成把图像和文字转换成为显示屏的显示码,并且把显示信息发送到主控单元上。主控单元选用具有32 kB片内FLASH ROM和2 kB片内RAM的AT-mega32单片机,没有外挂存储器。如果要存储更多的显示信息,可以选用具有64 kB片内FLASH ROM的AT-mega64或者具有128 kB片内FLASH ROM的AT-megal28,也可以外挂存储器来增大存储能力。主控单元主要完成对显示数据的滚动和分割处理,然后通过异步串行口发送到每个子模块中。每个显示子模块用4片8×8单色点阵块拼成1个16×16的点阵屏,用一片ATmega8完成扫描动态显示。

  主控单元与显示子模块的数据通信采用标准的异步串口格式,每帧数据包括1个起始位,8个数据位,1个地址/数据标示位,1个停止位共11位。数据传输码率为625 kb/s,字节传输速率为56.8 kB/s。每个子模块由256个LED构成,实现16阶灰度每个LED需要4 b空间,因此每个显示子模块全屏数据量为128 B,外加1 B的寻址字节共129 B。主控单元更新显示子模块的显示内容时,对所有子模块按地址逐个发送显示数据,更新完所有子模块数据后,再发送一个特殊的地址字0xFF作为控制字,使所有子模块同时更新显示数据,这样可以避免当屏幕较大,显示子模块数量较多时各子模块画面更新不同步的问题。对本中完成的6×4个显示子模块而言,由于通讯速率限制,画面更新速度最高可达56 800/(129×24+1)=18.34帧/s,由于主控单元还要完成全屏数据的分割和显示内容的移动控制,所以其实际帧数低于上述值,不过用于普通的图片显示已经可以达到要求。

  现场中,可以不需要PC上位机,只需把要显示的信息存储在主控单元,即可通过主控单元中的按键来选择显示的内容及方式,可循环显示,文字信息还可以上下左右滚屏显示。

3 系统硬件设计

  该系统由两部分硬件电路组成:主机板电路和子模块显示驱动电路。

  3.1 主机板电路

  主机板电路十分简洁,由ATmega32组成的最小系统和RS 232,RS 485接口电路组成。

  主机板上的数据由异步串行口发送到各个子模块中,为了在提高传输速度和距离的情况下仍能够保证数据传输的可靠性,主机板上发出的信息转换成为RS 485信号,采用带屏蔽层的同轴电缆传输到LED子模块上。转换所用接口芯片为MAX485,该芯片工作于5 V电压下,最高传输速度可达到2.5 Mb/s,传输距离可达l 200 m。采用带屏蔽层的同轴电缆可以降低传输过程中产生的信号干扰。

  在需要从PC上位机下载数据到FLASH ROM时,通过MAX232芯片实现ATmega32和PC机的通信。

  3.2 子模块显示驱动电路

  子模块显示驱动电路由RS 485转换电路、子模块地址标识电路和点阵驱动电路组成。RS 485转换电路和主机板中一样,同样采用MAX485作电平转换。

  由于采用单片机的异步串行口进行多机通信进行数据传输,每个子模块应该有和其位置相对应的地址标识。地址标识电路采用8位并进串出芯片74HCl65和8位拨码开关组成,因此本系统最多可以容纳255个子模块(地址OxFF作为更新子模块显示的控制字)。如果简单地通过软件内部的设定来决定各个子模块的地址,每个AT-mega8所对应的程序会有差别,这样会给程序的烧写带来不便,因此采用外部硬件电路对子模块的地址进行标识。采用74HC165作串并行转换是为了节省单片机的引脚资源。

LED点阵采用动态扫描法进行驱动,并且实现16阶灰度显示,为了节省单片机程序中扫描程序的时间消耗,提高扫描速度,显示数据采用并行输出的方法。驱动电路采用4-16译码器74HC154译码后驱动16个中功率三极管8550作为行选,2个8位数据锁存器74LS373作为行数据锁存。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭