HD4478U显示LCD与51单片机驱动程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
//写数据voidLcdWD(unsignedchard){LcdWaitIdle();LCDRSPIN=1;
LCDRWPIN=0; P0=d;LCDEPIN=1; _nop_();LCDEPIN=0;}
//内部数据地址指针定位voidLcdPos(void){XPOS&=0x0f;YPOS&=0x03;
for(XPOS=x;XPOScharCharPos=-11;charCharLen=12;//滚动的字符的个数bit
LcdPause =0; //是否停止滚动
以下为字符显示位置与主程序,可相应修改。//设置str1从左边进入void
LcdLeftIn(){ delay(1500);
LCDEPIN=0;LcdWDA(2,1,str2);if(CharPos>16){CharPos=(CharLen-1)*-
HD4478U显示LCD与51单片机驱动程序
#include #include #include
sbit LbitLCDEPIN=P2;
#defineUCHARunsignedcharvoiddelay(unsignedinti){UCHARj;for(i;i>0;
式,2行,2*16*/
LcdWC(0x08);/*清除显示*/LcdWC(0x06);/*设定输入方式,增量不移位*/
LcdWC(0x0c); /*整体显示,关光标,不闪烁*/}
voidLcdWDA(unsignedcharx,unsignedchary,unsignedchar*s){YPOS=y;
tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!
1; }
if(CharPos>0){LcdWDA(CharPos-1,0,”“);//前进一格清除前面的字符
LcdWDA(CharPos,0,str1);}else{LcdWDA(0,0,str1-CharPos);}CharPos++;//
P3=P3B;}
main(){InitLcd();while(1){ LcdLeftIn();}}
i--) for(j = 200;j > 0; j--);}
/////////////////////////////////控制LCDunsigned char XPOS,YPOS;
//测忙voidLcdWaitIdle(void){P0=0xff;LCDRSPIN=0;LCDRWPIN=1;
LCDEPIN=1; while((P0&0x80)==0x80); LCDEPIN=0;}
//写指令代码voidLcdWCN(unsignedcharc){LCDRSPIN=0;LCDRWPIN=0;
P0=c; LCDEPIN=1;_nop_(); LCDEPIN=0;}
//写指令代码(测忙)void LcdWC(unsigned char c){LcdWaitIdle();LcdWCN(c);
if(YPOS==0x00)LcdWC(XPOS|0x80);elseif(YPOS==0x01)
LcdWC((XPOS+0x40)|0x80); else if(YPOS==0x02) LcdWC((XPOS+0x10)|0x80);}
//初始化voidInitLcd(){LCDEPIN=0;delay(150);LcdWCN(0x38);/*设置8位格
相关文档
最新文档