LCD12864显示程序[参考]

上传人:x****育 文档编号:146266897 上传时间:2020-09-28 格式:PDF 页数:3 大小:76.75KB
返回 下载 相关 举报
LCD12864显示程序[参考]_第1页
第1页 / 共3页
LCD12864显示程序[参考]_第2页
第2页 / 共3页
LCD12864显示程序[参考]_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《LCD12864显示程序[参考]》由会员分享,可在线阅读,更多相关《LCD12864显示程序[参考](3页珍藏版)》请在金锄头文库上搜索。

1、精品文档可编辑版 本例程为通过用 AT89C52 芯片操作 LCD12864 显示的程序,使用的晶振为 12M。 /* 程序说明:LCD12864 显示主程序 程序调试员:莫剑辉 调试时间:2010-6-7 */ #include #include12864.c void main() Ini_Lcd(); /液晶初始化子程序 Disp(1,0,6,莫剑辉); /显示数据到 LCD12864 子程序 while(1); 这里我们通过调用下面的头文件就可以了,这样的做法方便我们以后要用到 LCD12864 的程序的调用。 /* 程序说明:LCD12864 显示头文件 程序调试员:莫剑辉 调试时间

2、:2010-6-7 */ /#include #define uchar unsigned char #define uint unsigned int #define DATA P2 /数据输出端 07 sbit RS=P00; /LCD12864 RS 端 sbit RW=P01; /LCD12864 RW 端 sbit E =P02; /LCD12864 E 端 sbit PSB =P03; /* 延时子程序 */ void Delay_1ms(uint x) uint j,i; for(j=0;jx;j+) for(i=0;i120;i+); /延时 X 乘以 120 1 / 3 精品

3、文档可编辑版 /* LCD12864 液晶测忙子程序(读状态) */ void Busy() uchar busy; do E = 0; /0 为关闭使能端,1 为打开使能端 RS = 0; /1 为指令,0 为数据 RW = 1; /1 为读,0 为写 Delay_1ms(20); /延时 20 乘以 120 时间 E = 1; /0 为关闭使能端,1 为打开使能端 busy=P1; /读取 P2 状态 Delay_1ms(20); /延时 20 乘以 120 时间 E = 0; /0 为关闭使能端,1 为打开使能端 while(busy /判断 BUSY 位是否工作:1 为内部在工作,0

4、为正常状态 /* LCD12864 液晶数据写入子程序 */ void Write_Data(uchar k) Busy(); /测忙 E =1;/0 为关闭使能端,1 为打开使能端 RS=1;/1 为指令,0 为数据 RW=0;/1 为读,0 为写 DATA=k;/输入数据 K 到 DATA Delay_1ms(20);/延时 20 乘以 120 时间 E =0; /0 为关闭使能端,1 为打开使能端 Delay_1ms(20); /延时 20 乘以 120 时间 /* LCD12864 液晶命令写入子程序 */ void Write_Cmd(uchar cmd) Busy(); /测忙 E

5、=1;/0 为关闭使能端,1 为打开使能端 RS=0; /1 为指令,0 为数据 RW=0;/1 为读,0 为写 DATA=cmd; /输入命令 cmd 到 DATA Delay_1ms(20);/延时 20 乘以 120 时间 2 / 3 精品文档可编辑版 E=0;/0 为关闭使能端,1 为打开使能端 Delay_1ms(20);/延时 20 乘以 120 时间 /* LCD12864 液晶数据显示子程序 */ void Disp(uchar y,uchar x,uchar i,uchar *z) uchar Address; if(y=1)Address=0 x80+x; /Y 判断第几行

6、,X 判断第几列,0 x80 为液晶行初始地址 if(y=2)Address=0 x90+x; if(y=3)Address=0 x88+x; if(y=4)Address=0 x98+x; Write_Cmd(Address); /写入地址命令到 LCD12864 while(i) /写入显示数据的大小 Write_Data(*(z+); /写入显示数据到 LCD12864 i-; /* LCD12864 液晶初始化子程序 */ void Ini_Lcd(void) PSB=1; Delay_1ms(20); Write_Cmd(0 x30); /基本指令集 Delay_1ms(20); Write_Cmd(0 x02); / 地址归位 Delay_1ms(20); Write_Cmd(0 x0c); /整体显示打开,游标关闭 Delay_1ms(20); Write_Cmd(0 x06); /游标右移 Delay_1ms(20); Write_Cmd(0 x80); /设定显示的起始地址 Delay_1ms(20); Write_Cmd(0 x01); /清除显示 3 / 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号