- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以51单片机为核心的DS18B20的数码管显示温度程序Proteus仿真
/********************************************************************
* 文件名 : 温度采集DS18B20.c
* 描述 : 该文件实现了用温度传感器件DS18B20对温度的采集,并在数码管上显示出来。
* 创建人 : 谢宜腾,2011年4月6日
* 版本号 : 1.0
***********************************************************************/
/*#include reg52.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
#define jump_ROM 0xCC
#define start 0x44
#define read_EEROM 0xBE
unsigned char TMPH,TMPL;
uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit DQ = P2^3; //DS18B20数据口
sbit P30=P3^0;
sbit P31=P3^1;*/
#includereg52.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
sbit DATA = P2^3; //DS18B20接入口
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
char bai,shi,ge; //定义变量
/*延时子函数*/
void delay(uint num)
{
while(num--) ;
}
/*************DS18b20温度传感器函数*********************/
Init_DS18B20(void) //传感器初始化
{
uchar x=0;
DATA = 1; //DQ复位
delay(10); //稍做延时
DATA = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us //450
DATA = 1; //拉高总线
delay(20);
x=DATA; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(30);
}
//读一个字节
ReadOneChar(void)
{
uchar i=0;
uchar dat = 0;
for (i=8;i0;i--)
{
DATA = 0; // 给脉冲信号
dat=1;
DATA = 1; // 给脉冲信号
if(DATA)
dat|=0x80;
delay(8);
}
return(dat);
}
//写一个字节
WriteOneChar(unsigned char dat)
{
uchar i=0;
for (i=8; i0; i--)
{
DATA = 0;
DATA = dat0x01;
delay(10);
DATA = 1;
dat=1;
}
delay(8);
}
//读取温度
int ReadTemperature(void)
{
uchar a=0;
uchar b=0;
int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
a=ReadOneChar();//低位
b=ReadOneChar();//高位
t=b;
t=8;
t=t|a;
tt=t*0.0625;
t= tt*10+0.5;
return(t);
}
/*显示子函数*/
void display(int bai,int shi,int ge)
{
P0=table[bai];
您可能关注的文档
- 中考作文常用表达325.doc
- 中老年女性糖尿病并尿路感染.doc
- 中职学生顶岗实习问题的调查与思考.doc
- 中药治疗糖尿病处方2.doc
- 中药治疗马拉色菌性毛囊炎99例临床分析.doc
- 中草药在水产中的应用.docx
- 中速磨煤机及其辅助系统详细介绍20101117.doc
- 丰田模式-精益生产的18个黄金法则.doc
- 丰胸和眼部保养1.doc
- 中考最后一周应怎样学习.doc
- 中考地理【热点·重点·难点】专练重难点24中国的气候(原卷版+解析).docx
- 中考地理真题分项汇编(全国通用)专题07东半球其他地区和国家(第01期)(原卷版+解析).docx
- 中考地理真题分项汇编(全国通用)专题09东南亚(原卷版+解析).docx
- 中考地理【热点·重点·难点】专练重难点25中国的河流(原卷版+解析).docx
- 中图版·北京七年级地理上册同步备课2.3人口和民族(精选练习)(原卷版+解析).docx
- 中考地理真题分项汇编(全国通用)专题12我国的经济发展(第02期)(原卷版+解析).docx
- 中考地理真题分项汇编(全国通用)专题04天气与气候(第02期)(原卷版+解析).docx
- 中考地理真题分项汇编(全国通用)专题14我国的地理差异(二)(第01期)(原卷版+解析).docx
- 中图版·北京七年级地理上册同步备课1.1地球和地球仪(精选练习)(原卷版+解析).docx
- 人才队伍调研报告4篇 .pdf
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)