完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 液晶模块结构及功能简介
LM016L液晶模块采用HD44780控制器。HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。HD44780控制器由两个8位寄存器、指令寄存器(IR)和数据寄存器(DR)、忙标志(BF)、显示数据RAM(DDRAM)、字符发生器ROM(CGROM)、字符发生器RAM(CGRAM)、地址计数器(AC)构成。IR用于寄存指令码,只能写入不能读出;DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据。BF为1时,液晶模块处于内部处理模式,不响应外部操作指令和接受数据。DDRAM用来存储显示的字符,能存储80个字符码。CGROM由8位字符码生成5 x 7点阵字符160种和5×10点阵字符32种,8位字符编码和字符的对应关系。CGRAM是为用户编写特殊字符留用的,它的容量仅64字节。可以自定义8个5×7点阵字符或者4个5×10点阵字符。AC可以存储DDRAM和CGRAM地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或者CGRAM单元。LMO16L液晶模块的引脚功能见下表1。 2 基于Proteus ISIS 7的液晶模块仿真 2.1 接口设计 运行Proteus ISIS 7进入设计界面,依照图1所示在元件库中选择需要的元件。Lpc2138的P0.0-P0.7端口作为8位数据的输出端,P0.8、P0.9、P0.10作为控制信号的输出端,连接完成的电路如图l所示。 |
|
|
|
2.2 软件设计
电路图绘制好之后,就可以编写LM016L的驱动程序。LM016L的操作有两大类:读操作和写操作。一般情况下不需要从液晶中读取数据,所以对液晶操作主要是写指令和写数据两个写操作,对于忙标志(BF),查询的方法,保证液晶模块有足够时间进行内部数据处理。在写源程序时,需要根据液晶模块的时序图编写程序。LM016L的时序如图2所示。 根据电路图1定义引脚:RS BIT P0.8;RW BIT P0.9;LCD E BIT PO.10。 本设计的开发环境为keil uvision3,程序大体分为初始化、控制信息与数据传输3部分。下面就将结合程序源代码略加说明: 用keil软件编译后生成HEX文件,在Proteus中打开lpc2138芯片属性对话框,将生成的HEX文件加载进去,再进行仿真运行就可以看到图3的结果,说明设计成功。 3 结束语 利用Proteus实现了对ARM7+LM016L液晶模块的仿真,实现了字符串的显示。Proteus为ARM学习提供了很好的软件平台,使初学者可以抛开电路设计中的一些细枝末节,快速掌握ARM的核心内容。同时该方法不需要硬件资源,也为学校开设ARM课程闯出一条最佳途径。 |
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 06:16 , Processed in 0.618340 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号