#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define dataport P0
sbit rs=P2^0;
sbit rw=P2^1;
sbit en =P2^2;
sbit start =P2^3;
sbit oe =P2^4;
sbit eoc=P2^5;
sbit addA=P3^4;
sbit addB=P3^5;
sbit addC=P3^6;
uint data_port;
uchar dis2[11]={"VOL:000.00V"};
void delay(uint z);
void dic_wr(uchar dicate);
void date_wr(uchar dat);
void LCD_init();
void delay(uint z)
{
uint m,n;
for(m=z;m>0;m--)
for(n=112;n>0;n--){;}
}
void dic_wr(uchar dicate)
{
rs=0;
rw=0;
delay(6);
dataport=dicate;
en=1;
delay(6);
en=0;
}
void date_wr(uchar dat)
{
rs=1;
rw=0;
dataport=dat;
en=1;
delay(6);
en=0;
}
void LCD_init(void)
{
dic_wr(0x38);
delay(1);
dic_wr(0x0C);
delay(1);
dic_wr(0x01);
delay(1);
dic_wr(0x06);
delay(1);
//清除LCD的显示内容
}
void main()
{
uchar a;
LCD_init();
addA=0;
addB=0;
addC=0;
while(1)
{
start=0;
start=1;
start=0;
while(eoc==0);
oe=1;
data_port=P1;
oe=0;
data_port=data_port*44*500.0/255;
dis2[4]=data_port/10000+0x30;
dis2[5]=data_port%10000/1000+0x30;
dis2[6]=data_port%1000/100+0x30;
dis2[8]=data_port%100/10+0x30;
dis2[9]=data_port%10+0x30;
dic_wr(0x80);
for(a=0;a<11;a++)
{
date_wr(dis2[a]);
}
}
}