字符液晶显示器C语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
CXPOS++;
if(CXPOS>19)
{
CXPOS=0;
CYPOS++;
CYPOS&=0X30;
}
}
voidlcdreset(void)
{
lcdwc(0x38);
delay3ms();
lcdwc(0x38);
delay3ms();
lcdwc(0x38);
delay3ms();
lcdwc(0x38);
voidlcdwd(uchard);
ucharlcdrd(void);
voidlcdwaitidle(void);
ucharxdataLCDCRREG_at_0x8200;
ucharxdataLCDCWREG_at_0x8000;
ucharxdataLCDDRREG_at_0x8300;
ucharxdataLCDDWREG_at_0x8100;
}
voidlcdwaitidle(void)
{
uchari;
for(i=0;i<20;i++)
// if((LCDCRREG&0X80)==0)
break;
}
exdelay();
exdelay();
//putstrxy(6,0,"SMC2004A");
exdelay();
exdelay();
//putstrxy(1,1,"Changchun Institute");
exdelay();
exdelay();
//putstrxy(4,2,"of Technology");
delay3ms();
lcdwc(0x08);
lcdwc(0x01);
delay3ms();
lcdwc(0x06);
lcdwc(0x0c);
}
void delay3ms(void)
{来自百度文库
uchari,j,k;
for(i=0;i<3;i++)
for(j=0;j<64;j++)
for(k=0;k<51;k++);
uchardata CXPOS;
uchardata CYPOS;
voidexdelay(void)
{
uchari,j,k;
for(i=0;i<30;i++)
for(j=0;j<64;j++)
for(k=0;k<51;k++);
}
void main(void)
{
uchari;
lcdreset();
charfill();
字符液晶显示器C语言程序
#include<reg51.h>
#include<intrins.h>
#defineucharunsigned char
#defineuintunsignedint
voidcharfill(ucharc);
voidpustrxy(ucharcx,ucharcy,ucharcode *s);
{
putchar(*s);
charcursornex();
}
}
voidputchar(ucharc)
{
charlcdpos();
lcdwd(c);
}
uchargetchar(void)
{
charlcdpos();
returnlcdrd();
}
voidcharlcdpos(void)
{
if(CXPOS>=20) CXPOS=0;
}
}
voidputstrxy(ucharcx,ucharcy,ucharcode *s)
{
CXPOS=cx;
CYPOS=cy;
for(;*s!=0;s++)
{
putchar(*s);
charcursornext();
}
}
voidputstr(ucharcode *s)
{
for(;*s!=0;s++)
exdelay();
exdelay();
//putstrxy(3,3,"WWW.CCIT.EDU.CN");
exdelay();
exdelay();
}
voidcharfill(ucharc)
{
for(CXPOS=CYPOS=0;1;)
{
putchar(c);
charcursornext();
if((CXPOS==0)&&(CYPOS==0)) break;
voidputstr(ucharcode *s);
voidputchar(ucharc);
uchargetchar(void);
voidcharlcdpos(void);
voidcharcursornext(void);
voidlcdreset(void);
void delay3ms(void);
voidlcdwc(ucharc);
CYPOS&=0X03;
if(CYPOS==0)
lcdwc(CXPOS|0X80);
else if(CYPOS==1)
lcdwc(CYPOS|0XC0);
else if(CYPOS==2)
lcdwc((CXPOS+20)|0X80);
else
lcdwc((CXPOS+20)|0XC0);
}
voidcharcursornext(void)
}
voidlcdwc(ucharc)
{
lcdwaitidle();
// LCDCWREG=c;
}
voidlcdwd(uchard)
{
lcdwaitidle();
// LCDDWREG=d;
}
ucharlcdrd(void)
{
//uchard;
lcdwaitidle();
// return LCDDRREG;
相关文档
最新文档