欢迎来到天天文库
浏览记录
ID:55178613
大小:12.31 KB
页数:10页
时间:2020-04-30
《单片机-LCD.C液晶驱动程序.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、附录二LCD.C液晶驱动程序#include"REG51F.h"#include"intrins.h"#include"USEH1.h"#include"lcd.h"#include"HZcode.h"bitbusy_bit=1;//函数声明==============================voidnop(void);bitCheckBusy(void);//状态检查//写显示数据//dat:显示数据voidWriteByte(uchardat);//向LCD发送命令//command:命令SendCommandToLCD(ucharcommand);//函数定义======
2、========================voidnop(void){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();精选_nop_();_nop_();_nop_();_nop_();}//状态检查bitCheckBusy(void){ucharstate=0;P1=0xFF;//空读操作RW=1;DI=0;EN=1;state=P1;EN=0;P1=0xFF;//再读才有效RW=1;DI=0;EN=1;state=P1;EN=0;busy_bit=(bit)(state>>7);return(busy_bit);
3、}//写显示数据//dat:显示数据voidWriteByte(uchardat){while(CheckBusy());DI=1;精选RW=0;LCD_P=dat;EN=1;EN=0;}/*-------------------------------------------------------------*///向LCD发送命令//command:命令SendCommandToLCD(ucharcommand){while(CheckBusy());RW=0;DI=0;LCD_P=command;EN=1;EN=0;}/*----------------------------
4、---------------------------------*///设定行地址(页)--X0-7voidSetLine(ucharline){line&=0x07;//0<=line<=7line
5、=0xb8;//10111xxxSendCommandToLCD(line);}//设定列地址--Y0-63voidSetColumn(ucharcolumn){column&=0x3f;//0=6、=0x40;//01xxxxxx精选SendCommandToLCD(column);}//设定显示开始行--XXvoidSetStartLine(ucha7、rstartline)//0--63{//startline&=0x07;startline8、=0xc0;//11000000SendCommandToLCD(startline);}//开关显示voidSetOnOff(ucharonoff){onoff9、=0x3e;//0011111xSendCommandToLCD(onoff);}/*-----------------------------------------------------------*///选择屏幕//screen:0-全屏,1-左屏,2-右屏voidSelectScreen(ucharscreen){//显示10、器:负有效CS1:0--右;CS2:0--左switch(screen){case0:CS1=0;//全屏nop();CS2=0;nop();break;case1:CS1=1;//左屏精选nop();CS2=0;nop();break;case2:CS1=0;//右屏nop();CS2=1;nop();break;default:break;}}/*------------------------------------------------------------*///清屏//screen:0-全屏,1-左屏,2-右voidClearScreen(ucharscreen){uc11、hari,j;SelectScreen(screen);for(i=0;i<8;i++){SetLine(i);for(j=0;j<64;j++){SetColumn(j);WriteByte(0x00);}}精选}/*-------------------------------------------------------------*///显示8*8点阵//lin:行(0-7),column:列(0-127)//address:字模区首
6、=0x40;//01xxxxxx精选SendCommandToLCD(column);}//设定显示开始行--XXvoidSetStartLine(ucha
7、rstartline)//0--63{//startline&=0x07;startline
8、=0xc0;//11000000SendCommandToLCD(startline);}//开关显示voidSetOnOff(ucharonoff){onoff
9、=0x3e;//0011111xSendCommandToLCD(onoff);}/*-----------------------------------------------------------*///选择屏幕//screen:0-全屏,1-左屏,2-右屏voidSelectScreen(ucharscreen){//显示
10、器:负有效CS1:0--右;CS2:0--左switch(screen){case0:CS1=0;//全屏nop();CS2=0;nop();break;case1:CS1=1;//左屏精选nop();CS2=0;nop();break;case2:CS1=0;//右屏nop();CS2=1;nop();break;default:break;}}/*------------------------------------------------------------*///清屏//screen:0-全屏,1-左屏,2-右voidClearScreen(ucharscreen){uc
11、hari,j;SelectScreen(screen);for(i=0;i<8;i++){SetLine(i);for(j=0;j<64;j++){SetColumn(j);WriteByte(0x00);}}精选}/*-------------------------------------------------------------*///显示8*8点阵//lin:行(0-7),column:列(0-127)//address:字模区首
此文档下载收益归作者所有