基于ARM7的LCD显示电路仿真综述_第1页
基于ARM7的LCD显示电路仿真综述_第2页
基于ARM7的LCD显示电路仿真综述_第3页
基于ARM7的LCD显示电路仿真综述_第4页
基于ARM7的LCD显示电路仿真综述_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 ARM7的 LCD显示电路仿真 第一章 问题描述 1.1 系统基本背景 近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、 网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最 热门最有发展前途的 IT 应用领域之一。 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式 仪表和低功耗应用系统中得到越来越广泛的应用。 通过显示器同步显示元器件的状态可 以更深刻地理解控制的原理。 通过 Proteus 模拟 ARM7芯片设计,可以增强我们的自学能力和思考能力,掌握科 学研究的方法,提高信息检索的能力以及获取与时俱进知识的能力

2、。同时,使我们深刻 学习了 ARM的相关知识,增强对实际电路的感性认识,提高了分析问题,处理问题的能 力。 运用 Keil 编译 C语言,连接生成 Hex文件,使用 PROTEUS 7.8SP2仿真, 选用 ARM7 LPC2106 芯片和 LM016L,导入 Hex文件,然后进行软件仿真调试。 本学期我专业开设了嵌入式系统课程设计这门课程,是嵌入式系统课程的 辅助教学课程。通过课程设计,进一步掌握嵌入式 ARM的基本概念,结合实际的操作和 设计,巩固课堂教学内容,此外也让我们进一步掌握嵌入式系统的基本概念、原理和技 术,将理论与实际相结合,应用现有的仿真工具和嵌入式软件开发平台,规范、科学地

3、 完成一个小型 LCD显示电路的设计与实现,把理论课与实验课所学内容统一起来,并在 此基础上强化实践意识、提高其实际动手能力和创新能力。 1.2 芯片及开发软件的选择 本课程设计采用了 LPC2106 ARM 嵌入式处理器和 LM016L 液晶显示模块, 在实现 软件上使用了 Proteus Version 7.5进行电路仿真和设计, 程序设计上采用 RealView MDK 来设计实现,下面我们对芯片 LPC2106和 LM016L 以及开发软件 Proteus Version 7.5和 RealView MDK 做一下介绍: 1.2.1 芯片 LPC2106 简介 LPC2106包含一个支

4、持仿真的 ARM7TDMI-S CPU 、与片内存储器控制器接口的 ARM7 局部总线、与中断控制器接口的 AMB高A 性能总线( AHB )和连接片内外设功能 1 基于 ARM7的 LCD显示电路仿真 的VLSI 外设总线( VPB ,ARMAMBA 总线的兼容超集)。 LPC2106将ARM7TDMI-S 配置为小端( little-endian)字节顺序。 AHB外设分配了 2M 字节的地址范围,它位于 4G字节ARM存储器空间的最顶端。 每个 AHB 外设都分配了 16k 字节的地址空间。 LPC2106的外设功能(中断控制器除外) 都连接到VPB 总线。 AHB到VPB 的桥接将VP

5、B 总线与AHB总线相连。 VPB 外设也分 配了2M 字节的地址范围,从 3.5GB 地址点开始。每个 VPB 外设在 VPB 地址空间内都 分配了 16k 字节地址空间。 它拥有以下特性: ARM7TDMI-S 处理器 128k字节片内 Flash程序存储器,具有 ISP 和 IAP 功能。 Flash编程时间: 1ms 可编程 512 字节,扇区擦除或整片擦除只需 400ms 。 64/32/16K 字节静态 RAM (LPC2106) 向量中断控制器 仿真跟踪模块,支持实时跟踪 RealMonitor模块支持实时调试 标准 ARM测试/ 调试接口,兼容现有工具 2 极小封装: TQFP

6、48 (7 7mm2) 双UART,其中一个带有完全的调制解调器接口 I2C 串行接口 SPI 串行接口 两个定时器,分别具有 4 路捕获 / 比较通道 多达6 路输出的 PWM 单元 实时时钟 看门狗定时器 通用 I/O 口 CPU 操作频率可达 60MHz 双电源 CPU 操作电压范围: 1.65V1.95V(1.8V 8.3%) I/O 电压范围: 3.0V3.6V(3.3V 10%) 两个低功耗模式:空闲和掉电 通过外部中断将处理器从掉电模式中唤醒 外设功能可单独使能 / 禁止,实现功耗最优化 片内晶振的操作频率范围: 10MHz25MHz 片内 PLL 允许CPU 以最大速度运行,

