欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    嵌入式系统课程设计基于ARM的LCD显示屏驱动程序设计Word文档格式.docx

    • 资源ID:8224263       资源大小:132.74KB        全文页数:29页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统课程设计基于ARM的LCD显示屏驱动程序设计Word文档格式.docx

    1、元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 1.1.2 RVDS简介RealView Development Suite(RVDS)是ARM公司继SDT与ADS1.2之后主推的新一代开发工具。RVDS集成的RVCT是业内公认的能够支持所有ARM处理器,并提供最好的执行性能的编译器。RealView Developer Suite 支持所有 ARM 系列核心,并与众多第三方实时操作系统及工具商合作简化开发流程。RVDS包含有四个模块: (1)IDE:RVDS中集成了Eclipse IDE,用于代码的编辑和管理。支持语句高亮和多颜色显示,以工程的方式管理代码,支持第三方Ecl

    2、ipse功能插件。(2)RVCT:RVCT是业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C+。(3)RVD:是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。(4)RVISS:是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。RVDS具有代码小执行效率高、支持Linux操作系统、调试功能强大、可虚拟外设等优点,同时还具有内容丰富的在线文档。 1.1.3 芯片LPC2106简介LPC2106/2105/2104 包含一个支持仿真的ARM7TDMI-S CPU、与片内存储

    3、器控制器接口的ARM7 局部总线、与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB ,ARMAMBA 总线的兼容超集)。LPC2106/2105/2104 将ARM7TDMI-S配置为小端(little-endian )字节顺序。AHB外设分配了2M 字节的地址范围,它位于 4G字节ARM存储器空间的最顶端。每个 AHB外设都分配了16k 字节的地址空间。LPC2106/2105/2104 的外设功能(中断控制器除外)都连接到VPB 总线。AHB到VPB 的桥接将VPB 总线与AHB总线相连。VPB 外设也分配了2M 字节的地址范围,从3.5GB 地址

    4、点开始。每个VPB 外设在VPB 地址空间内都分配了16k 字节地址空间。它拥有以下特性: ARM7TDMI-S处理器 128k字节片内Flash程序存储器,具有ISP 和IAP 功能。 Flash编程时间:1ms 可编程512 字节,扇区擦除或整片擦除只需400ms 。 64/32/16K 字节静态RAM(LPC2106/2105/2104) 向量中断控制器 仿真跟踪模块,支持实时跟踪 RealMonitor模块支持实时调试 标准ARM测试/ 调试接口,兼容现有工具 极小封装:TQFP48 (77mm2) 双UART,其中一个带有完全的调制解调器接口 I2C 串行接口 SPI 串行接口 两个

    5、定时器,分别具有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适用于nternet 网关、串行通信协议转换器、访问控制

    6、、工业控制、医疗设备及其它各种类型的应用。 1.2 LCD显示原理和初始化流程图 1.2.1 LCD显示简介 液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。 液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple

    7、 Matrix)和主动矩阵驱动(Active Matrix)三种。液晶显示器各种图形的显示原理: 线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(0

    8、02H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。 字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。 汉字的显示汉字的显示一

    9、般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。1.2.2 LCD相关参数 1602LCD主要技术参数:显示容量: 162个字符芯片工作电压: 4.55.5V工作电流: 2.0mA(5.0V)模块最佳工作电压: 5.0V字符尺寸: 2.954.35(WH)mm 引脚功能说明1602LC

    10、D采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表所示:编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D33VL液晶显示偏压11D44RS数据/命令选择12D55R/W读/写选择13D66E使能信号14D77D015BLA背光源正极8D116BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高

    11、电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如下表所示:序号指令清显示光标返回*置输入模式I/DS显示开/关控制DCB光标或字符移位S/CR/L置功能DLNF置字符发生存贮器地址字符发生存贮器地址置数据存贮器地址显示数据存贮器地址读

    12、忙标志或地址BF计数器地址写数到CGRAM或DDRAM)要写的数据内容从CGRAM或DDRAM读数读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控

    13、制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。 与HD44780相兼容的芯片时序表如下所示:读状态输入RS=L,R/W=H,E=H输出D0D7

    14、=状态字写指令RS=L,R/W=L,D0D7=指令码,E=高脉冲无读数据RS=H,R/W=H,E=HD0D7=数据写数据RS=H,R/W=L,D0D7=数据,E=高脉冲读写操作时序如下图所示:读操作时序图写操作时序图 1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,下图所示为1602的内部显示地址。例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要

    15、求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我

    16、们就能看到字母“A” 1.3 Proteus仿真电路 使用Proteus进行仿真电路设计,下面依次介绍仿真细节。 1.3.1 Proteus仿真元件清单元件名称规格型号单位数量ARM7芯片LPC2106片LCD1602LM016L个瓷片电容CAP-ELEC电源+3.3V+1.8V电阻10K欧姆只 1.3.2 Proteus仿真电路图截图 1.4 程序代码分模块介绍实验的C语言程序代码如下所示(附注释):/main.c/* File: main.c* 功能:向LCD输出HelloWorld*/#include config.h#define rs (18)#define rw (19)#defi

    17、ne en (110)#define busy (17)uint8 txt=HelloWorld;* 名称:ChkBusy()检查总线是否忙void ChkBusy() IODIR=0x700; while(1) IOCLR=rs; IOSET=rw; IOSET=en; if(!(IOPIN & busy)break; IOCLR=en; IODIR=0x7ff;WrOp()写函数void WrOp(uint8 dat) ChkBusy(); IOCLR=rs; /全部清零 IOCLR=rw; IOCLR=0xff; /先清零 IOSET=dat; /再送数 IOSET=en; IOCLR=

    18、en;WrDat()写数据函数void WrDat(uint8 dat) IOSET=rs;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) lcd_init(); /设置为输出 IOCLR=0x7ff; DisText(0x86,txt); while(1)

    19、;/LPC2106.h/* External Interrupts */* 外部中断控制寄存器 */#define EXTINT (*(volatile unsigned char *) 0xE01FC140) /外部中断标志寄存器#define EXTWAKE (*(volatile unsigned char *) 0xE01FC144) /外部中断唤醒,是否从处理器掉电中唤醒/* SMemory mapping control. */* 内存remap控制寄存器 */#define MEMMAP (*(volatile unsigned long *) 0xE01FC040) /选择读取

    20、向量的不同地址/* Phase Locked Loop (PLL) */* PLL控制寄存器 */#define PLLCON (*(volatile unsigned char *) 0xE01FC080) /PLL控制位保持寄存器#define PLLCFG (*(volatile unsigned char *) 0xE01FC084) /PLL配置值保持寄存器#define PLLSTAT (*(volatile unsigned short*) 0xE01FC088) /控制和配置信息读回寄存器#define PLLFEED (*(volatile unsigned char *) 0xE01FC08C) /使能控制和配置/* Power Control */* 功率控制寄存器 */#define PCON (*(volatile unsigned char *) 0xE01FC0


    注意事项

    本文(嵌入式系统课程设计基于ARM的LCD显示屏驱动程序设计Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开