超聲波流量計的主程序研究與設(shè)計 十六
//-----------------------------------------------------------------
// 顯示位置設(shè)定
//-----------------------------------------------------------------
void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if (X==0)
{X=0x80;}
else if (X==1)
{X=0x90;}
else if (X==2)
{X=0x88;}
else if (X==3)
{X=0x98;}
pos = X+Y ;
lcd_wcmd(pos); //顯示地址
}
//-----------------------------------------------------------------
// 延時x*0.14ms子程序
//-----------------------------------------------------------------
void delay0(uchar x) //x*0.14MS
{
uchar i;
while(x--)
{
for (i = 0; i<13; i++) {}
}
}
//-----------------------------------------------------------------
// LCD顯示子程序lcd_disp()
//-----------------------------------------------------------------
void lcd_disp()
{
uchar i;
delay(10); //延時
wela=0;
dula=0;
//將要現(xiàn)實的數(shù)據(jù)賦值給對應(yīng)的數(shù)據(jù)組中的位
dis1[6]=data_d[0];//空出dis1[8],dis2[8],dis3[8],dis4[8]分別留給每一行的小數(shù)點(diǎn)顯示
dis1[7]=data_d[1];
dis1[9]=data_d[2];
dis2[6]=data_jiao[0];
dis3[7]=data_jiao[1];
dis4[9]=data_jiao[2];
dis3[6]=data_v[0];
dis3[7]=data_v[1];
dis3[9]=data_v[2];
dia3[10]=data_v[3];
dis4[6]=data_q[0];
dis4[7]=data_q[1];
dis4[9]=data_q[2];
dis4[10]=data_q[3];
lcd_init(); //初始化LCD
lcd_pos(0,0); //設(shè)置顯示位置為第一行的第1個字符
i = 0;
while(dis1[i] != '\0')
{ //顯示字符
lcd_wdat(dis1[i]);
i++;
}
lcd_pos(1,0); //設(shè)置顯示位置為第二行的第1個字符
i = 0;
while(dis2[i] != '\0')
{
lcd_wdat(dis2[i]); //顯示字符
i++;
}
lcd_pos(2,0); //設(shè)置顯示位置為第三行的第1個字符
i = 0;
while(dis3[i] != '\0')
{
lcd_wdat(dis3[i]); //顯示字符
i++;
}
lcd_pos(3,0); //設(shè)置顯示位置為第四行的第1個字符
i = 0;
while(dis4[i] != '\0')
{
lcd_wdat(dis4[i]); //顯示字符
i++;
}
while(1);
}
超聲波流量計