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

发布者:HappyHearted最新更新时间:2010-12-18 来源: 电子技术关键字:液晶模块  ARM  PROTUES  仿真 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  随着科技的发展,ARM在社会各个方面的应用越来越广。ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。LPC2138是Philips公司生产的基于ARM7TDMI的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课程闯出一条最佳途径。

关键字:液晶模块  ARM  PROTUES  仿真 引用地址:基于PROTEUS技术的ARM显示系统设计与仿真

上一篇:基于S3C44B0X的工业用煤成分分析系统设计
下一篇:基于ARM7的畜牧养殖智能消毒机器人控制系统

推荐阅读最新更新时间:2024-03-16 12:31

基于ARM的智能储物系统设计
  智能储物系统由上位机、物品存取软件和以下位机为核心的自动控制执行机构组成。上位机为一台内部安装了物品存取软件的PC机,它为智能储物系统提供人机交互平台,实现智能储物系统的用户验证功能、物品存取界面显示、存储物品的管理和检索功能。以基于ARM LPC2210的下位机为核心的自动控制执行机构接收上位机发送的控制指令,通过自动控制使被选中的储物箱体到达预定的位置来实现物品的自动存取和异常情况下的快速报警功能。整个储物系统被安装在一个坚固、密封的金属箱体中。该金属箱体可以被嵌入到非承重墙体中或者作为房屋隔断使用,其大小可根据用户需要做成整面墙或为墙体的一部分。与传统保险柜相比,它非常隐蔽,而且合理、有效地利用了室内空间。储物系统存
[单片机]
基于<font color='red'>ARM</font>的智能储物系统设计
PPP拨号在ARM2410平台上的移植
本次PPP移植是在三星arm2410的平台上进行的,所用的工作环境为: Kernel: 2.4.18 Sysvinit:2.86 Tinylogin:1.4 Glibc: 2.2.5 CC:3.3 PPP: 2.4.1 U-boot:1.1.3 一、具体操作步骤 首先编译内核支持 PPP: $make menuconfig l $make ARCH=arm CROSS_COMPILE=/../arm-linux- zImage $./mkimage2410 uImage 其中mkimage2410文件来自u-boot1.1.1 需要根据你的路径修改mkimage2410的内容,指定mkimage文件的位置。 第二步,制作文件系
[单片机]
arm-linux-gcc.4.3.2交叉编译器编译linux-3.0.1内核
1.我这里的内核是forlinx 的FORLINX_linux-3.0.1.tar.gz内核,把这个文件准备好(拷贝到 linux os 的forlinx文件夹下面),这个文件不小117M,用xftp花费了我20秒时间。 2.然后解压缩 命令tar zxf FORLINX_linux-3.0.1.tar.gz, 这里我看出来了已经解压缩成功了 在编译内核之前,我先安装一个工具可能会用到,那就是libncurses5方便使用make menuconfig 命令,执行命令即可:apt-get install libncurses5-dev 下面就是编译内核过程了,之前见别人编译的时间挺长的,我倒要看看需要多少时间。 执行命令
[单片机]
用<font color='red'>arm</font>-linux-gcc.4.3.2交叉编译器编译linux-3.0.1内核
基于ARM的脑电信号采集系统
  1 引言   在线监测系统中,待测信号幅值在50μV左右,而背景噪声幅值在50mV以上,用一般的采集和测量系统无法准确检测该信号。针对被背景噪声覆盖的微小信号,采用滤波降噪和差分放大手段,提高信噪比,保证待测信号能被准确采集;采用基于ARM核的32位微处理芯片S3C44B0X和基于μClinux操作系统的嵌入式图形用户界面MicroWindows,完成实时显示测量结果和实现故障自动报警,同时具有体积小、功耗低、操作灵活的特点,为实现微伏信号在线监测功能提供了一种良好的解决方案。   2 系统硬件设计   整个微伏信号在线监测系统硬件主要分为两个部分,即前置放大电路和基于ARM的数据采集与显示电路,如图1所示。
[单片机]
基于<font color='red'>ARM</font>的脑电信号采集系统
ARM Linux上使用OpenGL
这两天在ARM上跑了一个OpenGL,应该说是OpenGL|ES的软件包,虽然我觉得可能最后我不会使用这个软件包,但是还是记录下来以备忘记。 先全局介绍下,首先,什么是OpenGL和OpenGL|ES。OpenGL是一套绘图函数的标准,OpenGL|ES是OpenGL中针对嵌入式系统的一套函数子集。OpenGL|ES的官方是http://www.khronos.org/opengles/, 上面有更多的信息。需要注意的是,OpenGL仅仅是标准,而如果你要使用OpenGL,则需要找到可以实现这些OpenGL标准函数的程序库或源代码。 目前,在ARM这种一般没有图形加速器的平台上,OpenGL|ES的实现都是靠软件的。主要的Ope
[单片机]
ARM的启动代码为什么要用汇编语言
在ARM中讲到ARM的启动代码必须有汇编语言写成,一直不是很了解。 书上给的原因是 C语言不具备上电立即运行的条件: 全局变量没有初始化、系统堆栈没有初始化等。 那单片机的C语言怎么就不要启动代码?(keil带有启动代码,但是处理不好会出错,一般不用也没事) 看来还是和编译器有关,今天看到了一个比较信服的答案。 编译器在编译C语言时 ,会在前加一段固定的代码**.O文件,他是编译器自带的一个文件, 即C语言执行的第一条指令不是C语言的main入口函数中,而是**.O中指令。 指令初始化后调用MAIN函数入口,但是并不能直接运行,我们必须写一段代码来取代他。 所以我们经常能看到一些超简单的启动代码: AREA |DATA|,CODE,
[单片机]
ARM服务器距离面市还需两、三年时间
7月13日消息,今年初ARM公司就表示将进军服务器市场,不过ARM亚太区相关人士表示,ARM服务器面市还需要两三年时间。 该公司亚太区移动计算市场经理杨宇欣在上周五中英信息产业研讨会上接受媒体采访并做出上述表示。ARM是全球领先是半导体知识产权供应商,通过向芯片厂商提供技术授权获得收入。目前ARM架构芯片主要用在手机上,全球超过90%的手机芯片使用ARM架构。 随着ARM芯片计算能力的提升,该公司开始从手机向智能本、数字电视、存储设备、汽车电子等领域扩张。今年4月份,ARM首席执行官Warren East表示,将进军服务器市场,并在业界引起关注,因为这意味着ARM将与PC、服务器市场的芯片领导者英特尔产生直接
[嵌入式]
千兆SFP光纤收发器中控制电路参数的设计与仿真
摘 要 :本文提出千兆SFP光纤收发器中控制电路参数的设计方案,就千兆SFP光纤收发器中的控制电路展开了探讨,并对接收部分SPICE模型的I/O口进行了仿真分析。 序言 小型封装可热插拔式光纤收发模块(Small Form-Factor Pluggable Optical Transceiver,简称SFP)又称MINI-GBIC模块,是继标准化的可热插拔光接口模块GBIC之后的第二代产品,具有小型化、可热插拔和自诊断功能。本文就千兆SFP光纤收发器中控制电路参数设计及利用Cadence软件仿真进行了讨论。 发射模块主要电路设计 光发射模块原理 模块的发送部分包括LD、MAX3735A芯片和外围电路。激光器(1310
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved