




免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AMPIRE12864驱动程序一、芯片介绍AMPIRE12864图形点阵液晶显示器,它主要采用动态驱动原理由行驱动控制器和列驱动器两部分组成了128(列)64(行)的全点阵液晶显示。可显示84个1616点阵汉字或164个168点阵ASCII字符集,也可完成图形的显示。与CPU接口采用5条位控制总线和8位并行数据总线输入输出,具有4位/8位并行、2线或3线串行多种接口方式。AMPIRE12864共18个引脚其中包括8个三态数据引脚,5个控制信号引脚,1个复位引脚和4个电源相关引脚。AMPIRE12864详细引脚描述见表2-7。表2-7 AMPIRE12864详细引脚描述引脚号引脚名称级 别引脚功能描述3GND0V电源地4VCC+5V电源电压5V00-10VLCD驱动负电压,要求VDD-VLCD=13V6RSH/L寄存器选择信号7R/WH/L读/写操作选择信号8EH/L使能信号9DB0H/L八位三态并行数据总线10DB111DB212DB313DB414DB515DB616DB71CS1H/L片选信号,当CS1=H时,液晶左半屏显示2CS2H/L片选信号,当CS2=H时,液晶右半屏显示17/RSTH/L复位信号,低电平有效18Vout-10V输出-10V的负电压(单电源供电)AMPIRE12864引脚图如图2-7所示。图2-7 AMPIRE12864引脚图1) AMPIRE12864液晶显示器主要硬件构成AMPIRE12864液晶显示器主要包括以下几个硬件模块: 显示数据RAM(DDRAM)DDRAM(6488 bits)是存储图形显示数据的。此RAM的每一位数据对应显示面板上一个点的显示(数据为H)与不显示(数据为L)。DDRAM的地址与显示位置关系对照如表2-8所示。表2-8 DDRAM的地址与显示位置关系对照图CS2=1CS1=1Y=01630163行号X=0DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB707DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7856X=7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB75763 I/O缓冲器(DB0DB7)I/O缓冲器为双向三态数据缓冲器。是LCM(液晶显示模块)内部总线与MPU总线的结合部。其作用是将两个不同时钟下工作的系统连接起来,实现通讯。I/O缓冲器在片选信号/CS有效状态下,I/O缓冲器开放,实现LCM(液晶显示模块)与MPU之间的数据传递。当片选信号为无效状态时,I/O缓冲器将中断LCM(液晶显示模块)内部总线与MPU数据总线的联系,对外总线呈高阻状态,从而不影响MPU的其它数据操作功能。 输入寄存器输入寄存器用于接收在MPU运行速度下传送给LCM(液晶显示模块)的数据并将其锁存在输入寄存器内,其输出将在LCM(液晶显示模块)内部工作时钟的运作下将数据写入指令寄存器或显示存储器内。 输出寄存器输出寄存器用于暂存从显示存储器读出的数据,在MPU读操作时,输出寄存器将当前锁存的数据通过I/O缓冲器送入MPU数据总线上。 指令寄存器指令寄存器用于接收MPU发来的指令代码,通过译码将指令代码置入相关的寄存器或触发器内。 状态字寄存器状态字寄存器是LCM(液晶显示模块)与MPU通讯时唯一的“握手”信号。状态字寄存器向MPU表示了LCM(液晶显示模块)当前的工作状态。尤其是状态字中的“忙”标志位是MPU在每次对LCM(液晶显示模块)访问时必须要读出判别的状态位。当处于“忙”标志位时,I/O缓冲器被封锁,此时MPU对LCM(液晶显示模块)的任何操作(除读状态字操作外)都将是无效的。 X地址寄存器X地址寄存器是一个三位页地址寄存器,其输出控制着DDRAM中8个页面的选择,也是控制着数据传输通道的八选一选择器。X地址寄存器可以由MPU以指令形式设置。X地址寄存器没有自动修改功能,所以要想转换页面需要重新设置X地址寄存器的内容。 Y地址计数器Y地址计数器是一个6位循环加一计数器。它管理某一页面上的64个单元。Y地址计数器可以由MPU以指令形式设置,它和页地址指针结合唯一选通显示存储器的一个单元,Y地址计数器具有自动加一功能。在显示存储器读/写操作后Y地址计数将自动加一。当计数器加至3FH后循环归零再继续加一。2) AMPIRE12864液晶显示器控制接口信号说明AMPIRE12864液晶显示器共有5个控制引脚,对应5个控制信号。它们分别是寄存器选择信号RS,读写控制信号R/W,使能信号E,左屏片选信号CS1,右屏片选信号CS2。下面通过几个表格来详细说明这些控制信号的作用。RS,R/W的配合选择决定读写方式的4种模式,如表2-9。表2-9 RS,R/W的配合选择决定读写方式的4种模式RS信号R/W信号功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据使能信号E控制方式见表2-10。表2-10 使能信号E控制方式E状态执行动作功能高低I/O缓冲 DDRAM配合R/W写数据或指令高DDRAMI/O缓冲配合RS进行读数据或指令低高无动作3) AMPIRE12864液晶显示器指令说明AMPIRE12864液晶显示器的寄存器选择信号RS,读写控制信号R/W与8位三态数据口输入输出的控制代码的不同组合就组成了不同的控制指令,这些指令控制液晶显示器完成各种操作。下面就用一个表格对这些指令做出详细的说明,如表2-11所示。表2-11 AMPIRE12864液晶显示器指令说明指令指 令 码功 能RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ONB=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定DDRAM列地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 列地址(Y地址)第一行:80H87H第二行:90H97H设定DDRAM行地址0001111P2P1P0设定DDRAM页面地址(X地址)读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM读出RAM值11数据从内部RAM读取数据D7D0二、驱动程序源码分析接口定义:uchar xdata DB _at_ 0x3fff;/定义地址为3fffh的扩展口为AMPIRE12864的三态数据输入口,当然可根据自己具体情况定义;uchar xdata CS _at_ 0x5fff;/定义地址5fffh的扩展口为AMPIRE12864的左右屏选择控制信号输入口;uchar xdata RSRWE _at_ 0x7fff;/定义地址为7fffh的扩展口为AMPIRE12864的寄存器选择信号,读/写操作选择信号和使能信号的输入口。1) 检测忙信号标志BFBF标志提供内部工作情况。BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据。BF=0时模块为准备状态,随时可接受外部指令和数据。 利用表2-11中的“读取忙标志和地址”指令,可以将BF读到DB7总线,从而检验模块之工作状态。检测忙信号标志BF驱动函数代码如下:void check_busy()uchar a;RSRWE=1;/R/W=1,RS=0,E=0读出忙标志(BF)准备while(1)RSRWE=5; /R/W=1,RS=0,E=1读出忙标志(BF)就绪if(!(DB&0x80)/读取忙信号break;/不忙跳出RSRWE=1;a+;if(a10)/防止死循环break;RSRWE=1; /R/W=1,RS=0,E=0读出忙标志(BF)准备2)写控制命令在AMPIRE12864的初始化,DDRAM列地址的设定和行地址的设定都是由写控制命令来完成的。当R/W=0,RS=0时在使能信号的配合下就可以把控制命令写入到指令暂存器(IR)。写时序图如图3-5示。图3-5 AMPIRE12864写时序图写控制命令驱动函数代码如下:void write_cm(uchar command)check_busy();/检测忙信号RSRWE=0; /R/W=0,RS=0,E=0写控制命令准备DB=command;/送出控制命令RSRWE=4; /R/W=0,RS=0,E=1写控制命令_nop_();_nop_();RSRWE=0;3) 写数据当寄存器控选择控制信号RS=0写指令寄存器(IR)即为写控制命令,RS=1时写数据寄存器即为写数据。写数据驱动函数代码如下:void write_data(uchar Data)check_busy();RSRW=2; /R/W=0,RS=1,E=0写控数据准备DB=Data; /送出数据RSRW=6; /R/W=0,RS=1,E=1写数据_nop_();_nop_();RSRW=2;1) 设定显示字符行列地址在AMPIRE12864上显示一个字符是必须先设定其行列地址,设定行列地址的操作指令见表2-11。设定显示字符行列地址驱动函数代码如下:void set_xy(uchar x,uchar y)/x为行,y为列if(y=64)/列地址大于等于64时右屏显示CS=1;y=y-64;else/列地址小于64时左屏显示CS=2;write_cm(0x40|y);写列地址_nop_();write_cm(0xb8|x);写行地址2) AMPIRE12864的初始化在对AMPIRE12864操作前须初始化,对其做一些必要的设置。这些设置包括:基本指令操作设置;开显示,关光标,不闪烁;清除显示;光标的移动方向,DDRAM的地址计数器加1。设置的操作指令详见表2-11。AMPIRE12864初始化驱动函数代码如下:void LCD_Init()write_cm (0x30);/30H-基本指令操作delayus(4);write_cm (0x0c);/开显示,关光标,不闪烁。delayus(10);write_cm (0x01);/清除显示delayms(10);write_cm (0x06);/光标的移动方向左,DDRAM的地址计数器(AC)加1。delayus(10);3) AMPIRE12864显示功能模块AMPIRE12864显示功能通过函数void disp(uchar index416)实现。入口参数uchar index416为字库索引数组,给出在指定位置显示的字符的图形点阵在uchar code zk16中的索引地址,本系统中所有字符的图形点阵都由字模提取软件提取并存储在图形点阵数组uchar code zk16中。在void disp(uchar index416)调用了两个函数:void Disp_hz(uchar R,uchar L,uchar *p)用来显示汉字,其程序代码如下:void Disp_hz(uchar R,uchar L,uchar *p)uchar i;for(i=0;i16;i+)set_xy(2*R,16*L+i);/设定显示位置write_data(pi);/写入DDRAMset_xy(2*R+1,16*L+i);write_data(pi+16);入口参数uchar R,uchar L分别指明字符或汉字的显示位置的行号和列号,uchar *p为图形点阵数组的首地址指针。void Disp_zf(uchar R,uchar L,uchar *p)用来显示ASCII字符,其程序代码如下:void Disp_zf(uchar R,uchar L,uchar *p)uchar i;for(i=0;i8;i+)set_xy(2*R,8*L+i);write_data(pi);set_xy(2*R+1,8*L+i);write_data(pi+8);入口参数uchar R,uchar L分别指明字符或汉字的显示位置的行号和列号,uchar *p为图形点阵数组的首地址指针。AMPIRE12864显示功能模块程序代码如下:void disp(uchar index416)uchar i,j;for(i=0;i4;i+)for(j=0;j14)Disp_hz
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数据标注员标注数据质量风险评估考核题(含答案与解析)
- 2025年数据标注员标注成本控制考核题(含答案与解析)
- 2025年AI产品经理功能测试报告面试题(含答案与解析)
- 2025年机器学习工程师因果推断方法面试题(含答案与解析)
- 纺丝工基础考核试卷及答案
- 灯具零部件制造工理论知识考核试卷及答案
- 中央空调系统运行操作员晋升考核试卷及答案
- 应急通信管理员职业考核试卷及答案
- 钟表部件组件装配工特殊工艺考核试卷及答案
- 钢丝绳制造工5S管理考核试卷及答案
- 学校门卫管理制度及台账汇编
- 社区医疗危急值报告制度及流程
- T-ZZB 1777-2023 全浸没式高电压电极热水锅炉
- (完整)《水浒传》课件
- 化纤厂流程图讲解
- 桥梁监测方案
- 2025年一年级上学期班主任工作计划(3篇)
- 湖南省邵阳市邵东市2024-2025学年高二上学期1月期末联考数学试卷 含答案
- 2025年江西晶昊盐化有限公司招聘笔试参考题库含答案解析
- 协会借款管理制度内容
- 三甲药事法律法规医院培训
评论
0/150
提交评论