毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

基于现场总线的温度测控系统设计 第16页

更新时间:2009-4-1:  来源:毕业论文
基于现场总线的温度测控系统设计 第16页|免费论文
void lcd_wdat(uchar dat)       //写显示数据到LCD
//RS=H,RW=L,E=高脉冲,D0-D7=数据。
{
while(lcd_busy());
LCD_RS = 1;
LCD_RW = 0;
LCD_EN = 0;
P1 = dat;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN = 1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN = 0;
}

void lcd_pos(uchar pos)     // 设定显示位置

{
lcd_wcmd(pos|0x80);                            //数据指针=80+地址变量
}

void lcd_init()        //LCD 初始化设定
{
delay(15);                                     //等待LCD 电源稳定
lcd_wcmd(0x38);                          //16*2 显示,5*7点阵,8 位数据
delay(5);
lcd_wcmd(0x38);
delay(5);
lcd_wcmd(0x38);
delay(5);
lcd_wcmd(0x0c);                                //显示开,关光标
delay(5);
lcd_wcmd(0x06);                                //移动光标
delay(5);
lcd_wcmd(0x01);                                //清除LCD 的显示内容
delay(5);
}

void lcd_clr()             // 清屏子程序
{
lcd_wcmd(0x01);                                 //清除LCD 的显示内容
delay(5);
}

void flash()          // 闪动子程序
{delay(600);                                        //控制停留时间
lcd_wcmd(0x08);                                    //关闭显示
delay(200);                                         //延时
lcd_wcmd(0x0c);                                    //开显示
delay(200);
lcd_wcmd(0x08);                                    //关闭显示
delay(200);                                        //延时
lcd_wcmd(0x0c);                                    //开显示
delay(200);
}

void intsvr0(void) interrupt 0 using 1    //温度输入中断级优先
{wendushuru();
}

main()       //主程序
{  uchar i;
EA=1; PT0=1;
ET1=1;
IT0=1;IT1=1;
EX0=1;EX1=1;
TMOD=0X20;                                  //波特率为9600的定时器1
TL1=-5000/256;                                    //定时器1的初值
TH1=-5000%256;
SCON=0xe8;                                   //设置串行口,可多机通信
PCON=0X00;
TR1=1;
do{  rom();
    tmpchange();       // 开始温度转换
    delay(200);            // 读取延时
 tmp();                //读取温度
    wendushuru();
    temp_control();
 delay(10);
    lcd_init(); //初始化LCD

    while(1)
  {lcd_clr();
    lcd_pos(0x10);                       //设置显示位置为第一行第17 列
    do
      {                                 //显示字符" "
        lcd_wdat(TEMP);
      }while(1);

    for(i=0;i<16;i++)                      //向左移动16 格
      {
        lcd_wcmd(0x18);                   //字符同时左移一格
        delay(100);                        //控制移动时间
       }
          flash();                             //闪动二次
   }
   }while(1); 

 << 上一页  [11] [12] [13] [14] [15] [16] 

基于现场总线的温度测控系统设计 第16页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。