//單片機類型STC89C52,晶振頻率11.0592MHz,部分注釋復制時亂碼。。。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;
sbit rs=P3^5;
sbit rw=P3^6;
sbit dula=P2^6;
sbit wela=P2^7;
uchar table1[]="0123456789ABCDEF ";//?????
uchar table2[]="ABCDEFGHIG ";//?????
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=10;b>0;b--);
}
void write_com(uchar com) //д????
{
P0=com;
rs=0; //д????
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void write_date(uchar date) //д????
{
P0=date;
rs=1; //д????
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void init()
{
rw=0;
dula=0;
wela=0;
write_com(0x38); //??????????16??2?????5??7????8λ??????
delay(20);
write_com(0x0f); //?????????
delay(20);
write_com(0x06); //?????????????????????????
delay(20);
write_com(0x01); //?????????????????????????
delay(20);
}
void main()
{
uchar a,b0;
init();
write_com(0x01); //?????????????????????????
write_com(0x80);//?????????????????????????????????????????? //delay(2000);
delay(20);
for(a=0;a<16;a++)
{
write_date(table1[a]);
delay(20);
//delay1(200);
}
write_com(0xc0);//???????????????????0xc5?????????6??
delay(20); b0=47;
for(a=0;a<15;a++)
{
write_date(b0);//b0=ASCLL num;
//write_date(table2[a]);
delay(20);
b0++;
}
while(1);//???????????
}
|