首页头部标志
   新闻分类
   联系我们
  • 电话:0411-86632519
  • 传真:0411-86610519
  • 邮箱:dlysys@163.com


 
超声波流量计的主程序研究与设计 十五
时间:2012/7/1 7:15:52  来源:本站原创  点击:1530

超声波流量计的主程序研究与设计  十五

 

//4.lcd显示子程序                                                              

//  检查LCD忙状态

//  lcd_busy1时,忙,等待。Lcd_busy0,闲,可写指令与数据                                                                                                                   

//-----------------------------------------------------------------

bit lcd_busy()

 {                         

    bit result;

    LCD_RS = 0;

    LCD_RW = 1;

    LCD_EN = 1;

    delayNOP();

    result = (bit)(P0&0x80);

    LCD_EN = 0;

    return(result);

 }

 

//-----------------------------------------------------------------                                                               

//  写指令数据到LCD

//  RS=LRW=LE=高脉冲,D0-D7=指令码。                                                                                                                  

//-----------------------------------------------------------------

void lcd_wcmd(uchar cmd)

{                         

   while(lcd_busy());//首先判断lcd是否处于忙的状态

    LCD_RS = 0;//通过RS.RW.EN的设置,进入写指令状态

    LCD_RW = 0;

    LCD_EN = 0;

    _nop_();//空操作,延时作用

    _nop_();

    P0 = cmd;//P0口度读入指令

    delayNOP();

    LCD_EN = 1;//使能发送

    delayNOP();//等待发送完毕

    LCD_EN = 0;  //发送完毕后关关闭

}

 

//-----------------------------------------------------------------                                                              

//  写显示数据到LCD 

//  RS=HRW=LE=高脉冲,D0-D7=数据。                                                                                                                   

//-----------------------------------------------------------------

void lcd_wdat(uchar dat)

{                         

   while(lcd_busy());//lcd_busy()=1,则处于忙状态,就等待

    LCD_RS = 1;//设置RS.RW.EN,进入写数据状态

    LCD_RW = 0;

    LCD_EN = 0;

    P0 = dat;//P0口读入数据

    delayNOP();

    LCD_EN = 1;//将数据存储到LCDROM

    delayNOP();

    LCD_EN = 0;

}

 

//-----------------------------------------------------------------                                                               

//  LCD初始化设定                                                                                                                      

//-----------------------------------------------------------------

void lcd_init()

{

 

    LCD_PSB = 1;         //并口方式

   

    lcd_wcmd(0x34);      //扩充指令操作

    delay(5);

    lcd_wcmd(0x30);      //基本指令操作

    delay(5);

    lcd_wcmd(0x0C);      //显示开,关光标

    delay(5);

    lcd_wcmd(0x01);      //清除LCD的显示内容

    delay(5);

}

超声波流量计

 

 

 
上一篇:超声波流量计的开发与研制探讨 二
下一篇:超声波流量计的开发与研制探讨 三