文档库

最新最全的文档下载
当前位置:文档库 > CT107D_LCD12864_1602

CT107D_LCD12864_1602

/*话说每一条指令,只需要延时5ms,就可以不用判忙只要判忙了,就可以不用延时

然后就是经过核查,1602和12864指令规定完全一致指令要求也差不多

0x30 12864的基础指令集工能设置1602 用0x38

所以

0x38 公用整体设置

0x06 公共光标右移,整屏不移动

0x0c 公共开显示,光标不显示

0x01 公共清屏

*/

#include

#define rst573 P2&=0x1f

#define ledY4C P2|=0x80

#define beeY5C P2|=0xa0

#define smgY6C P2|=0xc0

#define smgY7C P2|=0xe0

sbit P04=P0^4;

sbit P06=P0^6;

sbit P36=P3^6;

sbit rsLCD=P2^0;

sbit wrLCD=P2^1;

sbit enLCD=P1^2;

void delaynms(unsigned int ms)

{

unsigned int x,y;

for(x=ms;x;x--)

for(y=110;y;y--);

}

void init107()

{

rst573;

P36=0;

//close led

P0=0xff;

ledY4C;

rst573;

//close bee

P04=0;

P06=0;

beeY5C;

rst573;

//close smg

P0=0x00;

smgY6C;

rst573;

}

void comLCD(unsigned char com) {

rsLCD=0;

wrLCD=0;

P0=com;

delaynms(1);

enLCD=1;

delaynms(1);

enLCD=0;

}

void datLCD(unsigned char dat) {

rsLCD=1;

wrLCD=0;

P0=dat;

delaynms(1);

enLCD=1;

delaynms(1);

enLCD=0;

}

void initLCD()

{

comLCD(0x38);

comLCD(0x06);

comLCD(0x0c);

comLCD(0x01);

}

void main()

{

unsigned char aa[]="hello,girl";

unsigned char *p;

init107();

initLCD();

comLCD(0x85);

for(p=aa;*p;p++)

{

datLCD(*p);

delaynms(600);

}

while(1);

}

TOP相关主题