#include <reg52.h>
#include<string.h>
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
sbit BUSY = P0^7;
sbit k1 = P3^7;
sbit k2 = P3^6;
typedef unsigned char uint8;
typedef unsigned int uint16;
uint16j=0;
staticuint16x=0;
char b[4]={0,0,0,0};
voiddelay(uint16 z)
{
while(z--);
}
voidChuZhi()
{
TMOD|=0x10;
TMOD&=0X1F;
TH1=0xfc; //0.001s
TL1=0x18;
TR1=1;
}
void wait()
{ P0 = 0XFF;
do{EN=0;
RS=0;
RW=1;
EN=1;
}
while(BUSY==1);
EN=0;
}
void write_cmd(uint8 cmd)
{wait();
EN=0;
RS=0;
RW=0;
P0=cmd;
EN=1;
EN=0;
}
void write_data(uint8 dat)
{wait();
EN=0;
RS=1;
RW=0;
P0=dat;
EN=1;
EN=0;
}
void lcd_init()
{
write_cmd(0x38);
write_cmd(0x0c);
write_cmd(0x06);
write_cmd(0x01);
}
voidw_str(uint8addr,char *p)
{
write_cmd(addr);
while(*p)
{
write_data(*p++);
}
}
void ZD()
{
EA=1;
ET1=1;
}
void main()
{ChuZhi();
lcd_init();
ZD();
while(1)
{
P2=0;
if(k1==0)
{delay(1000);
if(k1==0)
{P2=0XFF;
x=0;
write_cmd(0x01);
write_cmd(0xc0);
write_data('j');
write_data('s');
write_data(':');
write_data('0');
while(k1==0);
}
}
if(k2==0)
{delay(1000);
if(k2==0)
{
TR1=~TR1;
while(k2==0);
}
}
}
}
void LCD_miaobiao(void) interrupt 3
{
TH1=0xfc;
TL1=0x18;
j++;
if(100==j)
{
j=0;
x++;
b[0]=x%10;
b[1]=x/10%10;
b[2]=x/100%10;
b[3]=x/1000%10;
}
write_cmd(0x01);
write_cmd(0xc0);
write_data('j');
write_data('s');
write_data(':');
write_data(b[3]+'0');
write_data(b[2]+'0');
write_data(b[1]+'0');
write_data('.');
write_data(b[0]+'0');
}
#include<string.h>
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
sbit BUSY = P0^7;
sbit k1 = P3^7;
sbit k2 = P3^6;
typedef unsigned char uint8;
typedef unsigned int uint16;
uint16j=0;
staticuint16x=0;
char b[4]={0,0,0,0};
voiddelay(uint16 z)
{
while(z--);
}
voidChuZhi()
{
TMOD|=0x10;
TMOD&=0X1F;
TH1=0xfc; //0.001s
TL1=0x18;
TR1=1;
}
void wait()
{ P0 = 0XFF;
do{EN=0;
RS=0;
RW=1;
EN=1;
}
while(BUSY==1);
EN=0;
}
void write_cmd(uint8 cmd)
{wait();
EN=0;
RS=0;
RW=0;
P0=cmd;
EN=1;
EN=0;
}
void write_data(uint8 dat)
{wait();
EN=0;
RS=1;
RW=0;
P0=dat;
EN=1;
EN=0;
}
void lcd_init()
{
write_cmd(0x38);
write_cmd(0x0c);
write_cmd(0x06);
write_cmd(0x01);
}
voidw_str(uint8addr,char *p)
{
write_cmd(addr);
while(*p)
{
write_data(*p++);
}
}
void ZD()
{
EA=1;
ET1=1;
}
void main()
{ChuZhi();
lcd_init();
ZD();
while(1)
{
P2=0;
if(k1==0)
{delay(1000);
if(k1==0)
{P2=0XFF;
x=0;
write_cmd(0x01);
write_cmd(0xc0);
write_data('j');
write_data('s');
write_data(':');
write_data('0');
while(k1==0);
}
}
if(k2==0)
{delay(1000);
if(k2==0)
{
TR1=~TR1;
while(k2==0);
}
}
}
}
void LCD_miaobiao(void) interrupt 3
{
TH1=0xfc;
TL1=0x18;
j++;
if(100==j)
{
j=0;
x++;
b[0]=x%10;
b[1]=x/10%10;
b[2]=x/100%10;
b[3]=x/1000%10;
}
write_cmd(0x01);
write_cmd(0xc0);
write_data('j');
write_data('s');
write_data(':');
write_data(b[3]+'0');
write_data(b[2]+'0');
write_data(b[1]+'0');
write_data('.');
write_data(b[0]+'0');
}