新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于PROTEUS技术的ARM显示系统设计与仿真

基于PROTEUS技术的ARM显示系统设计与仿真

作者:时间:2010-12-18来源:网络收藏

  0 引言

  随着科技的发展,在社会各个方面的应用越来越广。芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。LPC2138是Philips公司生产的基于7TDMI的RISC微处理器,主频可达50MHz。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。本文在介绍以HD44780为控制器的LM016L的引脚结构、功能的基础上,搭建LM016L与LPC2138芯片的硬件接口电路、用c语言编写显示程序,采用PROTEUS软件进行功能

  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。

LMO16L液晶模块的引脚功能

  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所示。

LM016L的时序

  根据电路图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课程闯出一条最佳途径。



评论


相关推荐

技术专区

关闭