基于AVR单片机的LED显示屏的灰度设计与实现_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于avr单片机的led显示屏的灰度设计与实现点阵块具有亮度高、发光匀称、牢靠性好、拼装便利等优点,能构成各种尺寸的显示屏。目前,led显示屏已被广泛应用于文字显示并取得了很好的效果,但是大部分仅能显示滚动的文字信息而不能显示图像,并且还存在系统复杂等缺点。本文提出了一种主从式的led显示屏解决计划,该设计计划利用单片机自身的flash rom和ram,外部无需任何存储,电路结构容易。该系统实现了图像的16阶灰度显示,可广泛用于商场、车站等公共场合。1 avr单片机简介avr单片机是增加型内置flash的risc(reducedinstruction set cpu)精简命令集高速8位单片机,

2、硬件采纳哈佛(harward)结构,达到一个时钟周期可以执行一条命令,绝大部分命令都为单周期命令。支持在系统编程isp,其中mega系列还支持在应用编程iap。内置的flash程序存储器可擦写1 000次以上,给用户的开发生产和维护带来便利。可擦写10万次的e2prom,为掉电后数据的保存带来便利。avr单片机有丰盛的片内资源,如rtc,watchdog,ad转换器,usart,spi,twi接口等,io口功能强、驱动能力强。2 系统整体设计计划led显示系统主要由3部分构成:pc上位机图像文字转换与数据发送单元、主控单元以及显示子模块。上位机完成把图像和文字转换成为显示屏的显示码,并且把显示

3、信息发送到主控单元上。主控单元选用具有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个起始

4、位,8个数据位,1个地址数据标示位,1个停止位共11位。数据传输码率为625 kbs,字节传输速率为56.8 kbs。每个子模块由256个led构成,实现16阶灰度每个led需要4 b空间,因此每个显示子模块全屏数据量为128 b,外加1 b的寻址字节共129 b。主控单元更新显示子模块的显示内容时,对全部子模块按地址逐个发送显示数据,更新完全部子模块数据后,再发送一个特别的地址字0xff作为控制字,使全部子模块同时更新显示数据,这样可以避开当屏幕较大,显示子模块数量较多时各子模块画面更新不同步的问题。对本设计中完成的6×4个显示子模块而言,因为通讯速率限制,画面更新速度最高可达56

5、 800(129×24+1)=18.34帧s,因为主控单元还要完成全屏数据的分割和显示内容的移动控制,所以其实际帧数低于上述值,不过用于一般的显示已经可以达到要求。现场应用中,可以不需要pc上位机,只需把要显示的信息存储在主控单元,即可通过主控单元中的按键来挑选显示的内容及方式,可循环显示,文字信息还可以上下左右滚屏显示。3 系统硬件设计该系统由两部分硬件电路组成:主机板电路和子模块显示驱动电路。3.1 主机板电路主机板电路非常简洁,由atmega32组成的最小系统和rs 232,rs 485接口电路组成。主机板上的数据由异步串行口发送到各个子模块中,为了在提高传输速度和距离的状况下

6、仍能够保证数据传输的牢靠性,主机板上发出的信息转换成为rs 485信号,采纳带屏蔽层的同轴电缆传输到led子模块上。转换所用接口芯片为max485,该芯片工作于5 v下,最高传输速度可达到2.5 mbs,传输距离可达l 200 m。采纳带屏蔽层的同轴电缆可以降低传输过程中产生的信号干扰。在需要从pc上位机下载数据到flash rom时,通过max232芯片实现atmega32和pc机的通信。3.2 子模块显示驱动电路子模块显示驱动电路由rs 485转换电路、子模块地址标识电路和点阵驱动电路组成。rs 485转换电路和主机板中一样,同样采纳max485作电平转换。因为采纳单片机的异步串行口举行多

7、机通信举行数据传输,每个子模块应当有和其位置相对应的地址标识。地址标识电路采纳8位并进串出芯片74hcl65和8位拨码开关组成,因此本系统最多可以容纳255个子模块(地址oxff作为更新子模块显示的控制字)。假如容易地通过软件内部的设定来打算各个子模块的地址,每个at-mega8所对应的程序会有差别,这样会给程序的烧写带来不便,因此采纳外部硬件电路对子模块的地址举行标识。采纳74hc165作串并行转换是为了节约单片机的引脚资源。led点阵采纳动态扫描法举行驱动,并且实现16阶灰度显示,为了节约单片机程序中扫描程序的时光消耗,提高扫描速度,显示数据采纳并行输出的办法。驱动电路采纳4-16译码器7

8、4hc154译码后驱动16个中功率8550作为行选,2个8位数据锁存器74ls373作为行数据锁存。4 系统软件设计系统软件设计包括上位机软件的设计、主机板at-mega32程序设计、显示子模块atmega8程序设计3部分。上位机软件完成图像和文字的编辑,通过计算机串行接口把显示数据传送到主机板上。主机板接收上位机的数据并通过内部boot loader区的程序举行flash rom内显示数据的自更新。主机板把显示数据举行分割处理后发送给每个子模块,并且完成显示数据的上下、左右滚屏处理。子模块通过软件调制脉冲占空比的办法,实现16阶灰度图像显示。4.1 上位机软件设计上位机软件用法vb开发,主要

9、完成图像的取点、线性补偿和点阵数据生成。首先将图像文件转换为96×64辨别率、256阶色深的单色灰度图像,因为用法占空比驱动的led其占空比亮度为对数特性,所以需加入指数特性调节为线性之后才干交付显示系统举行显示。其计算公式为dout=15×(din255)n。n为比例系数,经实际显示校对后确定为1.35,同时通过该公式完成从256阶灰度到16阶灰度的转换。通过mscomm控件实现pc机与主机板的通信。4.2 主机板atmega32程序设计主机部分软件主要分为按键响应处理,显示数据分割和分割后的数据发送3部分。其中显示数据的分割占最主要的地位,同时显示内容的滚屏移动也包括在

10、这部分中。按键响应用法外中断响应,协作定时器to举行去抖处理后置位按键有效标记,在主程序中检查该按键有效标记并举行响应处理。4.3 显示子模块程序设计显示子模块的软件分为数据接收和动态刷新显示2部分。因为子模块要实现16阶灰度的表现,而且还需要实现足够高的刷新速率以避开产生闪耀现象,所以对刷新显示部分的速度要求较高。本设计采纳的计划为:全屏(每个子模块为16行×16点行)刷新分为16份时光片,每份时光片实现一行的扫描。而每行的时光片又分为15个子时光片,其中灰度为最暗的点点亮0个子时光片,灰度为最亮的点点亮15个时光片,由此实现占空比为0151515共16个级别的平均控制,从而实现16阶的灰度显示。通过:mega8片内定时器t2,每个子时光片取得52s的扫描时光,15个子时光片构成一个单行扫描的时光片(52 s×15=780s),16个单行扫描时光片又构成一次全屏的扫描(780 s×16=12.48 ms),则刷新频率约为80 hz,在最高亮度下也可以保证不浮现行闪的现象。5 结 语本文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论