下载

2下载券

加入VIP
  • 专属下载券
  • 上传内容扩展
  • 资料优先审核
  • 免费资料无限下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于AVR单片机的VRAM型彩色液晶显示模块设计

基于AVR单片机的VRAM型彩色液晶显示模块设计.pdf

基于AVR单片机的VRAM型彩色液晶显示模块设计

马_鹏程
2012-03-31 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《基于AVR单片机的VRAM型彩色液晶显示模块设计pdf》,可适用于IT/计算机领域

第!"卷!第#期!""#年$"月液!晶!与!显!示’()*),(,’’**(’**,:!"!,:#<=>!!""#文章编号"$""!A"#!""#$"#"DBD"C基于NX单片机的XNM型彩色液晶显示模块设计褚东升$!亓庆刚$!岳成亮!#$>中国海洋大学工程学院!山东青岛!!CC"$!EF’"=’=)!$CB>=,F!>青岛网通广电通信有限公司!山东青岛!!CC"$$摘!要!介绍一种基于NX单片机和硬件汉字库的XNM型彩色液晶显示模块的设计给出彩色液晶显示器的显示原理’硬件接口设计框图以及硬件汉字库的制作和应用!同时给出基于语言的程序设计模块!实现了应用XNM型液晶的模块化!便于移植在其他类型的单片机关!键!词!彩色液晶NX单片机硬件汉字库XNM中图分类号!RAB>PBRD"!!!!文献标识码!N!!收稿日期!!""#"$!#修订日期!!""#"!!!!!基金项目!教育部科学技术研究重点项目#,>"!$B$$$!引!!言随着电子技术的飞速发展!越来越多的领域应用到以单片机为控制核心’用液晶作为显示终端的数字化设备($!!)彩色液晶显示器作为当代高新技术的结晶产品!不但具有超薄平面’显示信息丰富’色彩逼真的特点!而且还具有体积小’耗电省’寿命长’无辐射’抗震’防爆等其他类型显示器无可比拟的优点!因而是工控仪表’机电设备等行业更新换代的理想显示器件(B)因此基于单片机系统的彩色液晶显示模块的使用也越来越广泛本文介绍一种基于NX单片机和硬件汉字库的彩色液晶显示模块!该模块实现了在彩色液晶显示器上显示不同颜色的中文’英文’数字及简单的画图功能!!液晶显示器显示原理本模块采用的液晶显示器是河南友利华高科技有限公司生产的‘#"!彩色液晶XNM型显示器它的点阵数是B!"c!D"!XNM容量是CDJcA位!由于屏幕上的任何一点都是由X#红$’f#绿$’#蓝$B种颜色组成!且灰度不可调节!因此显示颜色为A色基本原理框图如图$所示*转换器产生液晶所用各种驱动电压!*N逆变器则用来点亮冷阴极背光灯!显示驱动逻辑电路采用了优化逻辑电路!利用分时技术让显示与写入数据同时进行!实现了画面的高速更新!且互不干扰(B)其显示原理是"在显示器内部含有一个显示缓冲区与屏幕显示一一对应!使用时只需向缓冲区里写入相应的数据!屏幕上即可显示出对应的彩色图形或文字!也就是说该显示器可作为单片机系统的一个外部存储器就可以实现彩色信息的显示图$!‘#"!原理框图V’I>$!‘#"!’(=’)’IFB!硬件系统设计(>#!硬件总体设计本模块中使用的单片机是NX系列单片机中功能最强的NRF)I$!A该单片机具有丰富的片上资源如具有$!AJ在线可重复编程V*’DJ的E!LX<M’DJ的内部KXNM’DA个Y*<端口’BD个不同的中断源’可寻址CDJ的地万方数据第#期褚东升!等"基于NX单片机的XNM型彩色液晶显示模块设计DB#!!址空间#YKL下载以及RNf仿真等功能$D详细介绍请参考其数据手册图!是该模块硬件系统总体设计框图由于‘#"!的显示缓冲区里的内容是不能读出的!为了保存写入内容!在该模块中还外扩了一片存储器芯片C$#$!A!其存储容量为#$!J!除了保存‘#"!显示缓冲区里的数据外!还为使用本模块的嵌入式系统提供了扩展应用由于NRF)I$!A的寻址范围只达到CDZ!因此采用了分页管理技术来操作#$!J的存储空间在具体电路设计时!将NRF)I$!A的LB"L"连接到C$#$!A的高D位地址线上!将#$!J的存储空间分成$C页!每页B!J硬件汉字库芯片NR!P"D"N的存储容量也是#$!J!与L的接口设计与C$#$!A是类似的!只需将片选信号和高D位地址线接在不同的Y’<口上就可以了图!!硬件设计图V’I>!!Og))*’I(’IF("!!)JN!的接口设计‘#"!的接口方式采用总线方式!外部引线包括数据总线("")#片选信号(’K)#读写输入(’X#’eX)和寄存器选择信号(XK)!可以直接挂接到单片机的总线上!作为单片机的某部分内存来使用接口采用$C针插座!引脚定义请参阅其说明书图B!NR$!A与‘#"!的接口V’I>B!Y()=)b)g))(NRF)I$!A(‘#"!!!根据‘#"!可以作为单片机的外部存储器使用的接口特性!将NRF)I$!A的读写信号线与‘#"!的读写信号线直接连接!具体接口设计原理如图B所示(>(!硬件汉字库的制作本模块使用了硬件汉字库!省去了利用汉字取模软件获取点阵数据的麻烦!而且还避免了为保存这些数据而开辟的大量程序存储空间汉字库中要烧写的点阵文件是<K软件中的文件OdZ$C!该文件是$Cc$C的国际汉字点阵文件!文件中按汉字区位码从小到大依次存放国标区位码表中的所有汉字!每个汉字占用B!字节!每个区为PD个汉字汉字库芯片采用的是NR!P"D"N!该芯片是NRME公司生产的#$!J的V*X<M在制作时!烧写过程和普通的程序存储器的编程基本相同!只要注意选择正确的型号和在选择打开OdZ$C的方式时用二进制方式就可以了!编程校验成功后!取下备用!硬件汉字库芯片就制作好了$#实际上若显示OdZ$C的文件属性!其大小为!C!J!而NR!P"D"N的存储容量为#$!J!超出部分可以存储用户固定的汉字#字母和数字的代码$!!从而使显示内容更加灵活丰富D!软件系统设计及实现’"#!操作)JN!的程序设计‘#"!的指令码格式如下"其中"N$!N"组合功能为内部寄存器通道的选择!功能如下"N$N"功!!能""显示地址低A位寄存器"$显示地址高A位寄存器$"显示数据读写通道$$无效YKL"显示控制位当YKL设置为*$时!液晶显示模块为开显示状态当YKL设置为*"时!液晶显示模块为关显示状态万方数据DBC!!液!!晶!!与!!显!!示第!"卷a!表示未用位"可设为#"$NRF)I$!A访问外部存储器的软件设计步骤是!先用)G)(声明一个外部变量"再用F’(I_’(’函数外部存储地址分配函数’分配给此变量一个外部存储地址因NRF)I$!A内部有DJ的KXNM所以外部存储地址范围为$"""O""VVVVO’"那么对该变量的操作就实现了L对相应地址的外部存储空间的访问(C)根据此步骤"对‘#"!写指令和写数据的具体函数如下!)G)((*’I()=_NRN*,^’!F’(I_’(’^,’’!!*F#>)F)F,b*’($#>,I"GD"""($!!,,分配给_NRN的地址为D"""O!!!!#__NRN!!>bJb$($,,存储空间为$!!!!#>)G,($’*写指令函数如下!,^’!_g’)’(*(*’I()=’!L<XRwT"GV*!!!,,置,K为低电平"并且置XK为低电平"处于写指令状态!_NRNT*,,送数据!L<XRT"G"B*,,置,K和XK为高电平写数据函数如下!,^’!_g’)(*’I()=’L<XRWT"GVE*!!,,置,K为低"并且置XK为高电平"处于写数据状态_NRNT*,,送数据L<XRT"G"$*,,置,K为高电平除了上面两个基本的函数外"对‘#"!最基本的操作是往XNM里写数据"根据上面给出的指令码"具体函数如下!)’()!OXEf!!"G"P!,,显示地址高A位寄存器指令)’()!XEf"G"A,,显示地址低A位寄存器指令)’()!NRNXe"G"N,,显示数据读写通道指令,^’!_’(*’I()’()**"(*’I()=’!!(*’I()="*!!T=’)**A’*!,,取内存地址的高A位数据!!T=’)**w"GVV’*!,,取内存地址的低A位数据!!_g’)’(*OXEf’*!,,送显示地址高A位寄存器指令!!_g’)’*!,,送内存地址的高A位数据!!_g’)’(*XEf’*!,,送显示地址低A位寄存器指令!!_g’)’*!,,送内存地址的低A位数据!!_g’)’(*NRNXe’*!,,送显示数据读写通道指令!!_g’)’*!,,送数据’>!!画点函数的实现要在液晶上实现显示字符和画图等功能"在屏幕上显示一个点是实现这些功能的基础画点函数实现的步骤是!首先确定该点对应的XNM中的内存位置"找到该点具体对应的数据位"填充显示颜色的数据"该点就按对应的颜色显示出来了D>!>$!显示内存与屏幕点阵的对应关系!B"‘#"!屏幕点阵为B!"c!D""每一个点对应B个像素Xf’"屏幕上A个点对应内存B个字节"一行对应B!",AcBT$!"个字节(B)"其对应关系如下!XfXfXfXfXfXfXfXfC#DB!$"C#DB!$"C#DB!$"内存地址"!!!内存地址$!!!内存地址!其中X"f"表示红绿蓝三原色"""表示对应的数据位对于屏幕上坐标为K"T’的点"其对应内存地址的计算方法为!当TT"时!!KXNMT"EVOc$""OU(YRK,A’)cB万方数据第#期褚东升!等"基于NX单片机的XNM型彩色液晶显示模块设计DB!!当T"时!!KXNMT#T$$c$""OUYR#KA$’cB通过#KA$的余数得出具体的内存位置"当余数为"!则!XNMTKXNM!$$$"!""""’当余数为$!则!XNMTKXNM!"""$!$$""’当余数为!!则!XNM$TKXNM!""""!""$$’XNM!TKXNMU$$"""!""""’当余数为B!则!XNMTKXNMU$"$$$!""""’当余数为D!则!XNMTKXNMU$""""!$$$"’当余数为#!则!XNM$TKXNMU$""""!"""$’XNM!TKXNMU!$$""!""""’当余数为C!则!XNMTKXNMU!""$$!$"""’当余数为!则!XNMTKXNMU!""""!"$$$’其中’内为($)的位表示应该填充颜色的位置!KXNM表示该点对应的基础地址!XNM*XNM$和XNM!表示该点对应的实际内存地址当数据位为($)时!对应色点为亮,为(")时!对应色点为暗通过Xf三原色组合而得到的A种颜色代码如下""""""$"$""$$$""$"$$$"$$$黑蓝绿青红粉黄白例$"若K*T坐标为#!"$KXNMT"EVOc$""OU"T"EV""O余数为!则!XNMT"EV""OU!T"EV"!O若此点为红色!则送入"EV"!O内存单元里的数据为"EV"!O’w$$$$$"""U"""""$""例!"若K*T坐标为#$#!#$KXNMT##$$c$""OU$cBTD"BO余数为#!则!XNM$TD"BOU$TD"DOXNM!TD"BOU!TD"#O若此点为白色!则送入这两个单元的数据为!!D"DO’W$$$$$$$"U"""""""$!!D"#O’W""$$$$$$U$$""""""D>!>!!画点函数的具体实现从例$和例!可以看出!要只显示一个色点!就必须知道该点对应的内存中的数据!而前面提到过内存中的数据是不能读出的!所以要将写入内存中的数据先保存起来!即在向‘#"!的显示缓冲区里写数据之前!应先将此数据写入C$#$!A若在坐标#K!T$处画颜色为=,,的点!其具体函数如下",^’!_’*’G)#(*’I()’(K!(*’I()’(T!(*’I()==,,$(*’I()’()**,(*’I()=,)**T_’G)#K!T$,计算该点对应的内存地址*g’=#KQA$!!!!=*)""T)_)GF#)**$,读取相应KXNM中的数据!!!wT"G$V,$$$"!""""’保存其他点的数据!!!T#=,,’’#$,填充相应的颜色!!!g’)_)GF#!)**$,把修改好的数据写回到KXNM!!!_’#)**!$,把数据写到液晶显示缓冲区!!!b)J,!!!!!!!!=*)",b)J,以上只给出了余数是"的情况!其他的情况可依此类推计算内存地址的_’G)函数可根据给出的内存地址计算方法编写!读写C$#$!A的)_)GF函数和g’)_)GF函数可根据具体的硬件设计编写!这里不再给出’>(!显示汉字和其他功能的实现在屏幕上显示$Cc$C点阵汉字的基本步骤是"首先取得该汉字的B!个字节的点阵数据!再确定屏幕上显示的位置!利用画点函数即可显示该汉字因本模块使用了硬件汉字库技术!所以汉字的点阵数据是从汉字库中获取的在计算机汉字系统中!汉字是用机内码的形万方数据DBA!!液!!晶!!与!!显!!示第!"卷式存储的!将汉字机内码减去"N"N"O就得到该汉字的区位码!通过区位码就可以找到该汉字点阵数据在汉字库中的位置"例如#汉字$中的机内码是十六进制的$C"!其中前两位$C表示机内码的区码!后两位$"表示机内码的位码"所以$中的区位码为"C"O"N"N"OTBCB"O!将区码和位码分别转换为十进制!得汉字$中的区位码为$#DDA"即$中的点阵位于第#D区的第DA个字的位置!在文件OdZ$C中的位置为第B!c’#D$(cPDU’DA$()T$C"P!A以后的B!个字节为$中的点阵数据!用KLEXLX<#编程器读入文件OdZ$C后利用其编辑功能中的缓冲区编辑查找到!DN"O’$C"P!A的十六进制表示(开始的B!个字节#"$O!""O!"$O!""O!"$O!"DO!VO!VEO!D$O!"DO!D$O!"DO!D$O!"DO!D$O!"DO!VO!VO!D$O!"DO!"$O!""O!"$O!""O!"$O!""O!"$O!""O!"$O!""O!"$O!""O"这些数据与其点阵图形的对应关系如图D所示!图中黑色方格表示二进制位$$!即对应该显示的点!白色方格表示二进制位$"!即不该显示的点"因此要在液晶屏幕上显示$Cc$C点阵的汉字!首先应找到该汉字在硬件汉字库中的位置!取出其后的B!个字节数据"取这B!个字节数据的函数如下#图D!汉字$中的点阵图形V’I>D!’=)’IF,’()*)==)$中>(*’I()!=!=’()*))!)T*$中!$国,(*’I()!=!b)B!),,^’!_)’(*’I()=(Fb)(*(*’I()!=!)F$!)F!!E,(*’I()!,(I!)**!,)F$T=’()*)!(Fb))")"GN",!把机内码转换成区位码)F!T=’()*)!(Fb))$)"GN",)**TB!)’’’,(I()F$$()PDU’’,(I()F!$((,!计算该汉字在汉字库中的首地址ET",,’T)**,’)**UB!,UU(*!!T)_)G,F’(,!!b)E)T,!!EUU,读NR!P"D"N的)_)G,F函数可根据硬件设计编写!这里不再给出"取得这B!个字节数据后!下面的程序设计就比较容易了!这里只给出程序流程’如图#所示(!具体函数可根据此流程编写"其中’K!T(是该汉字显示的起始点!=,,是该汉字的显示颜色!(Fb)是该汉字在=’()*)数组中的位置"显示英文和数字的函数可根据显示汉字的函数稍加改造后即可得到!这里不再详细分析"图#!显示一个汉字程序流程图V’I>#!L,IF,g=,’*’(I’()*)==)万方数据第#期褚东升!等"基于NX单片机的XNM型彩色液晶显示模块设计DBP!!!!在本模块中也实现了在屏幕上画斜线#圆等功能!其具体实现过程就是在画点函数的基础上通过相应的算法来编写这些函数$画线和画圆算法比较多!在这里画线算法采用的是整数数字微分分析法!画圆算法采用的是贝森海姆算法$鉴于篇幅所限!这里不再具体分析$由于‘#"!是点阵式液晶显示器!还可以通过移植嵌入式fY’如(fY)软件!使其显示多种曲线!各种窗口对象!如按钮#编辑框#滑动条等更加丰富灵活的图形界面$#!结!!语以上程序均在YNX编译器里调试通过!实现了在液晶屏幕上正常显示各种颜色的汉字#英文#数字及简单的图形功能$在笔者参与开发的油田探测爆炸机设备中!采用了本液晶模块!达到了显示稳定!显示色彩丰富!人机界面友好的较理想的显示效果$参!考!文!献!$李文江!张岩!汪玉凤>内置OC$!"!点阵式液晶显示模块接口设计与编程>液晶与显示!!""D!$P’!)"$BA$D!>!吴平!龚彬!丁铁夫>液晶显示模块和MKLDB"单片机在显示终端上的应用>液晶与显示!!""B!$A’C)"DBCDD">B友利华高科技开发有限公司>‘#"!彩色液晶XNM显示器使用说明书d>!""!>DNF),,’,(>NRF)I$!A*))E(<>"((ggg>F)>=,F!!""$$$"D>#綦声波!刘滨!马志强>硬件汉字库设计原理与应用E(<>"((ggg>HIF=>=,F!!""!"#$B>C沈文!EI)))!詹卫前>NX单片机语言开发入门指导M>北京"清华大学出版社!!""B>李维諟!郭强>液晶显示应用技术M>北京"电子工业出版社!!""">)ZUET$,=$))THEZUO,(I*)(I$!Y’(II(I$!‘E)(I’(I!’$*:!I!!IO!’’>’Q(!F!’!(!Y!I(!!CC"$!!(!:H"()")>$CB*"*!*Y!I(D’"C((’W<J"">!(’!,*’*!Y!I(!!CC"$!!()ED,<R))’(,=)*)*’I(,XNM=,,’*F,)b*),(NX()=’g’’()*)==)*>Y,^’)*)’(=’),’*J’(,!)g))*’I(’IF()FJ’(IF),,=’g’’()*)==)*>Y*,,^’)*)F,),,IF)*’I(b*),(,IFF)(II)!g’=I’^)*F,),’(I,)XNM=,,*,)’*=,(^)(’)(,(*(’(I,,)F’=,=,(,)*>FA,"=,,*NX*=’g’’()*)==)**XNM作者简介!褚东升’$P#C)!男!吉林省吉林市人!博士!现任中国海洋大学工程学院副院长!教授!研究方向"信号处理#自动控制和智能仪器$万方数据基于AVR单片机的VRAM型彩色液晶显示模块设计作者:褚东升亓庆刚岳成亮CHUDongshengQIQinggangYUEChengliang作者单位:褚东升,亓庆刚,CHUDongsheng,QIQinggang(中国海洋大学,工程学院,山东,青岛,)岳成亮,YUEChengliang(青岛网通广电通信有限公司,山东,青岛,)刊名:液晶与显示英文刊名:CHINESEJOURNALOFLIQUIDCRYSTALSANDDISPLAYS年卷(期):()引用次数:次参考文献(条)李文江张岩汪玉凤内置HD点阵式液晶显示模块接口设计与编程期刊论文液晶与显示()吴平龚彬丁铁夫液晶显示模块和MSP单片机在显示终端上的应用期刊论文液晶与显示()友利华高科技开发有限公司YD彩色液晶VRAM显示器使用说明书AtmelCorporationATmegaDatasheet綦声波刘滨马志强硬件汉字库设计原理与应用沈文Eaglelee詹卫前AVR单片机C语言开发入门指导李维諟郭强液晶显示应用技术相似文献(条)期刊论文吴焕琅WuHuanlangAVR单片机的全功能工业控制器设计单片机与嵌入式系统应用()介绍一款工业级的实用全功能控制器该控制器能隔离采集多种输入信号,输出多种控制信号具有实时时钟、历史数据存储功能,彩色液晶显示界面,带有触摸屏操作和远程通信接口核心部分CPU采用AVRATmega单片机目前已用于批量生产引证文献(条)胡燕燕杨代华基于SmallRTOS的LCD驱动程序开发期刊论文电脑知识与技术(学术交流)()王巍强COG工艺的LCD模块电极腐蚀的控制期刊论文液晶与显示()付先成邹雪城彩色液晶显示控制器AMIPegasus及其应用期刊论文液晶与显示()本文链接:http:dgwanfangdatacomcnPeriodicalyjyxsaspx下载时间:年月日

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/7

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利