- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机的的DS18B20数字温度报警器计.doc
温
度
报
警
器
目录
一、简介………………………………………………………………………… 3
二、DS18B20功能简单介绍…………………………………………………… 4
三、原理图……………………………………………………………………… 6
四、程序………………………………………………………………………… 6
一、简介
1、目的
设计一个室温显示并带报警功能的数字温度计。
2、基本功能
(1)、它的检测温度范围为:0摄氏度到99摄氏度。
(2)、调节的报警上限温度要大于或等于下限温度。
(3)、5摄氏度到38摄氏度之间可以切断报警,低于5摄氏度或高于38摄氏度,报警不可以切断将会连续报警。
(4)、按复位键,分别复位报警下限和报警上限为5摄氏度,38摄氏度。
(5)、切换键可以切换到发出报警的上限或下限温度的调节;同时设立报警上下限温度调节(+或-)按钮。
(图1)
二、DS18B20功能介绍
(一)、DS18B20的主要特性
1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数 据线供电
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内
5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
6、可编程 的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。DS18B20内部结构图
??
(二)、DS18B20工作原理中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。 图DS18B20测温原理框图
??
(图4)底视图
序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
三、原理图:
四、执行程序:
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
bit shanshuo_st; //闪烁间隔标志
signed char m; //温度值全局变量
uchar n; //温度值全局变量
uchar set_st = 0; //调整键状态标志
uchar add_st = 0; //增加建状态标志
uchar dec_st = 0; //减少键状态标志
signed char shangxian = 38; //上限报警温度,默认值为38
signed char xiaxian = 5; //下限报警温度,默认值为5
sbit DQ = P1^1; //定义DS18B20总线I/O
sbit set = P1^2; //定义调整键
sbit add = P1^3; //定义增加键
sbit dec = P1^4; //定义减少键
sbit beep = P1^0; //定义蜂鸣器
uchar code table[10] = {0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7};
/*****延时子程序*****/
void delay(uint N)
文档评论(0)