欢迎来到天天文库
浏览记录
ID:6603334
大小:1.36 MB
页数:16页
时间:2018-01-20
《ym12864c图形液晶显示模块读写测试》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、YM12864C图形液晶显示模块读写测试(一)、YM12864C模块一.概述YM12864C是一种图形点阵液晶显示器。它主要采用动态驱动原理由行驱动—控制器和列驱动器两部分组成了128(列)×64(行)的全点阵液晶显示。此显示器采用了COB的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。二.特性1.工作电压为+5V±10%,可自带驱动LCD所需的负电压。2.全屏幕点阵,点阵数为128(列)×64(行),可显示8(/行)×4(行)个(16×16点阵)汉字,也可完成图形,字符的显示。3.与CPU接口采用5条位控制总线和8位并行数据总线输入输出,适配M6800系列时序。4
2、.内部有显示数据锁存器,自带上电复位电路。5.简单的操作指令显示开关设置,显示起始行设置,地址指针设置和数据读/写等指令。三.硬件说明1)显示数据RAM(DDRAM)DDRAM(64×8×8bits)是存储图形显示数据的。此RAM的每一位数据对应显示面板上一个点的显示(数据为H)与不显示(数据为L)。DDRAM的地址与显示位置关系对照图(见附录一)2)I/O缓冲器(DB0~DB7)I/O缓冲器为双向三态数据缓冲器。是LCM(液晶显示模块)内部总线与MPU总线的结合部。其作用是将两个不同时钟下工作的系统连接起来,实现通讯。I/O缓冲器在片选信号/CS有效状态下,I/O缓冲器开放,实现L
3、CM(液晶显示模块)与MPU之间的数据传递。当片选信号为无效状态时,I/O缓冲器将中断LCM(液晶显示模块)内部总线与MPU数据总线的联系,对外总线呈高阻状态,从而不影响MPU的其他数据操作功能。3)输入寄存器输入寄存器用于接收在MPU运行速度下传送给LCM(液晶显示模块)的数据并将其锁存在输入寄存器内,其输出将在LCM(液晶显示模块)内部工作时钟的运作下将数据写入指令寄存器或显示存储器内。4)输出寄存器输出寄存器用于暂存从显示存储器读出的数据,在MPU读操作时,输出寄存器将当前锁存的数据通过I/O缓冲器送入MPU数据总线上。5)指令寄存器指令寄存器用于接收MPU发来的指令代码,通过
4、译码将指令代码置入相关的寄存器或触发器内。6)状态字寄存器状态字寄存器是LCM(液晶显示模块)与MPU通讯时唯一的“握手”信号。状态字寄存器向MPU表示了LCM(液晶显示模块)当前的工作状态。尤其是状态字中的“忙”标志位是MPU在每次对LCM(液晶显示模块)访问时必须要读出判别的状态位。当处于“忙”标志位时,I/O缓冲器被封锁,此时MPU对LCM(液晶显示模块)的任何操作(除读状态字操作外)都将是无效的。7)X地址寄存器X地址寄存器是一个三位页地址寄存器,其输出控制着DDRAM中8个页面的选择,也是控制着数据传输通道的八选一选择器。X地址寄存器可以由MPU以指令形式设置。X地址寄存器
5、没有自动修改功能,所以要想转换页面需要重新设置X地址寄存器的内容。8)Y地址计数器Y地址计数器是一个6位循环加一计数器。它管理某一页面上的64个单元。Y地址计数器可以由MPU以指令形式设置,它和页地址指针结合唯一选通显示存储器的一个单元,Y地址计数器具有自动加一功能。在显示存储器读/写操作后Y地址计数将自动加一。当计数器加至3FH后循环归零再继续加一。9)Z地址计数器Z地址计数器是一个6位地址计数器,用于确定当前显示行的扫描地址。Z地址计数器具有自动加一功能。它与行驱动器的行扫描输出同步,选择相应的列驱动的数据输出。10)显示起始行寄存器显示起始行寄存器是一个6位寄存器,它规定了显示
6、存储器所对应显示屏上第一行的行号。该行的数据将作为显示屏上第一行显示状态的控制信号。11)显示开/关触发器显示开/关触发器的作用就是控制显示驱动输出的电平以控制显示屏的开关。在触发器输出为“关”电平时,显示数据锁存器的输入被封锁并将输出置“0”,从而使显示驱动输出全部为非选择波形,显示屏呈不显示状态。在触发器输出为“开”电平时,显示数据锁存器被控制,显示驱动输出受显示驱动数据总线上数据控制,显示屏将呈显示状态。12)复位端/RES复位端/RES用于在LCM(液晶显示模块)上电时或需要时实现硬件电路对LCM(液晶显示模块)的复位。该复位功能将实现:?设置显示状态为关显示状态?显示起始寄
7、存器清零。显示RAM第一行对应显示屏上的第一行。?在复位期间状态字中RESET位置“1”。实物图13)模块引脚图三读写时序电路连接图如下:C源程序代码如下:本程序只演示了一行八(每个字为16*16)个汉字的显示,其它部分的显示与此类同。程序采用上面的原理图均通过实测。#includesbitlcd_rs=P2^2;//指令/数据选择端;0为指令,1为数据sbitlcd_rw=P2^1;//读/写选择端;0为写,1为读sbitlcd_e=P
此文档下载收益归作者所有