PIC单片机C语言编程实例.docx

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
word PIC 单片机 C 语言编程实例 —— 液晶显示模块编程 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; RA3=0; RE0=1; RE1=0; //E1=1 //E2=0 //R/W=1 //A0=0 if(RD7==0) break ; //为忙状态,如此继续等待其为空闲 } } //对液晶显示器发指令子程序 void TRANS1() { (指令保存在 TRANS 存放器中 ) LCDSTA1() ; //判断液晶是否为忙 TRISD=0X00 ; //置 D 口为输出 RB0=1; RA3=0; RE0=0; RE1=0; //E1=1 //E2=0 //R/W=0 //A0=0 PORTD=TRANS ; //需要写入的命令字送入数据线 RB0=0; //E1=0 写入指令 1 / 24 word RE0=1; //R/W=1 } //对液晶显示器写数据子程序 void WRITE1() { (数据保存在 WRITE 存放器中 ) 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; RA3=0; RE0=1; RE1=0; //E1=1 //E2=0 //R/W=1 //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() ; //判断液晶是否为空闲 2 / 24 word WRITE=0X00 ; WRITE1() ; //写入 00H 以清屏 } PAGEADD++ ; //页号增 1 } } //关 E1 显示子程序 void DISOFF1() { while(1) { TRANS=0XAE ; TRANS1() ; //发出

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地广西
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档