1、学 号天津城建大学嵌入式系统及应用课程设计设 计 说 明 书起止日期: 2013 年 10 月 28 日 至 2013 年 11 月 8 日学 生 姓 名班 级 10 电 信 科 1 班成 绩指 导 教 师 (签 字 )计算机与信息工程学院2013 年 11 月 8 日基于 ARM7 的 LCD 显示电路仿真目录目录 第一章 系统背景简介 -11.1 嵌入式系统背景介绍 -1第二章 芯片介绍 -22.1 芯片 LPC2106 简介 -22.1.1 LPC2106 的特性 -22.2 芯片 LM016L 简介 -32.2.1 液晶显示原理 -32.2.2 LCD 相关参数 -3第三章 软件选择
2、-73.1 Proteus Version 7.5 简介 -73.2 RealView MDK 简介 -73.2.1 RealView MDK 的特点 -7第四章 课程设计 -94.1 电路设计 -94.1.1 Proteus 创建工程步骤 -94.1.2 元件选择 -104.1.3 电路效果图 -124.2 程序设计 -134.2.1 RealView MDK 创建工程过程 -134.2.2 功能函数 -144.2.3 主函数 -16第五章 设计结果 -175.1 编译结果 -175.2 设计效果 -17参考文献 -19附录 -20基于 ARM7 的 LCD 显示电路仿真1第一章 系统背景简
3、介1.1 嵌入式系统背景介绍近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的 IT 应用领域之一。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。通过显示器同步显示元器件的状态可以更深刻地理解控制的原理。通过 Proteus 模拟 ARM7 芯片设计,可以增强我们的自学能力和思考能力,掌握科学研究的方法,提高信息检索的能力以及获取与时俱进知识的能力。同时,使我们深刻学习了 ARM 的相关知识,增强对实际电路的感
4、性认识,提高了分析问题,处理问题的能力。运用 Keil 编译 C 语言,连接生成 Hex 文件,使用 PROTEUS 7.8SP2 仿真,选用ARM7 LPC2106 芯片和 LM016L,导入 Hex 文件,然后进行软件仿真调试。本学期我专业开设了嵌入式系统课程设计这门课程,是嵌入式系统课程的辅助教学课程。通过课程设计,进一步掌握嵌入式 ARM 的基本概念,结合实际的操作和设计,巩固课堂教学内容,此外也让我们进一步掌握嵌入式系统的基本概念、原理和技术,将理论与实际相结合,应用现有的仿真工具和嵌入式软件开发平台,规范、科学地完成一个小型 LCD 显示电路的设计与实现,把理论课与实验课所学内容统
5、一起来,并在此基础上强化实践意识、提高其实际动手能力和创新能力。基于 ARM7 的 LCD 显示电路仿真2第二章 芯片介绍2.1 芯片 LPC2106 简介LPC2106包含一个支持仿真的ARM7TDMI-S CPU 、与片内存储器控制器接口的ARM7 局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB ,ARMAMBA 总线的兼容超集)。 LPC2106将ARM7TDMI-S配置为小端(little-endian)字节顺序。 AHB 外设分配了 2M 字节的地址范围,它位于 4G 字节 ARM 存储器空间的最顶端。每个 AHB 外设都分配了
6、16k 字节的地址空间。LPC2106 的外设功能(中断控制器除外)都连接到 VPB 总线。AHB 到 VPB 的桥接将 VPB 总线与 AHB 总线相连。VPB 外设也分配了 2M 字节的地址范围,从 3.5GB 地址点开始。每个 VPB 外设在VPB 地址空间内都分配了 16k 字节地址空间。2.1.1 LPC2106 的特性LPC2106拥有以下多种特性:(1)ARM7TDMI-S处理器 (2)128k字节片内Flash程序存储器,具有ISP 和 IAP 功能。 (3)Flash 编程时间:1ms 可编程512 字节,扇区擦除或整片擦除只需400ms 。 (4)64/32/16K 字节静
7、态RAM(LPC2106 ) (5)向量中断控制器 (6)仿真跟踪模块,支持实时跟踪 (7)RealMonitor 模块支持实时调试 (8)标准ARM测试/ 调试接口,兼容现有工具 (9)极小封装:TQFP48 (77mm 2) (10)双UART,其中一个带有完全的调制解调器接口 (11)I 2C 串行接口 (12)SPI 串行接口 (13)两个定时器,分别具有4 路捕获/ 比较通道 (14)多达6 路输出的PWM 单元 (15)实时时钟 (16)看门狗定时器 (17)通用I/O 口 (18)CPU 操作频率可达60MHz 基于 ARM7 的 LCD 显示电路仿真3(19)双电源 CPU 操
8、作电压范围:1.65V1.95V(1.8V 8.3%) I/O 电压范围:3.0V3.6V(3.3V 10%) (20)两个低功耗模式:空闲和掉电 (21)通过外部中断将处理器从掉电模式中唤醒 (22)外设功能可单独使能/ 禁止,实现功耗最优化 (23)片内晶振的操作频率范围:10MHz25MHz (24)片内PLL 允许CPU 以最大速度运行,可以在超过整个晶振操作频率范围的情况下使用。由于拥有以上特性,LPC2106适用于internet 网关、串行通信协议转换器、访问控制、工业控制、医疗设备及其它各种类型的应用。2.2 芯片 LM016L 简介2.2.1 液晶显示原理液晶显示的原理是利用
9、液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA 移动通信工具等众多领域。2.2.2 LCD 相关参数(1)LM016L LCD 主要技术参数:显示容量: 162 个字符芯片工作电压: 4.55.5V工作电流: 2.0mA(5.0V)模块最佳工作电压: 5.0V字符尺寸: 2.954.35(WH)mm(2)引脚功能说明:LM016LLCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 1 所示:基于 A
10、RM7 的 LCD 显示电路仿真4表 2-1 引脚接口说明表编号符号引脚说明 编号符号引脚说明1 VSS电源地 9 D2 数据2 VDD电源正极 10 D3 数据3 VL液晶显示偏压 11 D4 数据4 RS 数据/命令选择 12 D5 数据5 R/W读/写选择 13 D6 数据6 E 使能信号 14 D7 数据7 D0 数据 15 BLA背光源正极8 D1 数据 16 BLK背光源负极第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K
11、的电位器调整对比度。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背光源正极。第 16 脚:背光源负极。(3)LM016LLCD 的指令说明及时序:LM016L 液晶模块内部的控制器共有
12、 11 条控制指令,如表 2 所示:基于 ARM7 的 LCD 显示电路仿真5表 2-2 控制命令表序号 指令RSR/WD7D6D5D4D3D2D1D01 清显示 0 0 0 0 0 0 0 0 0 12 光标返回 0 0 0 0 0 0 0 0 1 *3 置输入模式 0 0 0 0 0 0 0 1I/DS4 显示开/关控制 0 0 0 0 0 0 1 D C B5 光标或字符移位 0 0 0 0 0 1S/CR/L* *6 置功能 0 0 0 0 1DLN F * *7置字符发生存贮器地址0 0 0 1 字符发生存贮器地址8 置数据存贮器地址 0 0 1 显示数据存贮器地址9 读忙标志或地址
13、 0 1BF计数器地址10写数到 CGRAM或 DDRAM)1 0 要写的数据内容11从 CGRAM 或DDRAM 读数1 1 读出的数据内容LM016L 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1 为高电平、0 为低电平)指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。指令 2:光标复位,光标返回到地址 00H。指令 3:光标和显示模式设置。 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:
14、控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示5x10 的点阵字符。基于 ARM7 的 LCD 显示电路仿真6指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。指令 9:读忙信号和光标地址。 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙
15、。指令 10:写数据。指令 11:读数据。基于 ARM7 的 LCD 显示电路仿真7第三章 软件选择3.1 Proteus Version 7.5 简介Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB
16、 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和 MSP430 等。在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器。在 Proteus 绘制好原理图后,调入已编译好的目标代码文件:*.hex(或者*.axf) ,可以在 Proteus 的原理图中看到模拟的实物运行状态和过程。Proteus 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度
17、上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。3.2 RealView MDK 简介RealView MDK(RealView Microcontroller Development Kit)开发套件源自德国 Keil 公司,被全球超过 10 万的嵌入式开发工程师验证和使用,是 ARM 公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK 集成了业内最领先的技术,融合了中国多数软件开
18、发工程师所需的特点和功能。包括 Vision 集成开发环境与 RealView 编译器,支持 ARM7、ARM9 和最新的 Cortex-M3 核处理器,自动配置启动代码,集成 Flash 烧写模块,强大的 Simulation 设备模拟,性能分析等功能。3.2.1 RealView MDK 的特点(1)自动生成启动代码:RealView MDK 开发工具可以帮您自动生成完善的启动代基于 ARM7 的 LCD 显示电路仿真8码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。(2)提供软件模拟器:RealView MDK 的设备模拟器可以
19、仿真整个目标硬件,包括快速指令集仿真、外部 信号和 I/O 仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的 ARM 开发工具仅提供指令集模拟器,只能支持 ARM 内核模拟调试。(3)提供性能分析器:RealView MDK 的性能分析器可以让工程师看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的 Trace 工具才能提供。(4)支持 Cortex-M3:RealView MDK 支持的 Cortex-M3 核是 ARM 公司最新推出的针对微控制器应用的内核,它提供业领先的高性能和低成本的解决方案,未来几年将成为 MCU 应用的热点和主流。目前国内只有 ARM 公司的 MDK 和 RVDS 开发工具可以支持 CortexM3 芯片的应用开发。