


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上DS18B20传感器温度数码管显示#include<reg51.h>#include<1820twj.h> /传感器 DS18B20#include<intrins.h> /字符操作库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
2、 flag=0; /记录第一个按键次数 flag=0正常 1最高 2最低 uchar flag2=0; /记录第四个按键次数 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;
3、 /储存温度的整数部分 uchar TD; /储存温度的小数部分 uchar ba,sh,ge,di,ba1,sh1,ge1,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)/判断高五位 得到温度是负 f
4、lag1=0; TL=TL; /取反 TH=TH; /取反 TL=TL+1; /低位加1 TN=(TH*256+TL)*0.625; /实际温度值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
5、=TN/100%10; ge=TN/10%10; di=TN%10; dis(ba,sh,ge,di); /显示温度的整数部分 shiwen=TN; biaozhun(); tfz();if(flag1=1) dis(ba,sh,ge,di); else dis(11,sh,ge,di);kongzhi()/温度调整驱动程序void kongzhi() if(shiwen<zuigao)&&(shiwen>zuidi) lv=0; /控制P2口输出电平 else lv=1; void dis(uchar ba,uchar sh,uchar ge,uchar di)
6、g1=0;P0=tableshuba; delay1(5); g1=1;P0=tableshu10;g2=0;P0=tableshush; delay1(5); g2=1;P0=tableshu10;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=tables
7、hu10; g2=0;P0=tableshudish;delay1(5); g2=1;P0=tableshu10; g3=0;P0=tableshudige; delay1(5); g3=1;P0=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) w
8、hile(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(jia=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年调酒师实践操作试题及答案
- 关于宪法的演讲稿子(内容格式7篇)
- 国家电网考试全景复习及试题及答案
- 行政秘书工作总结范文(32篇)
- 调酒师的工作效率与管理策略试题及答案
- 国家电网电缆故障隔离试题及答案
- 心理素质在食品安全执法中的重要性及试题与答案
- 开沃购车合同范本
- 2025年深圳市标准购房合同
- 2025上海市果木繁殖育苗制种收购合同示范文本
- 小学生诗词大会宣讲公开课一等奖市赛课获奖课件
- 药学毕业论文5000字药学论文的5000字集合16篇
- 小学语文整本阅读指导课《城南旧事》教学案例
- (机械创新设计论文)
- GB/T 39802-2021城镇供热保温材料技术条件
- GB/T 2792-2014胶粘带剥离强度的试验方法
- GB/T 215-2003煤中各种形态硫的测定方法
- GB/T 17492-2012工业用金属丝编织网技术要求和检验
- GB/T 17207-2012电子设备用固定电容器第18-1部分:空白详细规范表面安装固体(MnO2)电解质铝固定电容器评定水平EZ
- GB/T 16886.7-2001医疗器械生物学评价第7部分:环氧乙烷灭菌残留量
- 铁路职工政治理论应知应会题库
评论
0/150
提交评论