📄 qqq1.c
字号:
#include<reg51.h>
#include<intrins.h>
sbit RSPIN = P0^2;
sbit RWPIN = P0^3;
sbit EPIN = P0^4;
unsigned char XPOS,YPOS;
void delay(unsigned int t)
{ unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
void lcdwaitidle(void)
{ P2=0xff;
RSPIN=0;
RWPIN=1;
EPIN=1;
while((P2&0x80)==0x80);
EPIN=0;
}
void lcdwcn(unsigned char c)
{ RSPIN=0;
RWPIN=0;
P2=c;
EPIN=1;
_nop_();
EPIN=0;
}
void lcdwc(unsigned char c)
{ lcdwaitidle();
lcdwcn(c);
}
void lcdwd(unsigned char d)
{ lcdwaitidle();
RSPIN=1;
RWPIN=0;
P2=d;
EPIN=1;
_nop_();
EPIN=0;
}
void lcdpos(void)
{ XPOS&=0x0f;
YPOS&=0x03;
if(YPOS==0x00)
lcdwc(XPOS|0x80);
else if(YPOS==0x01)
lcdwc((XPOS+0x40)|0x80);
}
void lcdreset()
{
lcdwc(0x38);
lcdwc(0x01);
lcdwc(0x06);
lcdwc(0x0c);
}
void lcdfill(unsigned char n)
{
for(YPOS=0;YPOS<2;YPOS++)
for(XPOS=0;XPOS<16;XPOS++)
{ lcdpos();
lcdwd(n); }
}
void lcdwda(unsigned char x,unsigned char y,unsigned char *s)
{ YPOS=y;
for(XPOS=x;XPOS<16;XPOS++)
{ lcdpos();
lcdwd(*s);
s++;
delay(400);
}
}
main()
{ unsigned char i;
EPIN=0;
while(1)
{ lcdreset();
for(i=0x30;i<=0x3a;i++)
{ lcdfill(i);
delay(5000);
}
lcdfill(' ');
delay(2000);
lcdwda(0,0," GJ-200U ");
lcdwda(0,1,"chinagujing.com ");
delay(20000);
lcdwda(0,0," Welcome! GJ-LTD");
delay(2000);
lcdwda(0,1,"start for MCS51 ");
delay(20000);
lcdwda(0,0,"TEL:020-39454843");
lcdwda(0,1,"FAX:020-31461523");
delay(20000);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -