版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机温度传感器设计本设计是以51单片机为核心的温度传感器设计 该系统以STC89C52单片机为中心控制单元由数码管显示模块蜂鸣器警报模块组成,并预设温度报警上下限,系统启动后可以实时采集环境中的温度,并且当温度超出上下限的值以后蜂鸣器报警. 关键词STC89C51、数码管、蜂鸣器、DS18B20温度传感器原理概述: STC89C52单片机为主控制器,用于处理采集的温度值以及相关报警值。本设计采用DALLAS公司的DS18b20温度传感器采集温度通过主控制器进行温度的采样以及转换并在数码管上进行相应的显示当外界温度值超出预设的报警温度值时通过蜂鸣器报警提示。 实验要求 (1) 温度读取
2、 (2) LED数码管或LCD显示 (3) 定时读取数据 (4) 报警 实验设备51学习开发板STC89C52单片机DS18B20 设计内容软件流程图设计方法 DS18B20特性 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55-+125以0.5递增。华氏器件-67-+257以0.9递增 温度以9 位数字量读出 温度数字量转换时间 200ms典型值 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度温度报警条件的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统温度传感器说明 DS1820
3、 数字温度计以 9 位数字量的形式反映器件的温度值。 DS1820通过一个单线接口发送或接收信息因此在中央微处理器和 DS1820 之间仅需一条连接线加上地线。用于读写和温度转换的电源可以从数据线本身获得无需外部电源。因为每个 DS1820 都有一个独特的片序列号 所以多只 DS1820 可以同时连在一根单线总线上这样就可以把温度传感器放在许多不同的地方。这一特性在 HVAC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。 数码管显示 数码显示器件按显示方法不同显示器有很多种他们是字形重叠式显示器、分段式显示器、点阵式显示器。分段式显示器有七段和八段显示之分在这里我们
4、选用4位8段数码管显示采集到的温度值数码管显示具有耗能低稳定性好价格便宜等优点。 蜂鸣器 压电式蜂鸣器是一种电声转换器件。压电式蜂鸣器具有体积小、灵敏度高、耗电省、可靠性好造价低廉的特点和良好的频率特性。因此它广泛应用于各种电器产品的报警、发声用途。最常见的莫过于音乐贺卡、电子手表、袖珍计算器、电子门铃和电子玩具等小型电子用品上作发声器件。硬件原理图 51单片机温度传感器蜂鸣器连接源代码 /*温度传感器*/ /制作:RXJ /时间:2012/6/2 /修改:无 /*/ #include #include #include #define uchar unsigned char #define
5、uint unsigned int; sbit DQ=P13;/ds18b20 端口 sbit beeper=P10; /全局变量 uint temp,TempH,TempL; uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/7段数码管段码表共阴 uchar num,readflag=0,str6; uchar i; unsigned int ReadTemperature(void); void Init_DS18B20(void); unsigned char ReadOneChar(void);void
6、WriteOneChar(unsigned char dat); void delay(unsigned int i); void init_timer(); void beep(); void main() str0=0; init_timer(); while(1) if(readflag=1) temp=ReadTemperature(); if(temp&0x8000) str0=0x40; /负号标志 temp=temp; / 取反加1 temp +=1; else str0=0; TempH=temp4; TempL=temp&0x0F; TempL=TempL*6/10; /小数
7、近似处理 str5=0x39; /显示C符号 str1=tabTempH/100; /十位温度 str2=tab(TempH%100)/10; /十位温度 str3=tab(TempH%100)%10|0x80; /个位温度,带小数点 str4=tabTempL; for(i=0;i32|TempH31) beep(); /定时器初始化 void init_timer() TMOD|=0x01; /定时器设置 TH0=0xef; TL0=0xf0; IE=0x82; TR0=1; void beep() for(i=0;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1;
8、/ 给脉冲信号 if(DQ) dat|=0x80; delay(5); return(dat); /写字节 void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; delay(5); /读温度 unsigned int ReadTemperature(void) unsigned char a=0; unsigned int b=0; unsigned int t=0; Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteOneChar(0x44); /启动温度转换 delay(200); Init_DS18B20(); WriteOneChar(0xCC); /跳过读序号列号的操作 WriteO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丙肝病毒课件
- 2026年管理学第五版模拟试卷及答案详解
- 2026年流乙脑模拟题及答案详解
- 2026年国家开放大学(电大)学前教育史形考任务3模拟试题(含答案)
- 浙江平阳县万全综合高级中学2026-2027学年高二上学期第9月月考地理试题(解析版)
- 黑龙江省齐齐哈尔市龙江县十校联考2026-2027学年八年级上学期10月阶段检测物理试卷(含解析)
- 2026-2027学年河北省石家庄外国语教育集团九年级(上)阶段英语试卷(10月份)(含答案)
- 注册安全工程师考试冲刺模拟试卷及答案
- 2026年四川省成都市实验小学六年级英语第8单元词汇练习题及答案
- 2026年高处作业安全操作规程及防护措施安全操作技能考核试卷及答案
- CMA历年考试真题及详细答案解析(Part1+Part2)
- 2026年四川省政府采购评审专家考试试题及答案
- 26新六年级道德与法治上册知识点总结完整版可打印
- 2026杭州水务集团笔试题库及答案
- 第9课《谈骨气》课件
- 日语N5语法练习加详解
- 成本实操-印制电路板(PCB)行业成本核算报表实例
- 2026年危化品仓库反恐培训计划
- 2026智能制造成熟度评估与辅导方案
- 【答案】《计算机网络》(西南交通大学)章节期末慕课答案
- 15《红红火火中国年》第一课时(教学课件) -二年级道德与法治上册统编版2024
评论
0/150
提交评论