您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > lcd12864.h是液晶显示的程序
#defineuintunsignedint#defineucharunsignedchar//****************************************//12864液晶显示部分子程序模块//****************************************sbitrs=P3^0;sbitrw=P3^1;sbite=P3^2;sbitbusy=P0^7;//lcdbusybit#definelcddataP0//**********************************************//延时子程序模块//**********************************************voidmdelay(uintdelay){uinti;for(;delay0;delay--){for(i=0;i80;i++)//1ms延时.{;}}}//********************************//液晶检测忙状态//********************************voidbusy_lcd(void){lcddata=0xff;rs=0;rw=1;e=1;while(busy==1);e=0;}//***********************************//对液晶写数据//***********************************voidwr_d_lcd(ucharcontent){busy_lcd();rs=1;rw=0;lcddata=content;e=1;;e=0;}//********************************//对液晶写指令//*****************************voidwr_i_lcd(ucharcontent){busy_lcd();rs=0;rw=0;lcddata=content;e=1;;e=0;}//**********************************//液晶初始化//**********************************voidinit_lcd(void){wr_i_lcd(0x06);/*光标的移动方向*/wr_i_lcd(0x0c);/*开显示,关游标*/}//***********************************//填充液晶DDRAM全为空格//**********************************voidclrram_lcd(void){wr_i_lcd(0x30);wr_i_lcd(0x01);}//********************************//指定要显示字符的坐标//*******************************voidgotoxy(unsignedchary,unsignedcharx){if(y==1)wr_i_lcd(0x80|x);if(y==2)wr_i_lcd(0x90|x);if(y==3)wr_i_lcd((0x80|x)+8);if(y==4)wr_i_lcd((0x90|x)+8);}//**********************************//液晶显示字符串程序//**********************************voidprint(uchar*str){while(*str!='\0'){wr_d_lcd(*str);str++;}}//***************************************//显示图片模块//***************************************voidshow_p(ucharpmap[64][16]){uchari,j;wr_i_lcd(0x34);for(i=0;i32;i++){wr_i_lcd(0x80|i);wr_i_lcd(0x80);for(j=0;j16;j++){wr_d_lcd(pmap[i][j]);}}for(i=0;i32;i++){wr_i_lcd(0x80|i);wr_i_lcd(0x88);for(j=0;j16;j++){wr_d_lcd(pmap[i+32][j]);}}wr_i_lcd(0x36);wr_i_lcd(0x30);}//***********************************//对液晶读数据//***********************************ucharrr_d_lcd(void){ucharolddata;busy_lcd();//lcddata=0xff;rs=1;rw=1;//e=0;e=1;olddata=lcddata;e=0;mdelay(1);return(olddata);}//***************************************//显示指定点模块//***************************************voiddisp_bit(ucharx,uchary,ucharcolor){ucharrow,tier,tier_bit;ucharreadOldH,readOldL;wr_i_lcd(0x34);wr_i_lcd(0x36);tier=x4;tier_bit=x&0x0f;if(y32)row=y;else{row=y-32;tier+=8;}wr_i_lcd(0x80+row);wr_i_lcd(0x80+tier);rr_d_lcd();readOldH=rr_d_lcd();readOldL=rr_d_lcd();wr_i_lcd(0x80+row);wr_i_lcd(0x80+tier);if(tier_bit8){switch(color){case0:readOldH&=(~(0x01(7-tier_bit)));break;case1:readOldH|=(0x01(7-tier_bit));break;case2:readOldH^=(0x01(7-tier_bit));break;default:break;}wr_d_lcd(readOldH);wr_d_lcd(readOldL);}else{switch(color){case0:readOldL&=(~(0x01(15-tier_bit)));break;case1:readOldL|=(0x01(15-tier_bit));break;case2:readOldL^=(0x01(15-tier_bit));break;default:break;}wr_d_lcd(readOldH);wr_d_lcd(readOldL);}//wr_i_lcd(0x36);wr_i_lcd(0x30);}
本文标题:lcd12864.h是液晶显示的程序
链接地址:https://www.777doc.com/doc-1231418 .html