毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

常用液晶显示模块驱动程序设计 第9页

更新时间:2009-6-13:  来源:毕业论文
常用液晶显示模块驱动程序设计 第9页
读显示数据
表7 读显示数据
R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0 1 0 1 1 1 A  A A
该操作将HD61202 接口部的输出寄存器内容读出,然后列地址计数器自动加一。必须
注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。
6.3基于HD61202图形式液晶显示器LGM12864应用
6.3.1  图形式液晶显示器LGM12864简介
介绍点阵图形液晶模块,实际上就是介绍它的控制芯片。这里以常见的LGM12864点阵图形液晶模块为例来做介绍,该液晶模块采用日立的HD61202 和HD61203 芯片组成。LGM12864点阵图形液晶模块,表示横向有128 点,纵向有64 点,如果以汉字16x16 点而言,每行可显示8 个中文字,4 行共计32个中文字。用HD61202和HD61203芯片组成的128x64点阵图形液晶模块方框示意图见图16-1 所示。点阵图形液晶LGM12864 LCD模组由列驱动器HD61202、行驱动器 HD61203 组成,可以直接与8 位单片机相接。LGM12864点阵图形液晶模块里有两个HD61202,每个有 512 字节(4096 位)供RAM 显示。RAM显示存储器单元的每位数据与LCD 每点的像素状态 1/0 完全一致(1=亮,0=灭)。
6.3.2 图形式液晶显示器LGM12864接口方案及论证
1.直接控制方式
因为内藏HD61202及其兼容控制驱动器的液晶模块的接口时序为68时序,所以用89C51的总线方式控制管理,就需要经过一些简单的时序改造.电路原理图如图4.10。

图6.8 直接访问方式接口电路 

2.间接控制方式


图6.9 间接控制方式接口电路
比较以上两种接口方案可以看到,与直接控制方式相比,间接控制方式使用的辅助器件更少,接线也更简洁,可靠性也相应较高,成本也相对较低,唯一的缺点就是要用较多的软件来弥补硬件上的不足,编程相对复杂。总体上比较,间接控制方式更为方便实用。 
6.4图形式液晶显示器LGM12864应用程序设计
6.4.1 程序设计流程图
 
(a)                          (b)                  (c)
图6.12 图形式液晶显示程序设计流程图
6.4.2功能程序模块详解
1. 判LCM 忙子函数
void lcd_busy(void)
{RS=0;
RW=1;
P2=0xff;
while(1){
EN=1;
if(P2<0x80)break;
EN=0;
}
EN=0;

2. 写指令到LCM 子函数
void wcode(uchar c,uchar csl,uchar csr)
{       
CS1=csl;                      
CS2=csr;
lcd_busy();    
RS=0;      
RW=0;      
P2=c;      
EN=0;
delay(10);       
EN=1;
delay(10);
EN=0;      
}       
/*-------------写数据子程序---------------------------*/
void wdata(uchar c,uchar csl,uchar csr)
{    
CS1=csl;                      
CS2=csr;
lcd_busy(); 
3.写数据到LCM 子函数
void wdata(uchar c,uchar csl,uchar csr)
{    
CS1=csl;                      
CS2=csr;
lcd_busy();    
RS=1;      
RW=0;    
P2=c;
EN=0;
delay(10);                        
EN=1;
delay(10);      
EN=0;      

4. 设定起始行子函数
void set_startline(uchar i)
{       
i=0xc0+i;      
wcode(i,1,1);     
}  
5. 定位x 方向(起始页)、y(起始列)方向的子函数
void set_xy(uchar x,uchar y)
{    
x=x+0x40;                     
y=y+0xb8;                   
wcode(x,1,1);                   
wcode(y,1,1);                   
}      
6. 屏幕开启、关闭子函数
void dison_off(uchar on)
{                             
on=on+0x3e;                   
wcode(on,1,1);                 
}                             
7.复位子函数
void reset() //函数名为reset 的复位子函数。
{ // reset 函数开始。
RST_0; //复位端置低电平。
Delay_nms(10); //延时一会。
RST_1; //复位端置高电平。
Delay_nms(10); //延时一会。
} // reset 函数结束。
8. 根据x、y 地址定位,将数据写入LCM 左半屏或右半屏的子函数
void reset()                    
{                        
RST=0;                    
delay(10);    
RST=1;    
delay(10);   

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

常用液晶显示模块驱动程序设计 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。