|
用超聲波和lcd做了個(gè)測(cè)距,但是發(fā)現(xiàn)字符有的顯示不正確,就寫了個(gè)lcd單獨(dú)顯示的程序,發(fā)現(xiàn)和之前錯(cuò)誤的是一樣的。
搞不懂是什么原因?qū)е碌摹?br />
IMG_20191221_115535.jpg (2.84 MB, 下載次數(shù): 24)
下載附件
2019-12-21 12:00 上傳
代碼和顯示圖片如下:
#include <reg52.h>
sbit LCDEN=P3^4;
sbit LCDRS=P3^5;
sbit U1=P2^6;
sbit U2=P2^7;
unsigned char code table[]={"Distance:"};
void delayms(unsigned int);
void write_com(unsigned char com)
{
LCDRS=0;
P0=com;
delayms(10);
LCDEN=1;
delayms(10);
LCDEN=0;
}
void write_date(unsigned char date)
{
LCDRS=1;
P0=date;
delayms(10);
LCDEN=1;
delayms(10);
LCDEN=0;
}
void init()
{
U1=0;
U2=0;
LCDEN=0;
write_com(0x38);
write_com(0x0C);
write_com(0x06);
write_com(0x01);
}
void main()
{ unsigned char num;
init();
write_com(0x80);
for(num=0;num<=8;num++)
{
write_date(table[num]);
}
while(1);
}
void delayms(unsigned int ms)
{
unsigned int x,y;
for(x=ms;x>0;x--)
for(y=110;y>0;y--);}
|
|