- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
18b20多点温度检测c语言实例
//***************************
//冯新刚 2011-3-24
// 读取18b2064位序列号+led 显示,
//11.0592HMZ,8位LED循环显示
//***************************
#include reg52.h
#include INTRINS.H
sbit DQ=P1^2; //定义通信端口
#define sel P2 //led
#define cod P0 //led
unsigned char x,ttt; //显示用变量
unsigned int x1;
unsigned char shu[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; //温度转换后存储变量
unsigned char code Select[]={0x0fe,0x0fd,0x0fb,0x0f7,0x0ef,0x0df,0x0bf,0x7f};
unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xbf,0xff}; //-,灭
unsigned char code SN[2][8]={{40,106,47,152,02,00,00,55},{40,44,45,152,02,00,00,115}};
//18b20序列号,这里为两路温度检测,要先读出序列号填在这里才能读取温度
void delay1(int z)
{
int x,y;
for(x=z;x0;x--)
{for(y=10;y0;y--);
}}
void delay(unsigned int i)
{
while(--i);
}
//初始化函数
Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(70); //精确延时 大于 480us
DQ = 1; //拉高总线
delay(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(20);
DQ=1;
return (x);
}
//读一个字节
ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i0;i--)
{
DQ = 0; // 给脉冲信号
dat=1;
DQ = 1; // 给脉冲信号
if(DQ) dat|=0x80;
delay(4);
}
return(dat);
}
//写一个字节
WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i0; i--)
{
DQ = 0;
DQ = dat0x01;
delay(5);
DQ = 1;
dat=1;
}
}
//读取温度
ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0,t1;
float tt=0;
unsigned char i;
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
delay1(10);
Init_DS18B20(); //调用复位函数
WriteOneChar(0x55); //发送ROM匹配命令
if(x11000)
{
ET0=0;
for(i=0;i8;i++)
{
WriteOneChar(SN[0][i]); //发送64位序列号
}
ET0=1;
} else if(1000=x12000)
{ET0=0;
for(i=0;i8;i++)
{
WriteOneChar(SN[1][i]); //发送64位序列号
}
ET0=1;
}
if(x1=2000) x1=0;
WriteOneChar(0xBE);
ET0=0;
a=ReadOneChar();
b=ReadOneChar();
您可能关注的文档
- 安踏店主店长训练之促销实务.ppt
- windows2003域控的更改(图展示介绍)免费.doc
- PHP以及ELGG环境配置.doc
- 打开Photoshop.doc
- 101101线性代数(理工类)A09级期中A卷答案.doc
- SES评价标准090312.doc
- 初三压轴题2.doc
- 2012年北京初三顺义一模试卷及答案WORD版.doc
- 有理数测试题(二)-加减法.doc
- 快速了解Hibernate.ppt
- 《职业院校“双证书”制度实施中的学生心理健康教育研究》教学研究课题报告.docx
- 《保险公司资产负债管理能力在金融监管政策下的应对策略研究》教学研究课题报告.docx
- 《基于BIM技术的建筑工程施工进度管理与施工质量监管研究》教学研究课题报告.docx
- 《高校思想政治理论课案例教学资源开发与思想政治教育课程教学手段创新研究》教学研究课题报告.docx
- 《资产证券化在地方政府债务风险化解中的政策效应与风险传导研究》教学研究课题报告.docx
- 《共享出行平台用户信任度提升的信任构建机制与策略优化》教学研究课题报告.docx
- 《商业综合体服务质量评价指标体系构建与消费者权益保护法律研究》教学研究课题报告.docx
- 3 《互联网金融风险监管中的金融科技创新与监管挑战》教学研究课题报告.docx
- 《区域大气污染联防联控机制下跨部门协同治理的环保产业政策创新与产业优化策略研究》教学研究课题报告.docx
- 4 《新型冠状病毒肺炎康复患者心理康复干预的心理干预效果与心理治疗结合研究》教学研究课题报告.docx
文档评论(0)