- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于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;m8;m++)???????????? //m表示的是第几个LED
???? {? for(j=0;j8;j++)??????? //j表示的是某个LED的第几排数据
?????? {? for(i=0;i8;i++)?????? //i表示的是取某个LED的第某排数据的第几位
????????? { displayport_a[m][j]|=((displaycode_a[i][m]0x01) P
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,这些数
您可能关注的文档
最近下载
- T∕CACM 1066.2-2018 中医治未病标准化工作指南 第2部分:标准体系.docx VIP
- 技术服务措施及保障措施方案.docx VIP
- 新媒体环境下的微博营销【文献综述】.doc VIP
- 2021钻床工考试-初级钻床工考试(精选试题).doc VIP
- 化工企业双重预防机制.pdf VIP
- (铁总计统〔2017〕177号 )中国铁路总公司关于进一步加强铁路建设项目征地拆迁工作和费用管理的指导意见.pdf VIP
- 深圳新桥街道万丰社区大朗山片区城市更新项目.pdf
- 中小学劳动教育课程如何创新与实施.docx VIP
- 大航海时代OL陆战技巧学习指南.docx
- 集中式山地光伏电站方阵区直流电缆敷设技术要求.pdf VIP
文档评论(0)