7、可以在超过整个晶振操作频率范围的 基于 ARM7的 LCD显示电路仿真 情况下使用。 由于拥有以上特性, LPC2106适用于 internet 网关、串行通信协议转换器、访问控 制、工业控制、医疗设备及其它各种类型的应用。 1.2.2 芯片 LM016L 简介 1. 液晶显示原理 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就 有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接 驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、 PDA 移动通信工具等众多领域。 2. LM016L LCD 相关参数 LM016LL

8、CD 主要技术参数: 显示容量 :162 个字符 芯片工作电压 : 4.55.5V 工作电流 :2.0mA(5.0V) 模块最佳工作电压 : 5.0V 字符尺寸 :2.95 4.35(WH)mm 引脚功能说明 LM016LLCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接 口说明如表 1 所示: 表 1-1 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6

9、 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1 脚: VSS为地电源。 第 2脚: VDD接 5V正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比 度最高, 对比度过高时会产生 “鬼影”,使用时可以通过一个 10K的电位器调整对比 基于 ARM7的 LCD显示电路仿真 度。 第 4 脚: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存 器。 第 5 脚: R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS和 R/W共同为低电平时可以写入指令或者显

10、示地址,当 RS为低电平 R/W为高电 平时可以读忙信号,当 RS为高电平 R/W为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E端由高电平跳变成低电平时,液晶模块执行命令。 第 7 14脚: D0 D7为 8位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 LM016LLCD 的指令说明及时序 LM016L 液晶模块内部的控制器共有 11 条控制指令,如表 2 所示: 表 1-2 控制命令表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0

11、0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/ C R/ L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 10 写数到 CGRAM 或 DDRAM ) 1 0 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 1 1 读出的数据内容 LM016L液晶模块的读写操作、屏幕和光

