基于ARM7的LCD显示课程设计.doc_第1页
基于ARM7的LCD显示课程设计.doc_第2页
基于ARM7的LCD显示课程设计.doc_第3页
基于ARM7的LCD显示课程设计.doc_第4页
基于ARM7的LCD显示课程设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

xian technological university 课程设计报告 课程名称 基于 lpc2106 的 lcd 显示设计 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 指导教师: 成 绩: 年月日 西安工业大学课程设计(论文)用纸 第 页 一课题背景一课题背景 通过 proteus 模拟 arm7 芯片设计,可以增强我们的自学能力和思考能力,掌 握科学研究的方法,提高信息检索的能力以及获取与时俱进知识的能力。同时,使我们深 刻学习了 arm 的相关知识,增强对实际电路的感性认识,提高了分析问题,处理问题的能 力。 通过课程设计,进一步掌握嵌入式 arm 的基本概念,结合实际的操作和设计,巩固课 堂教学内容,此外也让我们进一步掌握嵌入式系统的基本概念、原理和技术,将理论与实 际相结合,应用现有的仿真工具和嵌入式软件开发平台,规范、科学地完成一个小型 lcd 显示电路的设计与实现,把理论课与实验课所学内容统一起来,并在此基础上强化实践意 识、提高其实际动手能力和创新能力。 二总体设计二总体设计 本课程设计采用了 lpc2106 arm 嵌入式处理器和 lm016l 液晶显示模块,在实现软件商 使用了 proteus version 7.5 进行电路仿真和设计,程序设计上采用 realview mdk 来设计 实现。其系统结构框图如图 1-1 所示: lm016l 液晶显 示 lpc2106 主控模块 1-11-1 系统结构框图系统结构框图 arm 主控模块: 采用 lpc2106 芯片,它是一种低功耗,高性能的静态 ram(lpc2106) 向量中断控制器。 显示模块: 液晶显示器的效果出众,简单方便。 三硬件设计三硬件设计 armarm 主控模块主控模块设计设计 lpc2106 包含一个支持仿真的 arm7tdmi-s cpu、与片内存储器控制器接口的 arm7 局 部总线、与中断控制器接口的 amba 高性能总线(ahb)和连接片内外设功能的 vlsi 外 设总线(vpb ,armamba 总线的兼容超集) 。lpc2106 将 arm7tdmi-s 配置为小端 第 页 西安工业大学课程设计(论文)用纸 第 页 (little-endian)字节顺序。 ahb 外设分配了 2m 字节的地址范围,它位于 4g 字节 arm 存储器空间的最顶端。每个 ahb 外设都分配了 16k 字节的地址空间。lpc2106 的外设功能(中断控制器除外)都连接到 vpb 总线。ahb 到 vpb 的桥接将 vpb 总线与 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 测试/ 调试接口,兼容现有工具 极小封装:tqfp48 (77mm2) 双 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 以最大速度运行,可以在超过整个晶振操作频率范围的情况下使用。 由于拥有以上特性,lpc2106 适用于 internet 网关、串行通信协议转换器、访问控制、工 业控制、医疗设备及其它各种类型的应用。 显示部分设计显示部分设计: lm016llcd 的指令说明及时序 西安工业大学课程设计(论文)用纸 第 页 lm016l 液晶模块内部的控制器共有 11 条控制指令,如表 2 所示: 序号指令 rsr/wd7d6d5d4d3d2d1d0 1 清显示 0000000001 2 光标返回 000000001* 3 置输入模式 00000001i/ds 4 显示开/关控制 0000001dcb 5 光标或字符移位 000001s/cr/l* 6 置功能 00001dlnf* 7 置字符发生存贮器地址 0001 字符发生存贮器地址 8 置数据存贮器地址 001 显示数据存贮器地址 9 读忙标志或地址 01bf 计数器地址 10 写数到 cgram 或 ddram) 10 要写的数据内容 11 从 cgram 或 ddram 读数 11 读出的数据内容 lm016l 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1 为 高电平、0 为低电平) 指令 1:清显示,指令码 01h,光标复位到地址 00h 位置。 指令 2:光标复位,光标返回到地址 00h。 指令 3:光标和显示模式设置。 i/d:光标移动方向,高电平右移,低电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关 显示 c:控制光标的开与关,高电平表示有光标,低电平表示无光标 b:控制光标是否闪 烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 dl:高电平时为 4 位总线,低电平时为 8 位总线 n:低电平时为单 行显示,高电平时双行显示 f: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵 字符。 指令 7:字符发生器 ram 地址设置。 指令 8:ddram 地址设置。 指令 9:读忙信号和光标地址。 bf:为忙标志位,高电平表示忙,此时模块不能接收命令 或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 四制作过程四制作过程 1.1.仿真调试电路如图仿真调试电路如图 4-14-1 所示:所示: 西安工业大学课程设计(论文)用纸 第 页 4-14-1 仿真调试电路图仿真调试电路图 2.2.程序设计流程图如图程序设计流程图如图 4-24-2 所示:所示: 4-24-2 程序流程图程序流程图 运行结果:运行结果: 开始 lcd 初始化 延时 设置显示位 结束 西安工业大学课程设计(论文)用纸 第 页 五参考文献五参考文献 1 申晋,朱维申,赵阳升.三峡永久船闸高边坡岩体裂隙分布的分形研究j.岩土力学学报, 1998,20(5):35-39. 2 谷钰,李辉,牛汝良,等.推动实习基地建设提高实践教学水平j.实验室科学,2010(1): 170-172. 3 赵沁平.dvenet分布式虚拟环境m.北京:科学出版社,2002:68-73. 4 tanzi,vitotheory and policy:a comment on dixie and on current tax theoryjinternational monetary and fund staff paper (imf), vol.39, no.4, 1992: 957-966. 5 rudiger dorbuschpolicy making in the open economymoxford university press inc., 1993: 149. 6 alao martinasome economic model of fertility in developing countries and chinas recent comparative demographic experiencecinternational symposium on population and sustainable development, beijing, china, 1995: 2729. 六程序代码六程序代码 /* * file: main.c * 功能:向lcd输出nihaolaoshi */ #include “config.h“ #define rs (18) #define rw (19) #define en (110) #define busy (17) /* * 名称:chkbusy() * 功能:检查总线是否忙 西安工业大学课程设计(论文)用纸 第 页 */ void chkbusy() iodir=0x700; while(1) ioclr=rs; ioset=rw; ioset=en; if(!(iopin ioclr=en; iodir=0x7ff; /* * 名称:wrop() * 功能:写指令函数 */ void wrop(uint8 dat) chkbusy(); ioclr=rs;/全部清零 ioclr=rw; ioclr=0xff;/先清零 ioset=dat;/再送数 ioset=en; ioclr=en; /* * 名称:wrdat() * 功能:写数据函数 */ void wrdat(uint8 dat) chkbusy(); ioset=rs; 西安工业大学课程设计(论文)用纸 第 页 ioclr=rw; ioclr=0xff;/先清零 ioset=dat;/再送数 ioset=en; ioclr=en; /* * 名称:lcd_init() * 功能:lcd初始化函数 */ void lcd_init(void) wrop(0x38); wrop(0x06);/光标加1 wrop(0x0c);/开显示 /* * 名称:distext() * 功能:显示文本函数 */ void distext(uint8 addr,uint8 *p) wrop(addr); while(*p !=0)wrdat(*(p+); /* * 名称:main() * 功能:显示文本 */ int main(void) int i; uint8 *p=“n “,“ni “,“nih “,“niha “,“nihao “,“nihaol “,“nihaola “,“nihaolao “,“nihaolaos “,“nihaolaosh “,“nihaolaoshi “, “ l“,“ la“,“ lao“,“ 西安工业大学课程设计(论文)用纸 第 页 laos“,“ laosh“,“ laoshi“,“ laoshin“,“ laoshini“,“ laoshinih“,“ laoshiniha“,“ laoshinihao“; lcd_init(); iodir=0x7ff;/设置为输出 ioclr=0x7ff; while(1) distext(0x80,p0); for(i=0;i0x1ffff;i+); distext(0x80,p1); for(i=0;i0x1ffff;i+); distext(0x80,p2); for(i=0;i0x1ffff;i+); distext(0x80,p3); for(i=0;i0x1ffff;i+); distext(0x80,p4); for(i=0;i0x1ffff;i+); distext(0x80,p5); for(i=0;i0x1ffff;i+); distext(0x80,p6); for(i=0;i0x1ffff;i+); distext(0x80,p7); for(i=0;i0x1ffff;i+); distext(0x80,p8); for(i=0;i0x1ffff;i+); distext(0x80,p9); for(i=0;i0x1ffff;i+); distext(0x80,p10); for(i=0;i0x1ffff;i+); distext(0x80,p11); for(i=0;i0x1ffff;i+); distext(0x80,p12); for(i=0;i0x1ffff;i+); distext(0x80,p13); for(i=0;i0x1ffff;i+); distext(0x80,p14); 西安工业大学课程设计(论文)用纸 第 页 for(i=0;i0x1ffff;i+); distext(

温馨提示

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

评论

0/150

提交评论