下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之电大幼儿园实习总结
- 电工电子技术(第3版) 课件 4.2.1 三相异步电机启动控制电路
- 2024年住房金融项目资金需求报告
- 采购过程合规性与纪律要求制度
- 《信息传输基础》课件
- 《项目沟通培训》课件
- 公园有多宽课件
- 新年工作计划(17篇)
- 感恩演讲稿范文汇编(33篇)
- 幼儿园食品安全工作总结15篇
- 体育心理学(第三版)PPT全套教学课件
- 初中生物趣味知识竞赛PPT
- 2023年山东省鲁信投资控股集团招聘笔试参考题库附带答案详解
- 旅游规划与开发电子教案
- 办公场所5S管理标识标准办公室5S管理内容与定置标准
- 企业组织结构的常见类型和其利弊
- 2023年八年级上册语文教学活动 八年级语文组活动记录优秀(六篇)
- 危重病人的转运与交接课件
- 爆笑小品剧本《抗日》
- 房颤护理护理查房课件
- GB/T 21492-2019玻璃纤维增强塑料顶管
评论
0/150
提交评论