欢迎来到天天文库
浏览记录
ID:30410998
大小:77.54 KB
页数:6页
时间:2018-12-29
《单片机温度计代码(word档)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include//51系类单片机头文件#include"LCD1602.h"//包含对1602读写操作的头文件#include"Delay.h"//延时操作头文件#include"18B20.h"//包含对18B20操作的头文件#includesbitbeep=P3^0;//定义蜂鸣器信号线sbitled0=P1^0;//定义发光二极管端口sbitled1=P1^1;sbitled2=P1^2;sbitled3=P1^3;uintwarn_l1=270;//定义温度下限值温度*10uintwarn_l2=250;uintwarn_
2、h1=320;uintwarn_h2=300;/******************************************************函数名称:deal(uintt)**函数功能:对18B20获取的温度进行相应的处理*入口参数:temp*出口参数:无********************************************************/voiddeal(uintt){if((t>warn_l2)&&(t<=warn_l1))//25~27度{led0=0;//第一个闪烁Delayms(20);led0=1;mdi();//蜂
3、鸣器慢“滴”}//模拟开启制热elseif(t<=warn_l2)//<25度{led0=0;led1=0;//第一二灯闪烁Delayms(10);led0=1;led1=1;kdi();//蜂鸣器快“滴”}//模拟加大制热功率elseif((t>warn_h2)&&(t<=warn_h1))//30~32度{led2=0;//第三个灯闪烁Delayms(20);led2=1;mdi();//蜂鸣器慢“滴”}//模拟开启制冷elseif(t>=warn_h1)//>32度{led2=0;//第三四个灯闪烁led3=0;Delayms(10);led2=1;led3=1;k
4、di();//蜂鸣器快“滴”}//模拟加大制冷功率elsebeep=1;//温度正常}/******************************************************函数名称:display(uintt);*函数功能:显示温度*入口参数:t*出口参数:无********************************************************/voiddisplay(uintt){write_com(0x80+12);//第一行第13列write_data(t/100+0x30);//十位+0X30转换为字符显示writ
5、e_com(0x80+14);write_data(t%100/10+0x30);write_com(0x80+15);write_data(t%10+0x30);}/******************************************************函数名称:main(void);**函数功能:主函数*入口参数:无**出口参数:无********************************************************/voidmain(void){uchari=0;uinttemp=0;while(1){init();//
6、LCD初始化tempchange();//温度转换_nop_();//稍作延时temp=get_temp();deal(temp);//温度处理_nop_();for(i=10;i>0;i--){display(temp());//温度处理}}18B20.H头文件#ifndef__18B20_h__//防止重复定义#define__18B20_h__#include#include#include"18B20.h"#include"Delay.h"externvoiddsreset(void);//函数声明外部可见externvoi
7、dtempwritebyte(uchardat);externbittempreadbit(void);externuchartempreadbyte(void);externvoidtempchange(void);externuintget_temp(void);#endif18B20.C文件#include"18B20.h"sbitbeep=P3^0;//定义蜂鸣器信号线sbitds=P2^7;//定义18B20信号线staticuinttemp=0;staticfloatf_temp=0.0;/************
此文档下载收益归作者所有