#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define HIGH 1
#define LOW 0
/*DO-D7-----P10-P17 */
sbit rs = P3^3;
sbit rw = P3^4;
sbit en = P3^5;
sbit Busy =P1^7;
// 短延时
void Delay(uint delay)
{
uint i = delay;
while(i--);
}
uint reads(void)//读忙状态
{
rs=0;
rw=1;
do{
P1=0xff;
en=1;
en=0;
}while(!Busy);
return 1;
}
void WC( uchar com ) //写命令字
{
if(reads())
{
rs=0;
rw=0;
P1=com;
en=1;
en=0;
}
else
//print("Busy");
return;
}
void WD( uchar dis )//写显示字
{
if(reads())
{
rs=1;
rw=0;
P1=dis;
en=1;
en=0;
}
else
// printf("Busy");
return;
}
void WriteLcd(uchar add1,uchar add2,uchar aram) //显示add1,add2对应的字符
{
WC(aram);
WD( add1 );
WD( add2 );
}
void Init_Lcd()//初始化
{
Delay(65525);
WC(0x38);
Delay(65525);
WC(0x08);
Delay(65525);
WC(0x01);
Delay(65525);
WC(0x06);
Delay(65525);
WC(0xc0);
Delay(65525);
return;
}
//void WriteLcd(ulong LcdDisplayNumber)
//{
//}
void main()
{
// idata uchar i;
Init_Lcd();
WriteLcd(0xa2,0xb1,0);
WriteLcd(0xa2,0xb2,1);
WriteLcd(0xa2,0xb3,2);
WriteLcd(0xa2,0xb4,3);
WriteLcd(0xa2,0xb5,4);
return;
}