1 / 6
文档名称:

单片机温度计代码(WORD档).pdf

格式:pdf   大小:187KB   页数:6页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机温度计代码(WORD档).pdf

上传人:wawa 2024/9/12 文件大小:187 KB

下载得到文件列表

单片机温度计代码(WORD档).pdf

相关文档

文档介绍

文档介绍:该【单片机温度计代码(WORD档) 】是由【wawa】上传分享,文档一共【6】页,该文档可以免费在线阅读,需要了解更多关于【单片机温度计代码(WORD档) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..文档供参考,可复制、编制,期待您的好评与关注!#include<>//51系类单片机头文件#include""//包含对1602读写操作的头文件#include""//延时操作头文件#include""//包含对18B20操作的头文件#include<>sbitbeep=P3^0;//定义蜂鸣器信号线sbitled0=P1^0;//定义发光二极管端口sbitled1=P1^1;sbitled2=P1^2;sbitled3=P1^3;uintwarn_l1=270;//定义温度下限值温度*10uintwarn_l2=250;uintwarn_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();//蜂鸣器慢“滴”}//模拟开启制热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();//蜂鸣器慢“滴”1/6:..文档供参考,可复制、编制,期待您的好评与关注!}//模拟开启制冷elseif(t>=warn_h1)//>32度{led2=0;//第三四个灯闪烁led3=0;Delayms(10);led2=1;led3=1;kdi();//蜂鸣器快“滴”}//模拟加大制冷功率elsebeep=1;//温度正常}/******************************************************函数名称:display(uintt);*函数功能:显示温度*入口参数:t*出口参数:无********************************************************/voiddisplay(uintt){(0x80+12);//第一行第13列write_data(t/100+0x30);//十位+0X30转换为字符显示(0x80+14);write_data(t%100/10+0x30);(0x80+15);write_data(t%10+0x30);}/******************************************************函数名称:main(void);**函数功能:主函数*入口参数:无**出口参数:无********************************************************/voidmain(void){uchari=0;uinttemp=0;while(1){init();//LCD初始化tempchange();//温度转换_nop_();//稍作延时temp=get_temp();2/6:..文档供参考,可复制、编制,期待您的好评与关注!deal(temp);//温度处理_nop_();for(i=10;i>0;i--){display(temp());//温度处理}}#ifndef__18B20_h__//防止重复定义#define__18B20_h__#include<>#include<>#include""#include""externvoiddsreset(void);//函数声明外部可见externvoidtempwritebyte(uchardat);externbittempreadbit(void);externuchartempreadbyte(void);externvoidtempchange(void);externuintget_temp(void);##include""sbitbeep=P3^0;//定义蜂鸣器信号线sbitds=P2^7;//定义18B20信号线staticuinttemp=0;staticfloatf_temp=;/***************************************函数名称:dsreset(void)**函数功能:18B20初始化**入口参数:无**出口参数:无****************************************/voiddsreset(void){ds=1;//将数据线置高电平_nop_();//稍作延时,要尽可能短ds=0;//拉低数据线Delayus(40);//延时_nop_();ds=1;//将数据线拉高Delayus(14);//延时ds=1;//拉高数据线}3/6:..文档供参考,可复制、编制,期待您的好评与关注!/*********************************************函数名称:temwritebyte(uchardat)**函数功能:向18B20写一个字节**入口参数:dat**出口参数:无*********************************************/voidtempwritebyte(uchardat){uinti;for(i=0;i<8;i++)//一个字节有8位{ds=0;//将数据线拉低_nop_();//稍作延时,待数据稳定ds=dat&0x01;//低位在前,高位在后Delayus(3);//延时45us_nop_();_nop_();ds=1;//将数据线拉高dat>>=1;//左移一位,继续发送下一位}}/***************************************函数名称:tempreadbit(void)**函数功能:读一位数据**入口参数:无**出口参数:dat****************************************/bittempreadbit(void){uinti=0;//定义,做延时用bitdat;//义一位数据ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return(dat);//返回一位数据}/***************************************函数名称:tempreadbyte(void)**函数功能:读一个字节**入口参数:无**出口参数:dat****************************************/uchartempreadbyte(void)4/6:..文档供参考,可复制、编制,期待您的好评与关注!{uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);//读出的数据低位在前,刚好在一个字节dat里}return(dat);}/***************************************函数名称:tempchange(void)**函数功能:获取18B20温度转换**入口参数:无**出口参数:无****************************************/voidtempchange(void){dsreset();//18B20复位Delayms(1);//稍作延时tempwritebyte();//跳过读ROM指令tempwritebyte(0x44);//写温度转换指令}/*******************************************函数名称:get_temp(void)**函数功能:获取18B20寄存器中的数据**入口参数:无**出口参数:temp*****************************************/uintget_temp(void){uchara,b;dsreset();Delayms(1);tempwritebyte();//跳过ROMtempwritebyte(0xbe);//读暂存器a=tempreadbyte();//读低8位b=tempreadbyte();//读高8位temp=b;temp<<=8;//将两个字节合为一个字f_temp=temp*;//温度在寄存器中为12为,}5/6:..文档供参考,可复制、编制,期待您的好评与关注!voiddmsec(unsignedintcount){unsignedinti;while(count){i=115;while(i>0)i--;count--;}}6/6

最近更新

内分泌医学宣教专家讲座培训课件 36页

养生药膳常见病药膳四专家讲座培训课件 79页

2022年广东省中考生物模拟试题及答案 28页

2024年河北省涿鹿县事业单位招聘45人历年高频.. 242页

公司营销管理现状诊断研究报告专家讲座培训课.. 90页

2022~2023汽车技师职业鉴定考试题库及答案第.. 7页

2023年-2024年执业药师之中药学综合知识与技能.. 23页

货币银行学基础-货币银行学基础 32页

2023年四川建筑安全员-B证考试题库附答案 31页

光合作用的计算专家讲座培训课件 21页

儿童龋病分类及护理配合专家讲座培训课件 32页

2024年河北保定博野县事业单位招考31人高频难.. 244页

儿科心理护理专家讲座培训课件 12页

2024年度江苏省高校大学《辅导员》招聘考试题.. 19页

2024年计生工作学习心得体会 4页

2024年江西省赣州市旅发委所属事业单位招聘2人.. 245页

高中化学反应速率实验-反应速率与科学实践 24页

高效农业技术-农业科研成果展示 26页

锅炉的应急预案 10页

人大版时间序列分析基于R(第2版)习题答案 43页

环境中放射性的来源 38页

医隐易玄3仙基易玄3 9页

废气操作维护使用手册 11页

上海东方明珠塔英文参考幻灯片 10页

SMT试产报告 5页

透析患者动静脉内瘘穿刺失败的护理对策 5页

大圆满心性休息三处三善引导文菩提善道 19页

红升丹的现代炼法 2页