12、标的操作都是通过指令编程来实现的。 (说 明: 1为高电平、 0为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置。 I/D :光标移动方向,高电平右移,低电平左移 基于 ARM7的 LCD显示电路仿真 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平 表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B :控 制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位

13、S/C :高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电 平时为单行显示, 高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时 显示 5x10 的点阵字符。 指令 7:字符发生器 RAM地址设置。 指令 8:DDRAM地址设置。 指令 9:读忙信号和光标地址。 BF:为忙标志位,高电平表示忙,此时模块不能 接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 3. Proteus Version 7.5 简介 Proteus软件是英国 Labcenter elec

14、tronics公司出版的 EDA 工具软件。 它不仅具有其 它 EDA工具软件的仿真功能, 还能仿真单片机及外围器件。 它是目前最好的仿真单片机 及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教 学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus 是世界上著名的 EDA 工具(仿真软件 ),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台, 其处理器模型支持 8051、HC11、 PIC10/12/16/1

15、8/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等。在编译方面,它也 支持 IAR 、Keil 和 MPLAB 等多种编译器。 在 Proteus 绘制好原理图后,调入已编译好的目标代码文件: *.hex(或者 *.axf ), 可以在 Proteus 的原理图中看到模拟的实物运行状态和过程。 Proteus不仅可将许多单片 机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到 实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路 等却和传统的单片机实验硬件高度对应。 这在相当程度上替代了传统的单片机实验教学 的功能,

16、例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 4. RealView MDK 简介 RealView MDK(RealView Microcontroller Development Kit )开发套件源自德国 Keil 公司,被全球超过 10万的嵌入式开发工程师验证和使用, 是 ARM 公司目前最新推出的 针对各种嵌入式处理器的软件开发工具。 RealView MDK 集成了业内最领先的技术,融 合了中国多数软件开发工程师所需的特点和功能。包括 Vision 集成开发环境与 RealView 编译器,支持 ARM7 、ARM9 和最新的 Cortex-M3 核处理器,

17、 自动配置启动代 基于 ARM7的 LCD显示电路仿真 码,集成 Flash烧写模块,强大的 Simulation 设备模拟,性能分析等功能。 RealView MDK 的特点: 自动生成启动代码: RealView MDK 开发工具可以帮您自动生成完善的启动代码, 并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能 大大节省时间,提高开发效率。 提供软件模拟器: RealView MDK 的设备模拟器可以仿真整个目标硬件,包括快速 指令集仿真、外部 信号和 I/O 仿真、中断过程仿真、片内所有外围设备仿真等。开发 工程师在无硬件的情况下即可开始软件开发和调试,使软硬

18、件开发同步进行,大大缩短 开发周期。而一般的 ARM 开发工具仅提供指令集模拟器,只能支持 ARM 内核模拟调 试。 提供性能分析器: RealView MDK 的性能分析器可以让工程师看得更远和更准,它 辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松 的进行代码优化, 成为嵌入式开发高手。 通常这些功能只有价值数千美元的昂贵的 Trace 工具才能提供。 支持 Cortex-M3 :RealView MDK 支持的 Cortex-M3 核是 ARM 公司最新推出的针对 微控制器应用的内核,它提供业领先的高性能和低成本的解决方案,未来几年将成为 MCU 应用的热点

19、和主流。 目前国内只有 ARM 公司的 MDK 和 RVDS 开发工具可以支持 CortexM3 芯片的应用开发。 基于 ARM7的 LCD显示电路仿真 第 2 章 电路的设计 2.1 proteus 创建工程的过程 打开 ISIS 7 Professional 软件,单击鼠标左键新建 New File (From Default Template)如图 2-1 工程新建显示位置框图所示。 图 2-1 proteus 工作页面 2.2 文件选择 然后在 Keywords 下的空格中搜索 LM016L 和 LPC2106,在右边的窗口中双 击相应的 LM016L 元器件,即可加入到元器件模板中。

20、 同理可加入 LPC2106 元器件 摆放位置也如下图 图 2-2 LM016L 文件 基于 ARM7的 LCD显示电路仿真 图 2-3 LPC2106 文件 图 2-4 文件摆放位置 2.3 电路效果图 电路元件 LPC2106通过 P0.0P0.10 和 LM016L连接起来。其中, P0.0P0.7 是 用来传送数据、 地址和控制信号指令, 至于什么时候传数据、 地址和控制信号指令, 用 P0.8P0.10 来进行选择。 系统电路图如图 2-5 系统电路图所示。 基于 ARM7的 LCD显示电路仿真 图 2-5 电路效果图 基于 ARM7的 LCD显示电路仿真 第三章 程序设计 3.1

21、RealView MDK 创建工程过程 打开 Keil uVision4 软件,单击菜单项 Project中的 New uVision Project 项,如图 3-1 工程新建指示框图所示。 图 3-1 Keil uVision4 工作界面 然后弹出对话窗 Create New Project,选择已新建好的文件夹,文件夹名为 LCD_PRO,然后再建工程名为 LCD_PRO,点击保存。然后弹出对话框 Select Device For Target,选择飞利浦公司的 LPC2106 芯片,点击确认,并加载启动代码。如图 3-2 芯片仿真选择框图所示。 图 3-2 芯片仿真选择框图 10 基

22、于 ARM7的 LCD显示电路仿真 3.2 下载编译 下面是对于实验源程序的编译结果。如图 3-3 编译结果显示框图所示 图 3-2 编译框无错误 11 基于 ARM7的 LCD显示电路仿真 第四章 效果图 4.1 效果图 图 4-1 效果图 12 基于 ARM7的 LCD显示电路仿真 参考文献 1周立功 ARM 嵌入式基础教程北京航空航天大学出版社 J2008年 9月第 2 版 2 周润景 PROTEUS 在 MCS-51 while(1) IOCLR=rs; IOSET=rw; IOSET=en; if(!(IOPIN IOCLR=en; IODIR=0 x7ff; /* * 名称: Wr

23、Op() * 功能:写指令函数 */ void WrOp(uint8 dat) ChkBusy(); IOCLR=rs;/ 全部清零 IOCLR=rw; IOCLR=0 xff;/ 先清零 IOSET=dat;/ 再送数 IOSET=en; IOCLR=en; 14 基于 ARM7的 LCD显示电路仿真 /* * 名称: WrDat() * 功能:写数据函数 */ void WrDat(uint8 dat) ChkBusy(); IOSET=rs; IOCLR=rw; IOCLR=0 xff;/ 先清零 IOSET=dat;/ 再送数 IOSET=en; IOCLR=en; /* * 名称: lcd_init() * 功能: lcd 初始化函数 */ void lcd_init(void) WrOp(0 x38); WrOp(0 x06);/光标加 1 WrOp(0 x0c);/开显示 /* * 名称: DisText() * 功能:显示文本函数 */ void DisText(uint8 addr,uint8 *p) WrOp(addr); while(*p !=0)WrDat(*(p+); /* * 名称: main() * 功能:显示文本 */ int main(void) aimiaotiao, aimiaotiao , aimiaoti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论