液晶显示模块编程.docVIP

  • 4
  • 0
  • 约9.77千字
  • 约 14页
  • 2021-11-13 发布于山东
  • 举报
(整理)液晶显示模块编程 (整理)液晶显示模块编程 PAGE / NUMPAGES (整理)液晶显示模块编程 精品文档 第 15 章 液晶显示模块编程 15.2.2 MG-12232 模块的编程 下面以图 15.1 的接口电路为例。液晶显示区域分成 E1 边和 E2 边,下面只含 E1 边的程序(表 15.1 中 E1=1, E2=0 ), E2 边(表 15.1 中 E1=0, E2=1 )类推。 在系统程序的初始化部分,应对程序中用到的寄存器和临时变量作说明,如: unsigned char TRANS ; unsigned char PAGEADD ; // 存放页地址寄存器 unsigned char PAGENUM ; //存放总页数寄存器 unsigned char CLMSUM ; // 存放总列数寄存器 unsigned char CLMADD ; // 存放列地址寄存器 unsigned char WRITE ; // 存放显示数据寄存器 unsigned char row ; // 存放显示起始行寄存器 unsigned char i, k; // 通用寄存器 //系统各口的输入输出状态初始化子程序 void INITIAL() { ADCON1=0X87 ; //设置 PORTA 口和 PORTE 口为数字 I/O 口 TRISA3=0 ; TRISB0=0 ; TRISE=0X00 ; //设置液晶的 4 个控制脚为输出 } //读液晶显示器状态子程序 void LCDSTA1() { while(1) { TRISD=0XFF ; // 设置 D 口为输入 RB0=1 ; //E1=1 RA3=0 ; //E2=0 RE0=1 ; //R/W=1 RE1=0 ; //A0=0 if(RD7==0) break; // 为忙状态,则继续等待其为空闲 } } //对液晶显示器发指令子程序(指令保存在 TRANS 寄存器中 ) void TRANS1() { LCDSTA1() ; // 判断液晶是否为忙 精品文档 精品文档 TRISD=0X00 ; // 置 D 口为输出 RB0=1 ; //E1=1 RA3=0 ; //E2=0 RE0=0 ; //R/W=0 RE1=0 ; //A0=0 PORTD=TRANS ; // 需要写入的命令字送入数据线 RB0=0 ; //E1=0 写入指令 RE0=1 ; //R/W=1 } //对液晶显示器写数据子程序(数据保存在 WRITE 寄存器中) void WRITE1() { TRANS=CLMADD ; // 设置列地址 TRANS1() ; LCDSTA1() ; // 查询液晶是否为空闲 TRISD=0X00 ; //D 口为输出 RB0=1 ; //E1=1 RA3=0 ; //E2=0 RE0=0 ; //R/W=0 RE1=1 ; //A0=1 PORTD=WRITE ; // 需要写入的数据放入 D 口 RB0=0 ; //E1=0 ,写入数据 CLMADD++ ; // 列地址加 1 RE0=1 ; //R/W=1 } //开 E1 显示子程序 void DISP1() { while(1) { TRANS=0XAF ; TRANS1() ; // 送出控制命令 LCDSTA1() ; // 判断液晶是否为空闲 TRISD=0XFF ; // 设置 D 口为输入 RB0=1 ; //E1=1 RA3=0 ; //E2=0 RE0=1 ; //R/W=1 RE1=0 ; //A0=0 if(RD5==0) break; // 如果液晶没被关闭,则继续关 精品文档 精品文档 } } //E1 边清屏子程序 void CLEAR1() { PAGEADD=0xB8 ; // 设置页地址代码 for(PAGENUM=0X04 ; PAGENUM0 ; PAGENUM--){ TRANS=PAGEADD ; TRANS1() ; CLMADD=0x00 ; // 设置起始列 for(CLMSUM=0X50 ;CLMSUM0 ;CLMSUM--){ LCDSTA1() ; // 判断液晶是否为空闲 WRITE=0X00 ; WRITE1() ; // 写入 00H 以清屏 } PAGEADD++ ; // 页号增 1 } } //关 E1 显示子程序 void DISOFF1() { while(1) { TRANS=0XAE ; TRANS1() ; // 发出控制命令 LCDSTA1() ; // 判断液晶是否为空闲 TRISD=0XFF ; //D 口设置为输入 RB0=1 ; //E1=1 RA3=0 ; //E2=

文档评论(0)

1亿VIP精品文档

相关文档