- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PLD与数字系统设计创新实验报告
《PLD与数字系统设计》创新实验报告实验内容:LCD1602自定义字符显示 姓名:方夏章 院系:23系 学号:S录1:实验内容简述22:实验思路及代码22.1:汉字显示实验22.1.1相关指令32.1.2:字符取模42.1.3:核心代码:62.2:动态图形显示实验:72.2.1四个动作取模:72.2.2:计时及刷新82.2.3 核心代码93:实验结果:93.1:汉字显示实验结果93.2:动态图形实验结果:104:实验心得115:附录121:实验内容简述 由于在做课程实验时,选择了B组的实验,也就是基于Spartan-3 Starter Board开发板的一组实验,在实验中,后三个实验都用到了LCD1602模块,但是用其显示的都是自带字库里面的字符,所以我萌发了这样一个实验想法,就是用LCD1602来显示我的自定义字符,也就有了这个实验,此实验不能说是一个创新实验,但是由于在课程实验中没有涉及到,所以对我而言确实是一个新的尝试。 本实验共包括两个小实验,一个是汉字显示,另外一个是动态图形显示。汉字显示实验中,显示的是我的名字;动态图形显示中显示的是一个“奔跑的小人”。2:实验思路及代码2.1:汉字显示实验在课程实验中,我们接触了LCD1602的显示功能,但是其显示的都是自带字库里的内容,比如数字和字母,这些内容都存储于字符产生器(CGROM),如下图:其中存储了192个常用字符的字模,但是我们可以从图中看到,从0x00到0x0f的16个位置是空着的,这是留给用户存放自定义字符的地方,也就是CGRAM,对于5X8的字符,可以存放8组。(这里一共有16个位置,但是只能存储8组,原因在于0x08-0x0f的内容和0x00-0x07是一样的)。也就是说,我们可以将自己定义的汉字存放到CGRAM里面。2.1.1相关指令对于LCD1602,相输出我们自定义的图形或字符,必须先将此内容写入CGRAM,然后根据写入的地址,读到DDRAM里,才会显示在液晶屏上。而不能直接显示。而将数据写入CGRAM又需要两步,首先设定要写入到CGRAM的地址,然后连续写入8组5位的数据(对应5X8的字符)。所以要显示自定义字符的总的流程如下:查阅LCD1602资料,将上述流程中所涉及的指令列出如下:设定CGRAM地址其中DB5~DB3三位代表的是CGRAM中字符的地址,000代表写入地址0x00,依次类推DB2~DB0代表写入的行数,也即从第几行开始写,因为一个字符有8行。所以若想写入一个完整的5x8字符到0x00中,则指令0x40),此时RS=0,R/W=0.写入数据到CGRAM或DDRAM写入数据到CGRAM和DDRAM的指令是一样的,其区别主要取决于上一步的设定,若设定的是CGRAM的地址,则写入数据到CGRAM,若设定的是DDRAM的地址,则写入数据到DDRAM。对于写入数据到CGRAM,因为5x8的字符需要写入8组,每组长度为5的数据,所以其数据位对应DB4~DB0,而DB7~DB5可为任意数据,一般设为000。对于写入数据到DDRAM,DB7~DB0对应CGROM(包括已写入数据的CGRAM)的8位地址。所以若DB7~DB0则将CGRAM中的第一个位置的字符写入DDRAM(如果此位置已经写入自定义字符数据)。设定DDRAM地址设定DDRAM地址,即是选择液晶屏上想显示字符的位置,LCD1602共有两行,每行有16个位置。第一行对应的DB7~DB0为0x80到0x8f,第二行对应的是0xc0到0xcf(注意,这里不是从90开始,而是从c0开始)。2.1.2:字符取模字符取模,也就是将字符对应相应的方格里(比如5X8的字符就对应5x8的方格),然后将空白的方格值定为0,其他的定为1,这样就将字符的模取好了。因为1602的单个字(这里说的字是指一个5x8单元)实在太小,只有5x8,难以清楚的显示一个汉字,所以本实验采用了10x8的空间来显示一个字符(其实也就是将一个字拆成上下两部分,分别写入两个地址)。关于取模这一步,在网上找了一下,没找到我需要的格式,基本上都是16x16的格式,所以,为了一劳永逸,自己做了一个取模的工具。如下图:LCD1602取模图片上述图片对于5x8,10x8,10x16都可以很好的取模,而且在每个5x8的单元之间都加粗以更加容易辨别。根据2.1.1中分析,虽然数据是5位,但要5位数据之前补3位0,所以按十六进制来取模的话,首先看没一行的第一格,若是空白,则为0,若不是空白,则为1,再将后四位用十六进制读出来即可。参考一个例子:此为我姓名中的“夏”字,可从中读出每一行的数据分别为:0x1f,0x04,0x08,0x1f,0x11,0x1f,0x11,0x1f(第一个字),0x
您可能关注的文档
最近下载
- 检验科职业安全防护和职业暴露紧急处理.ppt VIP
- 有机肥料检测报告.docx VIP
- 专题19.5 一次函数的应用【八大题型】(举一反三)(人教版)(解析版).pdf VIP
- (高清版)DG∕TJ 08-2075-2022 管线定向钻进技术标准.docx VIP
- 12J12 河北省12系列建筑标准设计图集 无障碍设施.docx VIP
- 两管理两综合一保护竞赛考试题库-外汇资本项目 .pdf VIP
- 八年级上册数学:专题24 二次根式【八大题型】(举一反三)(北师大版)(解析版).pdf VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 液化石油气钢瓶智能制造项目可行性研究报告模板-备案拿地.doc
- 山西省建筑标准设计图集12J12 12系列建筑标准设计图集 无障碍设施.pdf VIP
文档评论(0)