欢迎来到天天文库
浏览记录
ID:62718456
大小:37.60 KB
页数:14页
时间:2021-05-17
《液晶显示模块编程.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第15章液晶显示模块编程15.2.2MG-12232模块的编程E1下面以图15.1的接口电路为例。液晶显示区域分成E1边和E2边,下面只含边的程序(表15.1中E1=1,E2=0),E2边(表15.1中E仁0,E2=1)类推。在系统程序的初始化部分,应对程序中用到的寄存器和临时变量作说明,如:unsignedcharTRANS;unsignedcharPAGEADD;//存放页地址寄存器unsignedcharPAGENUM;//存放总页数寄存器unsignedcharCLMSUM;//存放总列数寄存器unsignedch
2、arCLMADD;//存放列地址寄存器unsignedcharWRITE;//存放显示数据寄存器unsignedcharrow;//存放显示起始行寄存器unsignedchari,k;//通用寄存器//系统各口的输入输出状态初始化子程序//设置PORTA口和PORTE口为数字I/O口//设置液晶的4个控制脚为输出voidINITIAL(){ADCON1=0X87;TRISA3=0;TRISB0=0;TRISE=0X00;}//读液晶显示器状态子程序voidLCDSTA1(){while(1){TRISD=0XFF;RB0=
3、1;RA3=0;RE0=1;RE1=0;if(RD7==0)break;}}//设置D口为输入//E1=1//E2=0//R/W=1//A0=0//为忙状态,则继续等待其为空闲//对液晶显示器发指令子程序(指令保存在TRANS寄存器中)voidTRANS1(){LCDSTA1();TRISD=0X00;//判断液晶是否为忙//置D口为输出//E1=1//E2=0//R/W=0//A0=0//需要写入的命令字送入数据线//E1=0写入指令//R/W=1数据保存在WRITE寄存器中)RB0=1;RA3=0;RE0=0;RE1
4、=0;PORTD=TRANS;RB0=0;RE0=1;}//对液晶显示器写数据子程序voidWRITE1(){TRANS=CLMADD;TRANS1();LCDSTA1();TRISD=0X00;RB0=1;//E1=1RA3=0;//E2=0RE0=0;//R/W=0RE1=1;//A0=1PORTD=WRITE;RB0=0;CLMADD++;RE0=1;}//开E1显示子程序voidDISP1(){while(1){TRANS=0XAF;TRANS1();LCDSTA1();TRISD=0XFF;RB0=1;RA3=0
5、;RE0=1;RE1=0;if(RD5==0)break;}//设置列地址//查询液晶是否为空闲//D口为输出//需要写入的数据放入D口〃E仁0,写入数据//列地址加1//R/W=1//送出控制命令//判断液晶是否为空闲//设置D口为输入//E1=1//E2=0//R/W=1//A0=0}//如果液晶没被关闭,则继续关}//E1边清屏子程序voidCLEAR1(){PAGEADD=0xB8;//设置页地址代码for(PAGENUM=0X04;PAGENUM>0;PAGENUM--){TRANS=PAGEADD;TRANS1
6、();CLMADD=0x00;//设置起始列;CLMSUM>0;CLMSUM--){//判断液晶是否为空闲//写入00H以清屏//页号增1for(CLMSUM=0X50LCDSTA1();WRITE=0X00WRITE1();}PAGEADD++;}}//关E1显示子程序voidDISOFF1(){while(1){TRANS=0XAE;TRANS1();LCDSTA1();TRISD=0XFF;RB0=1;RA3=0;RE0=1;RE1=0;if(RD5==1)break;}//发出控制命令//判断液晶是否为空闲//D
7、口设置为输入//E1=1//E2=0//R/W=1//A0=0//如果液晶没被关闭,则继续关DISOFF1();//关显示E1DISOFF1();//关显示E1有了以上的通用子程序,就可以构造出各种显示程序,如字符、汉字、曲线等。执行这些程序前,必须对液晶进行初始化。初始化的顺序为:关显示T正常显示驱动设置t占空比设置t复位tADC选择t清屏t开显示,程序如下://E1边初始化voidlcd1(){DISOFF1();//关显示E1TRANS=0XA4;TRANS1();TRANS=0XA9;TRANS1();TRANS=
8、0XE2;TRANS1();TRANS=0XA0;TRANS1();CLEAR1();LCDSTA1();DISP1();}//静态显示驱动//发出控制命令//占空比为1/32//发出控制命令//复位//发出控制命令//ADC选择正常输出//发出控制命令//清屏//判断液晶是否为空闲//开显示15.4程
此文档下载收益归作者所有