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]