当前位置:首页 > 电源 > 数字电源
[导读]ATMEGA16L单片机是一款基于AVR RISC 的、低功耗CMOS 8 位单片机,具有16K字节的自编程FLASH, 512字节的EEPROM, 1K字节的SRAM, 通过AVR单片机来控制LED的显示,结构简单,应用灵活,并且易于扩展。

1引言

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

2 系统设计原理

2.1 编码设计

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

  在ASCII中,偏移量=(内码的低地址)*16,

  在HZK16中,偏移量= ((内码的高地址-161)*94 + (内码的低地址-161))*32。

  此时得到的字模编码不是最终所要的编码(单字节数据如英文是按8*16点阵来显示,而双字节数据时如汉字是按16*16点阵来显示的)。这里统一使用8*16点阵,这就需要对其转换。下图左表格表示的是汉字编码在字库内存放顺序,右表格表示的是经过转换过后的编码存放顺序。编码转换过程如图1所示:

           图1 编码转换

2.2 矩阵转换移位算法

  
矩阵转换移位算法目的就是如何把这些原始的数据转换成串行的数据, 以便把数据正确的输入到74HC595。原始的数据必须要对其转换。下面为它的算法实现。

for(m=0;m<8;m++)       //m表示的是第几个LED

  {? for(j=0;j<8;j++)   //j表示的是某个LED的第几排数据

  {? for(i=0;i<8;i++)   //i表示的是取某个LED的第某排数据的第几位

  { displayport_a[m][j]|=((displaycode_a[i][m]&0x01)<

      displaycode_a[i][m]=displaycode_a[i][m]>>1;

               // displayport_a[m][j]表示存放已转换好数据

               // displaycode_a[i][m]表示存放的是原始数据

//‘|’表示相或,‘&’表示相与,‘<<’表示左移

}

}

}

2.3 上位机和下位机的通信

  
上位机和下位机的通信主要是通过RS232接口进行的,对于上位机的数据传输的速率为9600bps。为了便于数据的传输和接收,可以给要传输数据的前后加上标志位。如果数据发送量大,在发送数据时还可采用线程的方式来发送。而下位机接收数据则可采用单片机内全双工的通用异步收发器(UART)来进行。

  UART有中断和查询两种工作方式,UART初始化需要设置相关几个控制寄存器,我们可以把UART几个控制寄存器的初始化情况表示出来:

  UCR = 0x00 设置波特率时要先关闭UART

  UBRR = 0x33 设置波特率为9600bps

  UCR = 0xD8 打开串口:8位数据

  UART如何接收和发送数据通过数据寄存器UDR完成。UDR虽然只有一个地址,但是在物理上分离了二个寄存器,一个用于发送,一个用于接收。对于数据的接收和发送采用中断的方式,其中断向量为12,即是interrupt handler uart0_rx_isr:12。接收和发送方式如下:

  Receive=UDR 接收一个数据

  UDR= Send  发送一个数据

2.4 显示原理

  要想点亮LED,必须把LED的位选数据信号置成低电平。显示的过程如下:首先是将74HC595的RCK置0,再从相应数组中取出要显示的数据和位选信号,通过SCK的一个上升沿脉冲,就可以将这个数据输入74HC595,等所有的数据打入相应的芯片后最后再把RCK置1,这些数据就可以通过74HC595并行的传输出去。

3 系统的设计方案

  硬件总体框架的设计是根据上位机与下位机通信原理以及LED点阵显示原理和74HC595的特性所构成的。下面的图2说明的是LED点阵显示驱动原理图及其连线方式。


        图2 LED点阵显示驱动原理图

  PA、PB口将作为数据输出口,一共连接16个8*8的LED。端口的每一个引脚将作为74HC595的数据输入端。RCK、SCK的并联的使用的目的是为了实现LED字符的同步显示。在线路连接中Q`H必须连接SI,因为根据74HC595的特性,如果输入的数据数大于8,那么前面的数据将会被自动溢出,根据这一思想就将两个芯片连接起来,按照先输入8位数据信号,再输入8位位选信号的顺序,那么正好前一个74HC595存放位选信息,后一个74HC595存放数据信息。

  根据系统的设计原理,得出如下图3的软件流程框架:

 


                    图3  软件流程框架

4 结论

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

参考文献
[1]丁化成,耿德根,李君凯. AVR单片机应用设计[M].北京:北京航空航天大学出版社,2002
[2]沈文,Eagle lee,詹卫前. AVR单片机.C语言开发入门指导[M].北京:清华大学出版社,2003
[3] 金春林, 邱慧芳, 张皆喜. AVR系列单片机---C语言编程与应用实例[M].北京:清华大学出版社 2003
[4] 刘乐善, 欧阳星明 ,刘学清. 微型计算机接口技术及应用[M].武汉:华中科技大学出版社,2000

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