


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DS18B20传感器温度数码管显示#include#include /传感器 DS18B20#include /字符操作库sbit g1=P27;sbit g2=P26;sbit g3=P25;sbit g4=P24;sbit lv=P22; sbit jin=P33; /进sbit jia=P34; /加sbit jian=P35; /减uint shiwen;uint zuigao=30; /最高30度uint zuidi=20; /最低20度/*键盘调节/uchar flag=0; /记录第一个按键次数 flag=0正常 1最高 2最低 uchar flag2=0; /记录第四个按键次数
2、 flag2=0正常 1调节小时 2调节分钟 uchar tableshu=0x28,0xeb,0x32,0xa2,0xe1,0xa4,0x24,0xea,0x20,0xe0,0xff ,0xf7 ; uchar tableshudi=0x08,0xcb,0x12,0x82,0xc1,0x84,0x04,0xca,0x00,0xc0,0xff ; void main()uchar TL; /储存暂存器的温度低位 uchar TH; /储存暂存器的温度高位 uint TN; /储存温度的整数部分 uchar TD; /储存温度的小数部分 uchar ba,sh,ge,di,ba1,sh1,ge1
3、,di1;bit flag1; /判断显示正负0负 1正 delay1(5); /延时5ms给硬件一点反应时间 while(1) /不断检测并显示温度 init();/读温度准备if(flag1=1) dis(ba,sh,ge,di); else dis(11,sh,ge,di); TL=ReadOneChar(); /先读的是温度值低位 TH=ReadOneChar(); /接着读的是温度值高位 if(TH&0xf8)!=0x00)/判断高五位 得到温度是负 flag1=0; TL=TL; /取反 TH=TH; /取反 TL=TL+1; /低位加1 TN=(TH*256+TL)*0.625;
4、 /实际温度值10倍=(TH*256+TL)*0.625,if(TN%160=0) TN=TN+160; sh=TN/100%10; ge=TN/10%10; di=TN%10; dis(ba,sh,ge,di); /显示温度 else/判断高五位 得到温度是正 flag1=1; TN=(TH*256+TL)*0.625; /实际温度值10倍=(TH*256+TL)*0.625, /这样前几位是温度的整数部分,最后一位是温度的小数部分 ba=TN/1000; sh=TN/100%10; ge=TN/10%10; di=TN%10; dis(ba,sh,ge,di); /显示温度的整数部分 sh
5、iwen=TN; biaozhun(); tfz();if(flag1=1) dis(ba,sh,ge,di); else dis(11,sh,ge,di);kongzhi()/温度调整驱动程序void kongzhi() if(shiwenzuidi) lv=0; /控制P2口输出电平 else lv=1; void dis(uchar ba,uchar sh,uchar ge,uchar di) g1=0;P0=tableshuba; delay1(5); g1=1;P0=tableshu10;g2=0;P0=tableshush; delay1(5); g2=1;P0=tableshu1
6、0;g3=0;P0=tableshudige; delay1(5); g3=1;P0=tableshudi10; g4=0;P0=tableshudi;delay1(5); g4=1;P0=tableshu10; void disdi(uchar ba,uchar sh,uchar ge,uchar di) g1=0;P0=tableshudiba; delay1(5); g1=1;P0=tableshu10; g2=0;P0=tableshudish;delay1(5); g2=1;P0=tableshu10; g3=0;P0=tableshudige; delay1(5); g3=1;P0
7、=tableshudi10; g4=0;P0=tableshudidi; delay1(5); g4=1;P0=tableshu10;void biaozhun() if(jin=0) delay1(5); if(jin=0) while(!jin);flag+; if(flag=3) flag=0; /*调幅值*/ void tfz() uchar ba,sh,ge,di; if(flag=1) while(1) ba=zuigao/1000; sh=zuigao/100%10; ge=zuigao/10%10; di=zuigao%10; dis(ba,sh,ge,di); if(jia=0) delay1(5); if(jia=0) zuigao=zuigao+10;while(!jia); dis(ba,sh,ge,di); if(jian=0) zuigao=zuigao-10;while(!jian);dis(11,sh,ge,di); biaozhun(); if(flag!=1) break; if(flag=2) while(1) ba=zuidi/1000; sh=zuidi/100%10; ge=zuidi/10%10; di=zuidi%10; dis(ba,sh,ge,di);if(ji
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大庆市中医院专业领域技术引领考核
- 中国己二腈项目创业计划书
- 晋中市中医院孕期感染性疾病筛查与处理考核
- 鹤岗市人民医院胎儿窘迫诊断与处理考核
- 大同市中医院输尿管膀胱再植术考核
- 鹤岗市中医院医技绩效管理考核
- 鹤岗市中医院尿控手术术后管理考核
- 中国氧化铝项目投资计划书
- 中国甲基β-萘酮项目商业计划书
- 中国自动变速箱油项目创业计划书
- DB35T 2249-2025海峡两岸共通 妈祖祭典
- 公路桥梁养护技术标准手册
- 2025年10月10日江苏省税务遴选笔试真题及答案解析
- 矿山道路土路施工方案
- 丽水2025年丽水市生产力和投资促进中心招聘4人笔试历年参考题库附带答案详解
- 2025-2026学年人教版(2024)初中生物八年级上册(全册)教学设计(附目录)
- 2025-2026学年 小学数学二年级上册 第一次月考(一、二)(含答案)(人教版)
- 汽车展示大厅设计方案
- HAZOP分析法在绿氢制氢站工艺风险评估中的应用探索
- 2025年云南省劳动合同书版
- 吊绳外墙施工方案
评论
0/150
提交评论