电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 显示/光电技术 > 详细信息
显示/光电技术:基于AVR单片机的LED显示屏的灰度设计与实现
来源:   时间: 2007-11-9 1:53:52    
   LED点阵块具有亮度高、发光均匀、可靠性好、拼装方便等优点,能构成各种尺寸的显示屏。目前,LED显示屏已被广泛理工应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式单片机的LED显示屏解决方案,该设计方案利用AVR单片机自身的FLASHROM和RAM,外部无需任何存储电路,电路结构简单。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。

    1 AVR单片机简介

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

    TWI接口等,I/O口功能强、驱动能力强。

    2 系统整体设计方案

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

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

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

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

3 系统硬件设计

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

    3.1主机板电路

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

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

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

    3.2子模块显示驱动电路

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

  由于采用单片机的异步串行口进行多机通信进行数据传输,每个子模块应该有和其位置相对应的地址标识。地址标识电路采用8位并进串出芯片74HCl65和8位拨码开关组成,因此本系统最多可以容纳255个子模块(地址OxFF作为更新子模块显示的控制字)。如果简单地通过软件内部的设定来决定各个子模块的地址,每个AT-mega

  8所对应的程序会有差别,这样会给程序的烧写带来不便,因此采用外部硬件电路对子模块的地址进行标识。采用74HC165作串并行转换是为了节省单片机的引脚资源。

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

    4 系统软件设计

  系统软件设计包括上位机软件的设计、主机板AT-mega32程序设计、显示子模块ATmega8程序设计3部分。

  上位机软件完成图像和文字的编辑,通过计算机串行接口把显示数据传送到主机板上。主机板接收上位机的数据并通过内部BootLoader区的程序进行FLASHROM内显示数据的自更新。主机板把显示数据进行分割处理后发送给每个子模块,并且完成显示数据的上下、左右滚屏处理。子模块通过软件调制脉冲占空比的方法,实现16阶灰度图像显示。

    4.1上位机软件设计

  上位机软件使用VB开发,主要完成图像的取点、线 性补偿和点阵数据生成。

  首先将图像文件转换为96×64分辨率、256阶色深的单色灰度图像,由于使用占空比驱动的LED其占空比/亮度为对数特性,所以需加入指数特性调整为线性之后才能交付显示系统进行显示。其计算公式为Dout=15×(Din/255)n。n为比例系数,经实际显示校对后确定为1.35,同时通过该公式完成从256阶灰度到16阶灰度的转换。通过MSComm控件实现PC机与主机板的通信。

    4.2主机板ATmega32程序设计

  主机部分软件主要分为按键响应处理,显示数据分割和分割后的数据发送3部分。其中显示数据的分割占最主要的地位,同时显示内容的滚屏移动也包括在这部分中。按键响应使用外中断响应,配合定时器TO进行去抖处理后置位按键有效标志,在主程序中检查该按键有效标志并进行响应处理。    

    4.3显示子模块程序设计

  显示子模块的软件分为数据接收和动态刷新显示2部分。由于子模块要实现16阶灰度的表现,而且还需要实现足够高的刷新速率以避免产生闪烁现象,所以对刷新显示部分的速度要求较高。本设计采用的方案为:全屏(每个子模块为16行×16点/行)刷新分为16份时间片,每份时间片实现一行的扫描。而每行的时间片又分为15个子时间片,其中灰度为最暗的点点亮0个子时间片,灰度为最亮的点点亮15个时间片,由此实现占空比为0/15~15/15共16个级别的平均电流控制,从而实现16阶的灰度显示。通过:MEGA8片内定时器T2,每个子时间片取得52μs的扫描时间,15个子时间片构成一个单行扫描的时间片(52μs×15=780μs),16个单行扫描时间片又构成一次全屏的扫描(780μs×16=12.48ms),则刷新频率约为80Hz,在最高亮度下也可以保证不出现行闪的现象。

    5 结语

   本文提出的基于AVR单片机的LED显示屏已应用于现场,AVR单片机的看门狗功能使得系统稳定可靠。由于本设计是主从式的解决方案,具有可扩展性,并且采用ISP功能给电路板的调试和系统的维护带来了很大的方便。实践证明,本系统可以方便地显示各种字体的文字信息及16阶灰度的图像,画面清晰、性能稳定、操作简便,具有很好的应用价值。

相关信息
发表评论
打印本页 关闭本页
基于RS232及红外接口的多功能通讯实验板的设计
  1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS48...
>>详细内容
MAX232获得正负电源的另一种方法
  MAX232获得正负电源的另一种方法  在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如:+9V,-9V;+12V,-12V.这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源。  1.外接;2.DC-DC变换......在这里我介绍一块大家常用的芯片:MAX23...
>>详细内容
用ATmega8单片机设计串行编程器
  通常进行单片机实验和开发,编程器是必不可少的。仿真、调试完的程序要借助编程器写入单片机的存储器中,随着单片机技术的发展出现了MTP(可多次编程)存储器技术和ISP(在系统可编程)技术,这样就可以省去昂贵的仿真器,只要通过计算机接口和一条串行下载线就可直接在目标芯片上编程。ATmega8就是一种具有MTP与ISP功能的单片机,他也是AVR单片机中价格性能比最高的单片机,因此研究他的串行...
>>详细内容
集UART与RS232于一体的MAX3110E原理及应用
  摘要:MAX3110E是MAXIM公司推出的全功能收发器,它内部包括一个兼容SPITM/MICROWIRETM接口的UART以及内置电泵电容和土15kV ESD保护的双RS-232收发器。该芯片集成度高,使用灵活,性能优越。文中详细介绍了MAX31OOE的特点、原理及应用电路。 关键词:MAX3110E; UART; RS-232收发器; SPI串行接口 分类号:TN919.3 文献标识码:B 文章编号:1006-6977(2003)01-0027-05 1 概述MAX3110...
>>详细内容
CAN-RS232通信转换模块的设计与实现
  1 引言 RS232作为标准的计算机串行接口已被广泛使用,与此同时,随着现场总线技术的飞速发展,具有实时性好、可靠性高、结构简单等优点的CAN总线在测控系统中也越来越多地被采用,但由于两者的总线结构、通信协议及传输特点各不相同,因而给不同设备之间的连接带来诸多不便。因此,如何以最简单的方式实现CAN节点与RS232串行口的通信就成为工程实践中一个不可回避的问题。 本文采用典...
>>详细内容
ATmega8内部RC振荡器漂移测试
  选择ATmega8-16PI,内部1M RC,程序为I/O取反操作,Agilent infiniium 54833A DSO 1GHz 4GSa/S数字示波器测量,LM2825-5供电。 27℃ Mean:141.313 Min:141.2439 Max:141.4173 Current:141.0/141.2 35℃ Mean:141.245 Min:141.0358 Max:141.4173 Current:140.9/141.0 40℃ Mean:141.18 ...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com