|
#include<reg51.h>
#include<intrins.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^7;
sbit rw=P2^6;
sbit en=P2^5;
sbit c1=P3^2;
uchar num[]="0123456789";
uchar dist=0;
//延時(shí)程序
void delay(uint x)
{
uint q ;
while(x--) for(q=0;q<200;q++);
}
// 寫命令函數(shù)
void lcd_com(uchar com)
{
rs=0;
P0=com;
rw=0;
delay(5);
en=1;
en=0;
}
//寫數(shù)據(jù)函數(shù)
void lcd_data(uchar date)
{
rs=1;
rw=0;
P0=date;
delay(5);
en=1;
en=0;
}
//初始化函數(shù)
void init()
{
lcd_com(0x38);
lcd_com(0x0c);
lcd_com(0x06);
lcd_com(0x01);
}
void lcd_display(uchar temp)
{
lcd_com(0x80+0x41);
lcd_data('D');
lcd_data('i');
lcd_data('s');
lcd_data('t');
lcd_data('a');
lcd_data('n');
lcd_data('c');
lcd_data('e');
lcd_data(':');
lcd_data(num[temp/100]);
lcd_data(num[temp/10%10]);
lcd_data(num[temp%10]);
lcd_data('c');
lcd_data('m');
}
void main()
{
TMOD=0x09;
EA=1;
while(1){
TH0=0;TL0=0;
while(c1);
TR0=1 ;
while(!c1);
while(c1);
TR0=0;
init();
dist=256*TH0+TL0;
lcd_display(dist);}
}
|
|