- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
测温度代码(Temperature code)
测温度代码(Temperature code)
# includes reg52.h
# includes stdio.h
# includes absacc.h
sbit cs = p1 ^ 0; / * 7289管脚定义 * /
sbit clk = 0 ^ 1.
sbit god = p1 ^ 2;
sbit key = p1 ^ 3;
sbit tm = p1 ^ 4; / * 测得温度 * /
sbit tm2 = p1 ^ 5;
sbit m1 = p3 ^ 3; / * 恒温控制管脚 * /
sbit m2 = 0 ^ 2;
sbit war = p3 ^ 6.
sbit l1 = p1 ^ 7.
sbit l2 = p1 ^ 6.
unsigned char t, th, tl, tx, tmax; / / 实际测量温度值; 温度上下限 th, tl, and 测量时间间隔; 报警温度
unsigned char rebuf, sebuf; / / 7289接受, 发送数据变量
bdata unsigned char com _ date; / / 定义可寻址内部储存器com _ date 变量
sbit mos _ bits = com _ date ^ 7.
sbit low _ bits = com _ date ^ 0.
unsigned char [3]; / / 用于存放温度各位值得数组
unsigned char c [3]; / / 修改键值时的中间数组
unsigned char mm;
unsigned char td.
unsigned char ap.
void delays (unsigned int t) / / 延迟毫秒和秒的函数
{
unsigned int i, j;
for (i = 0; i t; i + +)
for (j = 0 and j 125; j + +)
{;}
}
void delayus (unsigned int t) / / 延迟8微秒倍数函数
{
unsigned int i;
for (i = 0; i t; i + +)
{;}
}
void ds18reset1 () / / ds18b20复位设置
{
tm1 = 0;
delayus (103); / / 要实现复位至少240us低电平信号, 此处为900us
tm1 = 1;
delayus (4);
}
void ds18pre1 () / / ds18b20等待复位返还脉冲
{
while (tm1);
while (~ tm1);
delayus (4); / / 等待15 ~ 66us
}
char ds18zh1 () / / ds18b20温度转换
{
bit dat;
tm1 = 0;
delayus (1);
tm1 = 1;
delayus (2);
dat = tm1;
delayus (8);
return (dat);
}
char ds18read1 () / / 读取一个字节温度值
{
unsigned char a;
char j, dat;
dat = 0;
for (a = 1; a = 8; a + +)
{
j = ds18zh1 ();
dat = (j 7) | (dat 1);
}
return (dat);
}
void ds18write1 (unsigned char dat) / / 写入一个指令字节
{
unsigned int j;
bit testb;
for (j = 1; j = 8; j + +)
{
testb = dat 0x01;
dat = 1;
if (testb) / / 写入1
{
tm1 = 0;
delayus (2);
tm1 = 1;
delayus (8);
}
else / / 写入0
{
tm1 = 0;
delayus (8);
tm1 = 1;
delayus (2);
}
}
}
void ds18start1 () / / ds18b20开始转换温度
{
ds18reset1 (); / / 复位
ds18pre1 ();
/ /等待返还脉冲
延迟(1);//延迟1ms
ds18write1(0xcc);/ /跳过序列编码校对
ds18write1(0x44);/ /温度转换
}
无效ds18zhi1() /温度值得测量值获取,结果可以显示一位小数
{
无符号char,n,i;
int c;
ds18reset1();/ /复位DS18B20
ds18pre1();/ /等待返还脉冲
延迟(1);//延迟1ms
ds18write1(0xcc);/ /写入
您可能关注的文档
- 泰州学院2014年度道德讲堂宣讲活动计划(Taizhou Institute of moral year 2014 preaching program).doc
- 泰戈尔经典名言(中英对照)(Tagore's Famous Sayings (Chinese and English)).doc
- 泰州方言语音对应规律(Phonetic correspondence rules of Taizhou dialect).doc
- 波特(Baud).doc
- 泰戈尔经典爱情诗50首 中英(Tagore's classic love poems, 50 Chinese and English).doc
- 泵送混凝土常见问题及解决方法(Common problems and solutions of pumping concrete).doc
- 注意最伤身的19件小事情 !!(Note 19 little things the most pernicious!!).doc
- 泼尼松龙说明书(Prednisolone manual).doc
- 泰戈尔经典爱情诗(Tagore's classic love poems).doc
- 泽泻(Alisma).doc
- 测土配方施肥关键技术(Key techniques of soil testing and formula fertilization).doc
- 测定时服务(Measurement service).doc
- 测色学(Colorimetry).doc
- 测量与评价问答题(Measurement and evaluation questions and answers).doc
- 测量名词解释(Interpretation of measurement nouns).doc
- 测试自己的气质类型(Test your temperament type).doc
- 测试英语词汇量(Test English Vocabulary).doc
- 测量呼吸和心跳(Measure breath and heartbeat).doc
- 浅述水产动物疾病防治方法(The aquatic animal disease prevention method).doc
- 测量复习题(Review questions).doc
最近下载
- 档案整理及数字化投标方案(517页).doc VIP
- 2025解读新《监察法实施条例》核心要点与条文速览PPT学习课件(含文字稿).pptx VIP
- 铁路信号电缆配线作业.ppt VIP
- 2025江苏邳州农村商业银行招聘10人笔试历年典型考题及考点剖析附带答案详解.docx
- 采砂船水上船舶运输安全应急预案 .docx VIP
- 2025年自贡市中考英语试卷(含答案解析).docx
- 2024年北京昌平四年级(下)期末英语(含答案).pdf
- 七年级下册数学期末试卷.pdf VIP
- SH_T 3043-2014石油化工设备管道钢结构表面色和标志规定.pdf VIP
- 新人教版数学四年级上册课本练习题《练习一》可编辑可打印.pdf VIP
文档评论(0)