#include
#define uchar unsigned char
#define uint unsigned int
#define cmd P0
#define lcmbusy P0_7
#define RS P3_4
#define RW P3_3
#define EN P3_2
#define c_cls 0x01
#define c_curret 0x02
#define c_setmode1 0x06
#define c_setmode2 0x07
#define c_setmode3 0x04
#define c_setmode4 0x05
#define c_displayoff 0x08
#define c_displayon1 0x0c
#define c_displayon2 0x0f
#define c_displayon3 0x0e
#define c_displaymove1 0x10
#define c_displaymove2 0x14
#define c_displaymove3 0x18
#define c_displaymove4 0x1c
#define c_setfunc1 0x30
#define c_setfunc2 0x34
#define c_setfunc3 0x38
#define c_setfunc4 0x20
#define c_setfunc5 0x24
#define c_setfunc6 0x28
#define BL P3_5
uchar code hexcode[16]="0123456789ABCDEF";
void cmdexec(uchar scmd)
{
cmd=0xff;
RS=0;
RW=1;
_nop_();
EN=1;
_nop_();
_nop_();
while(lcmbusy);
EN=0;
RS=0;
RW=0;
cmd=scmd;
_nop_();
EN=1;
_nop_();
_nop_();
EN=0;
}
void show(uchar x,uchar y,uchar schar){
uchar temp;
temp=x&0x0f;
y&=0x3;
if(y==2)temp|=0x40;
temp|=0x80;
cmd=0xff;
RS=0;
RW=1;
_nop_();
EN=1;
_nop_();
_nop_();
while(lcmbusy);
EN=0;
RS=0;
RW=0;
cmd=temp;
_nop_();
EN=1;
_nop_();
_nop_();
EN=0;
RS=0;
RW=1;
_nop_();
EN=1;
_nop_();
_nop_();
while(lcmbusy);
EN=0;
RS=1;
RW=0;
cmd=schar;
_nop_();
EN=1;
_nop_();
_nop_();
EN=0;
}
void showstr(char x,y,char *string)
{