1 / 22
文档名称:

用C51实现对LCD显示屏M12864-7A7的显示驱动.doc

格式:doc   大小:134KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用C51实现对LCD显示屏M12864-7A7的显示驱动.doc

上传人:duzw466 2019/2/12 文件大小:134 KB

下载得到文件列表

用C51实现对LCD显示屏M12864-7A7的显示驱动.doc

相关文档

文档介绍

文档介绍:用C51实现对LCD显示屏M12864-7A7的显示驱动<P>用C51实现对LCD显示屏M12864-7A7的显示驱动</P><P> 关键词:C51;M12864-7A7;KS0108<BR>3摘要:本文介绍了采用C51编程对LCD显示屏M12864-7A7的驱动。并给出部分电路原理图以及C51编写的嵌入式程序代码。</P><P><BR> <BR> 随着科技不断发展,工业设备中使用的小型LCD显示屏的外观和显示效果也得到了很大的提高,本文介绍一款非常实用的LCD显示屏M12863-7A7的使用方法,这里采用目前较为流行的C51语言进行编程,该程序可读性好,便于个性化修改,可移植性强,具有一定实用价值。<BR> 一、M12864-7A7LCD液晶显示屏介绍<BR> 显示角度:6点钟直视;<BR> STN正视反射模式;<BR> 显示颜色:黄绿底兰字;<BR> 点阵:128点X64点;<BR> 点尺寸:(W)(H)(mm);<BR> 点距:(W)(H)(mm);<BR> 二、KS0108控制器介绍<BR> KS0108液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可以直接与8位微处理器相连。<BR> KS0108与微处理器接口信号<BR> 三、C51应用程序<BR> 显示控制程序:<BR> //初始化=============================================<BR> voidlcd_init(void)<BR> //设置显示起始行为第一行<BR> writecl(0xc0);writecr(0xc0);<BR> //开显示设置<BR> writecl(0x3f);writecr(0x3f);<BR> }<BR> //清屏==============================================<BR> voidlcd_clear(void)<BR> {<BR> ucharlinpage,linbyte;<BR> ucharlinpage1;<BR> for(linpage=1;linpage<=8;linpage++)<BR> {<BR> linpage1=linpage|0x0b8;<BR> writecl(linpage1);writecr(linpage1);<BR> writecl(0x40);writecr(0x40);<BR> for(linbyte=1;linbyte<=64;linbyte++)<BR> {<BR> writedl(0x00);writedr(0x00);<BR> }<BR> }<BR> }<BR> //=====================================================<BR> voidwritecl(mm)//写指令代码左<BR> {<BR> ucharreadlin5;<BR> csa=1;csb=0;rs=0;rw=1;<BR> wait6:lcdaddr=0xff;e08=1;readlin5=lcdaddr;e08=0;readlin5=readlin5&0x80;<BR> if(readlin5==0x80)<BR> {gotowait6;}<BR> rw=0;<BR> mm;e08=1;e08=0;<BR> }<BR> //=====================================================<BR> voidwritedl(uchardatatoo)//写显示数据左<BR> {<BR> ucharreadlin4;<BR> csa=1;csb=0;rs=0;rw=1;<BR> wait5:lcdaddr=0xff;e08=1;readlin4=lcdaddr;e08=0;readlin4=readlin4&0x80;<BR> if(readlin4==0x80)<BR> {gotowait5;}<BR> rs=1;rw=0;lcdaddr=datatoo;e08=1;e08=0;<BR> }<BR> //=====================================================<BR> voidwritecr(mm)//写指令代码右<BR> {<BR> ucharreadlin2;<BR> csa=0;csb=1;rs=0;rw=1;<BR> wait3:lcdaddr=0xff;e08=1;readlin2=lcdaddr;e08=0;readlin2=readlin2&0x80;<BR> if(readlin2==0x80)<BR> {got