基于AVR的LED数字大屏幕的设计与实现_第1页
基于AVR的LED数字大屏幕的设计与实现_第2页
基于AVR的LED数字大屏幕的设计与实现_第3页
基于AVR的LED数字大屏幕的设计与实现_第4页
基于AVR的LED数字大屏幕的设计与实现_第5页
全文预览已结束

下载本文档

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

文档简介

1、基于AVR的LED数字大屏幕的设计与实现1引言       LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,应用越来越广泛。ATMEGA16L单片机是一款基于AVR RISC 的、低功耗CMOS 8 位单片机,具有16K字节的自编程FLASH, 512字节的EEPROM, 1K字节的SRAM, 通过AVR单片机来控制LED的显示,结构简单,应用灵活,并且易于扩展。       2 系统设计原理     

2、0; 2.1 编码设计    编码设计有两个过程:字库提取以及字模编码转换。字库的提取涉及到的两个字库文件,一个为ASC16,专门存放ASCII编码;另一个为HZK16,专门 存放汉字字库编码。要提取字库,首先要对它进行初始化,即打开字库。然后根据一个字符提取它相应的编码。首先取出字符的内码后(注意区分单字节和双字节的 内码),接着通过内码得到该字符对应的字模的编码在ASCII或HZK16内的偏移量,最后就可以根据这个地址在文件中的偏移位置找到相应的字模编码,我们可以通过这个公式来计算:        在

3、ASCII中,偏移量=(内码的低地址)*16,       在HZK16中,偏移量= (内码的高地址-161)*94 + (内码的低地址-161)*32。       此时得到的字模编码不是最终所要的编码(单字节数据如英文是按8*16点阵来显示,而双字节数据时如汉字是按16*16点阵来显示的)。这里统一使用 8*16点阵,这就需要对其转换。下图左表格表示的是汉字编码在字库内存放顺序,右表格表示的是经过转换过后的编码存放顺序。编码转换过程如图1所示:  &#

4、160;                                                   

5、                                 图1 编码转换       2.2 矩阵转换移位算法  矩阵转换移位算法目的就是如何把这些原始的数据转换成串行的数据, 以便把数据正确的输入到7

6、4HC595。原始的数据必须要对其转换。下面为它的算法实现。for(m=0;m<8;m+)             /m表示的是第几个LED       for(j=0;j<8;j+)        /j表示的是某个LED的第几排数据         for(i=0;i<

7、8;i+)       /i表示的是取某个LED的第某排数据的第几位          displayport_amj|=(displaycode_aim&0x01)<< P>displaycode_aim=displaycode_aim>>1;              

8、;            / displayport_amj表示存放已转换好数据                   / displaycode_aim表示存放的是原始数据/|表示 相或,表示相与,<<表示左移        2.3 上位机和下位机

9、的通信       上位机和下位机的通信主要是通过RS232接口进行的,对于上位机的数据传输的速率为9600bps。为了便于数据的传输和接收,可以给要传输数据的前后加上标志位。如果数据发送量大,在发送数据时还可采用线程的方式来发送。而下位机接收数据则可采用单片机内全双工的通用异步收发器(UART)来进行。UART有中断和查询两种工作方式,UART初始化需要设置相关几个控制寄存器,我们可以把UART几个控制寄存器的初始化情况表示出来:     UCR = 0x00  

10、 设置波特率时要先关闭UART    UBRR = 0x33  设置波特率为9600bps    UCR = 0xD8   打开串口:8位数据  UART如何接收和发送数据通过数据寄存器UDR完成。UDR虽然只有一个地址,但是在物理上分离了二个寄存器,一个用于发送,一个用于接收。对于数据 的接收和发送采用中断的方式,其中断向量为12,即是interrupt handler uart0_rx_isr:12。接收和发送方式如下:      

11、 Receive="UDR"   接收一个数据       UDR= Send     发送一个数据       2.4 显示原理       要想点亮LED, 必须把LED的位选数据信号置成低电平。显示的过程如下:首先是将74HC595的RCK置0,再从相应数组中取出要显示的数据和位选信号,通过SCK的 一个上升沿脉冲,就可以将这个数据

12、输入74HC595,等所有的数据打入相应的芯片后最后再把RCK置1,这些数据就可以通过74HC595并行的传输出 去。       3 系统的设计方案       硬件总体框架的设计是根据上位机与下位机通信原理以及LED点阵显示原理和74HC595的特性所构成的。下面的图2说明的是LED点阵显示驱动原理图及其连线方式。        PA、PB口将作为数据输出口,一共连接16个8*8的LED。 端口的每一个

13、引脚将作为74HC595的数据输入端。RCK、SCK的并联的使用的目的是为了实现LED字符的同步显示。在线路连接中QH必须连接 SI,因为根据74HC595的特性,如果输入的数据数大于8,那么前面的数据将会被自动溢出,根据这一思想就将两个芯片连接起来,按照先输入8位数据信 号,再输入8位位选信号的顺序,那么正好前一个74HC595存放位选信息,后一个74HC595存放数据信息。       根据系统的设计原理,得出如下图3的软件流程框架:         

14、                                                               图3  软件流程框架        4 结论对于目前这个显示系统,优点在于电路实现简单,成本较低。如果系统需要更大的字符显示库,只需要扩展AVR的RAM或EEPROM,并且用多个AVR单片机进行的通讯即可。当然,这时需要注意数据写入时间问题,以免造成显示的不同步。  &#

温馨提示

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

评论

0/150

提交评论