温度监测系统 单片机C51程序Word文档下载推荐.docx
- 文档编号:17992746
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:19
- 大小:179.98KB
温度监测系统 单片机C51程序Word文档下载推荐.docx
《温度监测系统 单片机C51程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《温度监测系统 单片机C51程序Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
unsignedcharss;
unsignedcharxs;
unsignedcharxx;
unsignedchari;
unsignedcharmiao;
unsignedcharfen;
unsignedcharshi;
unsignedchard;
bitf;
unsignedchardat;
doubledat1;
doubletemp;
doublez;
BYTEcodedis1[]={"
0123456789.-+:
a="
};
unsignedchardispbuf[8]={0,0,0,0,0,0,0,0};
//////////////////////////////////////////////////////////
ucharreadadc1(void)//0832函数
{
uchari;
AD_CS=1;
AD_CLK=0;
_nop_();
AD_CS=0;
AD_DI=1;
AD_CLK=1;
AD_DI=0;
//配置位1
//配置位2
for(i=0;
i<
=8;
i++)
{
dat=dat<
<
1;
if(AD_DI)
{
dat|=0x01;
}
return(dat);
}
delay(intms)//延时子程序
{
inti;
while(ms--)
for(i=0;
i<
250;
i++)
{
////////////////////////////////////////////////////////////////////////
BOOLlcd_bz()//测试LCD忙碌状态
BOOLresult;
LCD_RS=0;
LCD_RW=1;
LCD_EP=1;
_nop_();
result=(BOOL)(P0&
0x80);
LCD_EP=0;
returnresult;
lcd_wcmd(BYTEcmd)//写入指令数据到LCD
while(lcd_bz());
LCD_RW=0;
P0=cmd;
lcd_pos(BYTEpos)//设定显示位置
lcd_wcmd(pos|0x80);
lcd_wdat(BYTEdat)//写入字符显示数据到LCD
LCD_RS=1;
P0=dat;
lcd_init()//LCD初始化设定
lcd_wcmd(0x38);
delay
(1);
lcd_wcmd(0x0c);
lcd_wcmd(0x06);
lcd_wcmd(0x01);
///////////////////////////////////////////////////////////////////
voidwdkz(void)//上下限温度时间调整函数
switch(a)
case1:
{c=1;
if(k1==0)
delay(50);
if(k1==1)
ss++;
elsess=ss+5;
if(k2==0)
if(k2==1)
ss--;
elsess=ss-5;
}break;
case2:
if(k1==0)
xx++;
elsexx=xx+5;
if(k2==1)
xx--;
elsexx=xx-5;
case5:
miao++;
elsemiao=miao+5;
if(miao>
59)
miao=0;
miao--;
elsemiao=miao-5;
if(miao==0)
miao=59;
case4:
fen++;
elsefen=fen+5;
if(fen>
fen=0;
fen--;
elsefen=fen-5;
if(fen==0)
fen=59;
case3:
shi++;
elseshi=shi+5;
if(shi>
23)
shi=0;
shi--;
elseshi=shi-5;
if(shi==0)
shi=23;
/////////////////////////////////////////////////////////////////
voidxians()//显示函数
lcd_wcmd(0x06);
lcd_pos(0x00);
//上限温度
lcd_wdat(dis1[ss/100]);
lcd_pos(0x01);
lcd_wdat(dis1[ss/10%10]);
lcd_pos(0x02);
lcd_wdat(dis1[ss%10]);
lcd_pos(0x08);
lcd_wdat(dis1[shi/10]);
lcd_pos(0x09);
lcd_wdat(dis1[shi%10]);
lcd_pos(0x0a);
lcd_wdat(dis1[13]);
lcd_pos(0x0b);
lcd_wdat(dis1[fen/10]);
lcd_pos(0x0c);
lcd_wdat(dis1[fen%10]);
lcd_pos(0x0d);
lcd_pos(0x0e);
lcd_wdat(dis1[miao/10]);
lcd_pos(0x0f);
lcd_wdat(dis1[miao%10]);
lcd_pos(0x40);
lcd_wdat(dis1[xx/100]);
lcd_pos(0x41);
lcd_wdat(dis1[xx/10%10]);
lcd_pos(0x42);
lcd_wdat(dis1[xx%10]);
lcd_pos(0x45);
lcd_wdat(dis1[14]);
lcd_pos(0x46);
lcd_wdat(dis1[15]);
lcd_pos(0x47);
lcd_wdat(dis1[a]);
lcd_pos(0x4a);
lcd_wdat(dis1[dispbuf[0]]);
lcd_pos(0x4b);
lcd_wdat(dis1[dispbuf[1]]);
lcd_pos(0x4c);
lcd_wdat(dis1[dispbuf[2]]);
lcd_pos(0x4d);
lcd_wdat(dis1[dispbuf[3]]);
lcd_pos(0x4e);
lcd_wdat(dis1[dispbuf[4]]);
lcd_pos(0x4f);
lcd_wdat(dis1[dispbuf[5]]);
voidbaojing()//报警
lb=1;
if(temp>
ss)
lb=0;
if(temp<
xx)
/*fm=1;
fm=0;
}*/
//////////////////////////////////////////////////////////////////
zhuanhuan()//转换函数
z=dat*0.01960784;
if(z>
2.602)
dispbuf[0]=12;
temp=(z-2.602)*100;
zs=(unsignedchar)temp;
xs=(unsignedchar)((temp-zs)*10);
dispbuf[1]=zs/100;
dispbuf[2]=zs/10%10;
dispbuf[3]=zs%10;
dispbuf[4]=10;
dispbuf[5]=xs;
else
dispbuf[0]=11;
temp=(2.602-z)*100;
xs=(unsignedchar)((temp-zs)*100);
dispbuf[2]=zs/10%10;
dispbuf[5]=xs/10;
dispbuf[6]=xs%10;
}
main()//主函数
lcd_init();
delay(10);
ss=123;
xx=3;
f=1;
TMOD=0x11;
TL1=0xb0;
TH1=0x3c;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
IT0=1;
EX0=1;
while
(1)
xians();
baojing();
wdkz();
if(f==1)
readadc1();
zhuanhuan();
f=0;
}
////////////////////////////////////////////////////////////////
voidt1(void)interrupt3using0//定时1
d++;
if(d==20)
d=0;
////////////////////////////////////////////////////////////////
voidX0(void)interrupt0//中断
delay(20);
if(kw==0)
a++;
if(a==6)
a=0;
voidt0(void)interrupt1using0//定时0
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
b++;
if(b==15)
b=0;
}
///
完!
!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度监测系统 单片机C51程序 温度 监测 系统 单片机 C51 程序