}
/*-------------------------------------------------------*/
void ChangeTemp3(int val)
{
int D_ge,D_shi,D_bai,sign;
sign=val&0x80; val=val&0x7f;
if(sign==0)
{
Show16X32(2,20,zhenghao);
} if(sign) {
val=(~val+1)&0x7f; Show16X32(2,20,fuhao);
} if(val==0)
{
Show16X32(2,20,nonono);
}
D_ge=val; D_shi=val0/10; D_bai=val/100;
switch(D_ge)
{
case 0:{Show16X32(2,68,ss0);break;} case 1:{Show16X32(2,68,ss1);break;} case 2:{Show16X32(2,68,ss2);break;} case 3:{Show16X32(2,68,ss3);break;} case 4:{Show16X32(2,68,ss4);break;} case 5:{Show16X32(2,68,ss5);break;} case 6:{Show16X32(2,68,ss6);break;} case 7:{Show16X32(2,68,ss7);break;} case 8:{Show16X32(2,68,ss8);break;} case 9:{Show16X32(2,68,ss9);break;}
} switch(D_shi)
{
case 0:{Show16X32(2,52,ss0);break;} case 1:{Show16X32(2,52,ss1);break;} case 2:{Show16X32(2,52,ss2);break;}
case 3:{Show16X32(2,52,ss3);break;} case 4:{Show16X32(2,52,ss4);break;} case 5:{Show16X32(2,52,ss5);break;} case 6:{Show16X32(2,52,ss6);break;} case 7:{Show16X32(2,52,ss7);break;} case 8:{Show16X32(2,52,ss8);break;} case 9:{Show16X32(2,52,ss9);break;}
} switch(D_bai)
{
case 0:{Show16X32(2,36,ss0);break;} case 1:{Show16X32(2,36,ss1);break;} case 2:{Show16X32(2,36,ss2);break;} case 3:{Show16X32(2,36,ss3);break;} case 4:{Show16X32(2,36,ss4);break;} case 5:{Show16X32(2,36,ss5);break;} case 6:{Show16X32(2,36,ss6);break;} case 7:{Show16X32(2,36,ss7);break;} case 8:{Show16X32(2,36,ss8);break;} case 9:{Show16X32(2,36,ss9);break;}
} if(val>=val1)
{
Show16X16(6,32,zhu); Show16X16(6,48,yi); Show16X16(6,64,fang); Show16X16(6,80,shu);
} if(val<=val2)
{
Show16X16(6,32,zhu); Show16X16(6,48,yi); Show16X16(6,64,bao); Show16X16(6,80,nuan);
}
if((val>val2)&&(val { Show16X16(6,32,nononono); Show16X16(6,48,nononono); Show16X16(6,64,nononono); Show16X16(6,80,nononono); } } /*-------------------------------------------------------*/ //显示第一页的内容 void LCDShow1() { Show16X16(0,16,wen);//温 Show16X16(0,32,du);//度 Show16X16(0,48,ce);//测 Show16X16(0,64,liang);//量 Show16X16(0,80,xi);//系 Show16X16(0,96,tong);//统 Show16X16(2,1,zuo);//作 Show16X16(2,17,zhe);//者 Show8X16(2,33,maohao);//?:? Show8X16(2,41,dw);//'w' Show8X16(2,49,uu);//'u' Show8X16(2,57,jj);//'j' Show8X16(2,65,ii);//'i' Show8X16(2,73,ee);//'e' Show8X16(2,81,ff);//'f' Show8X16(2,89,ll);//'l' Show8X16(2,97,aa);//'a' Show8X16(2,105,ss);//'s' Show8X16(2,113,hh);//'h' Show16X16(4,1,ban);//版 Show16X16(4,17,ben);//本 Show8X16(4,33,maohao);//':? Show8X16(4,41,vv);//?v' Show8X16(4,49,s1);//'1' Show8X16(4,57,juhao);//'.' Show8X16(4,65,s0);//'0' Show16X16(6,20,zheng);//正 Show16X16(6,36,zai);//在 Show16X16(6,52,chu);//初 Show16X16(6,68,shi);//使 Show16X16(6,84,hua);//化 Show8X16(6,100,dian);//?。? Show8X16(6,108,dian);//?。? Show8X16(6,116,dian);//?。? } /*----------------------------------------------------------*/ //显示第二页子程序 void LCDShow2() { Show16X16(0,32,dang);//当 Show16X16(0,48,qian);//前 Show16X16(0,64,wen);//温 Show16X16(0,80,du);//度 //Show16X32(2,20,zhenghao); //Show16X32(2,52,ss0); //Show16X32(2,68,ss0); Show16X32(2,84,danwei_c1);//单位 Show16X32(2,100,danwei_c2); } /*----------------------------------------------------------*/ //显示第三页子程序 void LCDShow3() { Show16X16(0,48,she);//设 Show16X16(0,64,zhi);//置 Show16X16(2,0,shang);//上 Show16X16(2,16,xian);//限 Show16X16(2,32,wen);//温 Show16X16(2,48,du);//度 Show8X16(2,64,maohao);//“:” ChangeTemp1(val1);//参数 Show16X16(2,104,danwei_c);//单位 Show16X16(4,0,xia);//下 Show16X16(4,16,xian);//限 Show16X16(4,32,wen);//温 Show16X16(4,48,du);//度 Show8X16(4,64,maohao);//“:” ChangeTemp2(val2);//参数 Show16X16(4,104,danwei_c);//单位 } /*---------------------------------------------------------*/ //LCD初始化子程序 void LCDinit() { int i; PORTD=0x00; TRISB=0x00; PORTB=0x00; TRISC=0x80; PORTC=0x00; TRISC5=1; TRISC6=1; SetOnOff(1);//开显示 LCDShow1();//初始画面 for(i=30;i>0;i--)//延时 { delay(201,132); } } /*----------------------------------------------------------*/ //主函数 void main() { init(); //调用系统初始化函数 LCDinit(); ClearScreen(1);//清屏 ClearScreen(2); LCDShow2();//显示第二页 while(1) { get_temp(); //调用温度转换函数 PORTD=TZ; ChangeTemp3(TZ); if(RC5==0) { while(1) { ClearScreen(1); ClearScreen(2); LCDShow3(); while(1)//等待RC5键松开 { if(RC5==1)break; } Show8X16(4,120,nono); Show8X16(2,120,xinghao);//显示星号,作指示 while(1) { if(RC6==0) { val1++; if(val1>=128) { val1=128; }