烟雾报警器课程设计报告总结报告
烟雾爆发实验报告

一、摘要本实验旨在设计并实现一款烟雾报警器,通过检测环境中的烟雾浓度,及时发出警报,以保障人们的人身安全和财产安全。
实验过程中,我们选择了烟雾传感器作为核心元件,设计了相应的电路,并对报警器进行了测试。
最终,我们成功实现了烟雾报警器的功能,并对其性能进行了评估。
二、实验目的1. 理解烟雾报警器的工作原理。
2. 掌握烟雾传感器的应用。
3. 学习电路设计方法,提高电路设计能力。
4. 对烟雾报警器的性能进行评估。
三、实验原理烟雾报警器利用烟雾传感器检测环境中的烟雾浓度。
当烟雾浓度超过设定阈值时,传感器输出高电平信号,触发报警器发出警报。
四、实验器材1. 烟雾传感器2. 信号处理电路3. 报警器4. 电源5. 电阻、电容等电子元件6. 实验平台(如面包板、万用表等)五、电路设计1. 信号处理电路设计烟雾传感器输出的信号为模拟信号,需要通过信号处理电路将其转换为数字信号。
本实验采用以下电路设计:(1)放大电路:将烟雾传感器输出的模拟信号进行放大,使其达到足够的电压幅度。
(2)滤波电路:对放大后的信号进行滤波,去除噪声,提高信号质量。
(3)比较电路:将滤波后的信号与预设阈值进行比较,输出高电平或低电平信号。
2. 报警器电路设计报警器电路主要由以下几个部分组成:(1)驱动电路:将比较电路输出的信号驱动报警器发出警报。
(2)延时电路:在报警器发出警报后,延时一段时间,防止误报。
(3)复位电路:在报警器发出警报后,复位报警器,使其恢复正常工作。
六、实验步骤1. 准备实验器材,搭建电路。
2. 调整放大电路,使烟雾传感器输出的信号达到合适的电压幅度。
3. 调整滤波电路,去除噪声,提高信号质量。
4. 设置比较电路的阈值,使其在烟雾浓度超过设定值时输出高电平信号。
5. 测试报警器电路,观察报警器是否能够正常工作。
6. 在不同烟雾浓度下测试报警器,评估其性能。
七、实验结果与分析1. 在无烟雾环境中,报警器未发出警报,说明电路正常。
实训烟雾报警器技术报告

一、实训背景与目的随着社会的发展和科技的进步,火灾事故的发生频率和危害性逐渐增加。
为了提高火灾预防和应对能力,实训烟雾报警器技术应运而生。
本实训旨在通过设计和制作烟雾报警器,掌握烟雾检测原理、报警器设计与实现等相关技术,提高学员的实践能力和创新意识。
二、实训内容与步骤1. 烟雾检测原理学习首先,我们学习了烟雾检测的基本原理,包括光电式、离子式、电化学式等检测方法。
其中,光电式烟雾检测器因其灵敏度高、响应速度快等优点,成为本实训的主要选择。
2. 烟雾报警器设计根据烟雾检测原理,我们设计了烟雾报警器的基本结构,包括传感器、信号处理电路、报警装置和电源模块等。
(1)传感器:选用MQ-2型半导体可燃气体传感器,其工作原理是通过电导率的变化来检测气体浓度,电阻的减小代表气体浓度的增加。
(2)信号处理电路:采用AT89C51单片机作为核心控制单元,通过ADC0809芯片将传感器输出信号转换为数字信号,便于进一步处理。
(3)报警装置:当检测到烟雾浓度超过预设阈值时,单片机控制蜂鸣器和LED灯同时工作,发出声光报警信号。
(4)电源模块:采用可充电锂电池作为电源,保证报警器在无外部电源的情况下仍能正常工作。
3. 电路搭建与调试根据设计图纸,我们搭建了烟雾报警器的实际电路,并进行调试。
调试过程中,我们通过调整电路参数和传感器灵敏度,使报警器在正常情况下不发出报警信号,而在烟雾浓度超过预设阈值时能够及时发出报警。
4. 系统测试与评估在完成电路搭建和调试后,我们对烟雾报警器进行了系统测试。
测试结果表明,报警器能够准确检测烟雾浓度,并在烟雾浓度超过预设阈值时及时发出报警信号,达到了预期目标。
三、实训成果与总结通过本次实训,我们成功设计和制作了一款烟雾报警器,掌握了烟雾检测原理、报警器设计与实现等相关技术。
以下是本次实训的主要成果:1. 掌握了烟雾检测原理和传感器应用技术。
2. 学会了基于单片机的报警器设计与实现。
3. 提高了电路搭建和调试能力。
烟雾报警器课程设计实验报告讲解

电气与电子信息工程学院《虚拟仪器课程设计》课程设计报告专业班级: XXXX学号:XXXXX姓名:皮修指导教师: XXX、XXX设计时间:2015年11月2日—2015年11月20日设计地点:K2—403《虚拟仪器课程设计》成绩评定表指导教师签字:年月日目录一、绪论 (3)1.1 课题背景 (3)1.2 设计任务分析 (3)二、总体方案设计 (3)2.1 烟雾检测传感器选型 (4)2.1.1 烟雾传感器的介绍 (4)2.1.2 MQ-2半导体气体烟雾传感器 (6)2.2 单片机选型 (7)2.2.1 STC89C52单片机简介 (8)2.2.2 单片机的引脚功能描述 (8)2.2.3 温度采集模块 (9)三、系统的硬件电路 (10)3.1 单片机最小系统 (10)3.2 单片机的时钟电路与复位电路设计 (11)3.3 烟雾检测AD采集电路 (11)3.4 显示模块 (11)3.5 声音报警电路 (12)3.6 按键控制电路 (13)3.7 电源模块 (13)3.8 温度传感器(DS18B20)电路 (13)3.8.1 DSl8B20简介 (13)3.8.2 DSl8B20具体参数及工作方式 (16)3.8.3 18B20接口电路 (17)四、系统软件的设计 (18)4.1 系统主程序设计及流程图 (18)五、硬件调试及调试中遇到的问题 (19)5.1 电路的调试 (19)5.2 电路调试中遇到的问题 (19)六、实验总结 (19)七、参考文献 (21)八、附录 (22)附件一:总体原理图设计 (22)附件二:实物图 (22)附件三:元器件清单 (23)附件四:部分程序源代码 (23)课程设计任务书2015~2016 学年第1学期学生姓名:xxxxxx专业班级:xxxxxxxx指导教师:xxxxxx 工作部门:电信教研室一、课程设计题目虚拟仪器课程设计二、课程设计目的为了提高虚拟仪器系统软件设计的应用能力,开始为期二周的虚拟仪器系统课程设计。
烟雾报警器课程设计总结报告

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 课程设计总结报告课程名称电子技术课程设计设计题目基于89C52的室内火、气安全监测装置专业电子信息工程班级姓名学号指导教师报告成绩信息与工程学院二〇一三年十二月十九日前言 ........................................................................................... 错误!未定义书签。
第一章项目任务 ......................................................................... 错误!未定义书签。
1.1 设计任务 ......................................................................... 错误!未定义书签。
1.2 设计要求 ......................................................................... 错误!未定义书签。
第二章方案设计与硬件选择 ................................................. 错误!未定义书签。
2.1 单片机89C52 .................................................................. 错误!未定义书签。
2.2 温度传感器模块 DS18B20 ............................................. 错误!未定义书签。
2.3 烟雾报警器电路MQ2 (5)2.4 信号调理及放大整形模块, LM358芯片 .................... 错误!未定义书签。
2.5 显示模块LED .................................................................. 错误!未定义书签。
烟雾报警器设计报告

北京交通大学电子系统课程设计报告设计题目:烟雾报警器小组名单:联系电话:指导老师:完成日期:2013年3月29日目录一、设计目的 (2)二、设计要求 (2)三、设计步骤 (2)四、设计原理 (3)五、设计方案 (4)1 总体电路设计图及原理说明 (4)2 各单元电路的设计图及原理说明 (5)2.1 气体烟雾传感器 (5)2.2 控制电路 (6)2.3 无线收发模块 (7)2.4报警信号保持电路 (9)2.5 声光报警电路 (12)2.6 计时显示电路 (13)六、调试过程及结果分析 (18)七、课设体会 (20)八、元件清单 (20)九、附件:烟雾报警器实物图 (21)一、设计目的1.了解传感器的基本知识,掌握传感器的使用方法;2.进一步加深对模拟电路基础理论和数字电路基础理论的理解;3.掌握放大器逻辑控制电路和振荡器的设计方法。
二、设计要求1.基本部分:1)电源电压不限,可以使用交流或直流电源;2)有气体或烟雾时进行报警,无气体或烟雾后仍然维持报警,直至重新上电后才撤消报警;3)气体或烟雾报警设置断气、灭火驱动接口;4)显示报警时间。
2.发挥部分:1)可以通过无线方式向远端发送报警信息,无线传输所使用的信号调制、解调方式不限,可以使用成品模块;2)报警采用模拟救火车报警声的音响效果。
三、设计步骤1.电路设计:1)确定整体方案根据设计要求,实现题目要求的电路方案有多种供选择,比较各种方案的优劣、和具体情况选择其中的一种;2)单元电路设计设计两种以上满足要求的电路进行比较,确定最佳的方案;3)元器件的选择;4)画出总体电路图;2.安装焊接调试;3.总结设计报告:1)设计任务书;2)设计框图及电路系统概述;3)各单元电路的设计方案及原理说明;4)调试过程及结果分析;5)设计、安装及调试中的体会;6)参考文献。
四、设计原理1.设计框图2.电路系统概述当空气中有烟雾或可燃气体时,传感器会探测到烟雾或气体,并造成电路中电信号变化。
烟雾报警器实训报告例文

一、实训目的本次实训旨在通过设计、组装和调试烟雾报警器,使学生掌握以下知识和技能:1. 烟雾报警器的工作原理及组成部分;2. 传感器、单片机、模数转换器等电子元器件的选用和连接;3. 烟雾报警器电路设计、程序编写和调试;4. 实验报告撰写能力。
二、实训内容1. 烟雾报警器原理分析烟雾报警器是一种用于检测空气中烟雾浓度的安全装置,其工作原理如下:(1)烟雾传感器:当空气中烟雾浓度超过设定值时,传感器输出低电平信号。
(2)单片机:接收传感器信号,根据预设程序进行判断,若检测到烟雾浓度超过阈值,则控制报警电路工作。
(3)报警电路:当单片机判断有烟雾时,通过控制继电器或蜂鸣器发出报警声。
2. 电路设计本次实训采用的烟雾报警器电路主要由以下部分组成:(1)烟雾传感器:选用MQ-2可燃气体传感器,用于检测烟雾浓度。
(2)单片机:选用AT89C51单片机,作为控制系统。
(3)模数转换器:选用ADC0809,将烟雾传感器的模拟信号转换为数字信号。
(4)报警电路:选用蜂鸣器,用于发出报警声。
3. 程序编写烟雾报警器程序采用C语言编写,主要实现以下功能:(1)初始化单片机、ADC0809和蜂鸣器等硬件设备。
(2)读取烟雾传感器模拟信号,通过ADC0809转换为数字信号。
(3)判断烟雾浓度是否超过阈值,若超过,则控制蜂鸣器报警。
(4)实时显示烟雾浓度值。
4. 调试与测试(1)连接电路,检查元器件是否正确连接。
(2)编写程序,并使用Keil软件进行编译。
(3)将编译好的程序下载到单片机中。
(4)调试程序,观察烟雾报警器是否正常工作。
三、实训结果与分析1. 结果经过调试,烟雾报警器能够正常工作。
当空气中烟雾浓度超过设定值时,蜂鸣器会发出报警声,并实时显示烟雾浓度值。
2. 分析(1)烟雾报警器电路设计合理,元器件选用恰当。
(2)程序编写正确,能够实现烟雾浓度检测和报警功能。
(3)调试过程中,发现并解决了部分问题,如单片机与ADC0809的通信问题、蜂鸣器报警声过小等问题。
烟雾报警器实验报告

一、摘要本实验旨在设计和实现一款基于光电式烟雾传感器的烟雾报警器。
通过分析烟雾报警器的原理,设计电路图,并选用合适的电子元件,完成了烟雾报警器的制作。
实验过程中,对电路进行了测试和调试,验证了报警器的功能。
最终,该烟雾报警器能够有效检测到烟雾并发出声光报警,为火灾预防提供了技术支持。
二、引言烟雾报警器作为一种重要的消防设备,能够及时检测到火灾发生时的烟雾,发出警报,为人员疏散和消防扑救提供宝贵的时间。
随着科技的不断发展,烟雾报警器的种类和功能也在不断丰富。
本实验旨在通过设计和制作一款基于光电式烟雾传感器的烟雾报警器,了解烟雾报警器的原理和制作方法,提高对火灾预防的认识。
三、实验原理烟雾报警器的工作原理是利用光电传感器检测烟雾对光的散射或吸收,从而判断烟雾的存在。
当烟雾进入报警器内部时,光电传感器会检测到光线的减弱或散射,进而触发报警电路,发出声光报警。
四、实验器材1. 光电式烟雾传感器2. 单片机3. 声光报警模块4. 电阻、电容等电子元件5. 电源6. 调试工具五、实验步骤1. 电路设计:根据烟雾报警器的原理,设计电路图。
电路主要由光电传感器、单片机、声光报警模块、电阻、电容等元件组成。
2. 元件选型:根据电路图,选择合适的电子元件。
光电传感器选用光电式烟雾传感器,单片机选用STC89C51,声光报警模块选用普通声光报警模块。
3. 电路制作:按照电路图,将元件焊接在面包板上。
4. 电路调试:接通电源,观察报警器是否能够正常工作。
如果报警器不能正常工作,检查电路连接是否正确,元件是否损坏,并进行相应的调整。
5. 功能测试:将烟雾引入报警器内部,观察报警器是否能够及时发出声光报警。
六、实验结果与分析1. 电路测试:经过多次调试,电路连接正确,元件无损坏,报警器能够正常工作。
2. 功能测试:将烟雾引入报警器内部,报警器能够及时发出声光报警,达到预期效果。
七、结论本实验成功设计并制作了一款基于光电式烟雾传感器的烟雾报警器。
烟雾报警器实训报告

《烟雾报警器实训报告》学院:重庆三峡职业学院专业:机械与电子工程系班级:2011机电级一班学生:祁松卜张钦1.1.1烟雾监测报警器的设计思路烟雾检测报警器是能够检测环境中的烟雾浓度,并具有报警器功能的仪器,仪器的最基本组成部分应包括:烟雾信号采集电路、模数转换电路、单片机控制电路。
烟雾信号采集电路一般由烟雾传感器,将烟雾信号转化为模拟电信号。
模数转换电路ADC0832将从烟雾检测电路送出模拟信号转换成单片机可识别的数字信号后送入单片机。
单片机对该数字信号进行滤波处理,并对处理后的数据进行分析,是否大于或等于某个预设值,如果大于则启动报警电路发出警报声音,反之则为正常状态。
1.2烟雾传感器选型烟雾传感器属于气敏传感器,是气电变换器,他将可燃性气体在空气中的含量转化成电压或者电流信号,通过A/D转换电路将模拟量转换成数字量后送到单片机,进而由单片机完成数据处理、浓度处理及报警控制等工作。
传感器做为烟雾检测报警器的信号采集部分,是仪表的核心组成部分之一。
由此可见,传感器的选型是非常重要的。
1.2.1(1)烟雾传感器的分类烟雾传感器种类繁多,从检测原理上可以分为三大类:(a)利用物理化学性质的烟雾传感器:如半导体烟雾传感器、接触燃烧烟雾传感器等。
(b)利用物理性质的烟雾传感器:如热导烟雾传感器、光干涉烟雾传感器、红外传感器等。
(c)利用电化学性质的烟雾传感器:如电流型烟雾传感器、电势型气体传感器等。
(2)烟雾传感器应满足的基本条件:一个烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多个不同功能传感器组成的阵列。
但是任何一个完整的烟雾传感器都必须具备以下条件:(a)能选择性地检测某种单一烟雾,而对共存的其他烟雾不响应或低响应:(b)对被测烟雾具有较高的灵敏度,能有效低检测允许范围内的烟雾浓度;(c)对检测信号响应速度快,重复性好;(d)长期工作稳定性好;(e)使用寿命长;(f)制造成本低,使用与维护方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计总结报告课程名称电子技术课程设计设计题目基于89C52的室内火、气安全监测装置专业电子信息工程班级姓名学号指导教师报告成绩信息与工程学院二〇一三年十二月十九日目录前言 (3)第一章项目任务 (3)1.1 设计任务 (3)1.2 设计要求 (4)第二章方案设计与硬件选择 (4)2.1 单片机89C52 (4)2.2 温度传感器模块 DS18B20 (5)2.3 烟雾报警器电路MQ2 (5)2.4 信号调理及放大整形模块, LM358芯片 (7)2.5 显示模块LED (7)2.6 报警电路 (7)2.7 按键分析 (6)2.8 复位电路 (6)第三章流程图设计 (8)3.1 电路系统模块 (8)3.2 主程序流程图 (8)3.3 温度报警子程序 (9)3.4 烟雾报警子程序图 (9)3.5 对18B20写程序流程图 (10)3.6 对18B20读8为数据流程图 (12)3.7 温度值转换流程图 (13)3.8 18B20读取温度流程图 (14)第四章电路实验与调试 (15)4.1 焊接 (16)4.2 软件设计 (14)4.3 调试与处理出现问题 (19)第五章设计总结 (19)附录 (21)前言随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
第一章项目任务1.1 设计任务使用温度传感器和烟雾传感器把环境温度和烟雾的浓度情况检测出来,再采用单片机进行温度的显示和烟雾显示,可设置温度报警和烟雾报警。
要求进行硬件、软件系统设计。
要求:位温度的显示;设置报警温度;烟雾报警1.2 设计要求(1) 能检测火灾事故,并报警(2) 能检测烟雾,有毒气体泄漏事故,并报警(3)能实时显示室内温度值,并通过键盘设置温度报警上下限值第二章方案设计与硬件选择2.1单片机89C52AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
2.2温度传感器模块 DS18B202.2.1数字温度传感器DS18B20,具有独特的单总线接口方式,需一根总线就能实现控制模块与DS18B20之间的半双工通信。
DS18B20是集传感元件和转换电路于一体的小芯片上。
另外,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内。
现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。
2.2.2 工作原理DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图1所示。
第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。
该字节各位的定义热图二所示。
低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要改动,R1和R0决定温度转换得精度位数,即用来设置分辨率,定义方法见表1。
图一图二2.2.3 供电方式采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电2.3 烟雾报警器电路MQ2MQ2烟雾传感器,有只针状管脚,其中4个用于信号取出,2个用于提供加热电流。
当烟雾扩散时,烟雾传感器感应到烟雾时, 继电器打到NO,风扇开始工作,马达转动,风扇产生吸力将烟雾吸入到装有活性炭和负离子的过滤外壳中,排清新干净的气体2.4 信号调理及放大整形模块, LM358芯片LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器。
当P1.5为0时报警。
2.5 显示模块LED采用LED数码管显示2.6 报警电路用蜂鸣器作报警提示音,加发光二极管,声光结合充分突出了紧急提示信号的特点。
2.7按键分析四个按键的功能分别为:第一个按键是结束选择,按一下表示显示管进行显示当时温度;第二个键是减键,对设定的温度进行减一;第三个键是加键;第四个键是进入键,按一下表示进入设置温度模式。
2.8 复位电路原理:VCC上电时,C3充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C 充满,10k电阻上电流降为0,电压也为0,使得单片机复位。
工作期间,按下S4,C放电,在10K电阻上出现电压,使得单片机复位。
S松手,C又充电,几个毫秒后,单片机进入工作状态。
第三章流程图设计3.1电路系统模块3.2主程序流程图3.3温度报警子程序3.4烟雾报警子程序图3.5对18B20写程序流程图3.6对18B20读8为数据流程图3.7温度值转换流程图3.8 18B20读取温度流程图第四章电路实验与调试4.1 焊接4.2 软件设计#include <reg52.h>#include "18b20.h"#include <intrins.h>#define uint unsigned int//宏定义#define uchar unsigned char//宏定义#define date P1 //数码管段选uint temp,alarm_temp;//定义温度,设定温度bit key_lock,chang_flag;bit zerotemp_flag; //负温度标志位uchar code LED[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //三位共阳极数码管0~9的断码//数码管位定义sbit ge = P1^2;//个位sbit shi = P1^1;//十位sbit bai = P1^0;//百位sbit bell = P2^7;//蜂鸣器定义sbit MQ = P1^5;//MQ-2定义sbit DQ = P1^4;//18B20定义//按键定义sbit key0 = P2^0;sbit key1 = P2^1;sbit key2 = P2^2;sbit key3 = P2^3;void delay_ms(uint xms){//延时子程序uint i,j;for(i=xms;i>0;i--)//i=xms即延时约xms;for(j=110;j>0;j--);}void delay_us(uint z){//微妙级延时while(z--)_nop_();}void display(uint x){//数码管显示子程序//取一温度值xuint temp1;temp1 = x;temp1 = temp1%1000;//使温度值不超过三位有效数//动态显示//显示个位ge = 0;//开显示date = LED[temp1%10];//将temp1的个位显示出来delay_ms(2);//延时2msge = 1;//关显示//显示十位shi = 0;//开显示date = LED[temp1%100/10]&0x7f; //将temp1的十位显示出来,并显示小数点dp位delay_ms(2);//延时2msshi = 1;//关显示//显示百位bai = 0;//开显示date = LED[temp1/100];//将temp1的百位显示出来delay_ms(2);//延时2msbai = 1; //关显示}void alarm(void){//报警子程序if((temp>alarm_temp)|(MQ == 0))//如果温度大于设定值或MQ2=0{bell = 0;//蜂鸣器响}elsebell = 1;//蜂鸣器不响}/*****************18B20程序******************/void fuwei(void){//18B20复位DQ = 0;delay_us(50); //600usDQ = 1;delay_us(5); //70us}uchar read_18B20(void){//从18B20读取8位数据uchar i,dat; //从最低位开始接收for(i = 0;i<8;i++){dat>>=1; //数据右移一位DQ = 0;_nop_(); //延时1usDQ = 1; //释放总线_nop_(); //延时2us后在读取,不然读取值会紊乱,很关键!!! _nop_();if(DQ)dat|=0x80; //如果接收到的是1,则最高位置为1delay_us(2); //延时40us}return dat;}void write_18B20(uchar dat){//对18B20写8位数据uchar i;for(i = 0;i<8;i++){DQ = 0;_nop_();//延时10usDQ = (bit)(dat&0x01); //从最低位开始发送dat>>=1; //右移一位delay_us(1); //延时40usDQ = 1; //释放总线}}void changetemp(void){//温度值转换uint Temp_L,Temp_H;Temp_L = read_18B20();//读取低八位Temp_H = read_18B20();//读取高八位,当温度为负数时 temp(7~4)为1,反之为0 if(((bit)(Temp_H&0x80))){zerotemp_flag = 1; //温度为负数标志位//负温度计算Temp_H &= 0x0f;temp = (Temp_H<<8|Temp_L)*0.625;}temp = (Temp_H<<8|Temp_L)*0.625; //保存一位小数}void read_temp(void){//从18B20读取温度fuwei(); //复位delay_us(10); //延时write_18B20(0xcc);//跳过读取序列号write_18B20(0x44);//开始转换温度fuwei(); //复位delay_us(10); //延时write_18B20(0xcc);//跳过读取序列号write_18B20(0xbe);//读暂存指令changetemp(); //读取转换温度fuwei(); //复位}int main(void){//主程序alarm_temp = 220;//设定温度初始值read_temp();//18b20测温delay_ms(500);//延迟500mswhile(1){read_temp();//18b20测温display(temp);//显示测到的温度alarm();//报警if(!key0)//如果key0=0,则进入温度修改状态{delay_ms(2);//延迟2ms,消抖if(!key0)//如果key0=0,则确定键按下,显示温度chang_flag = 1;}while(chang_flag){.if(key1&key2)key_lock = 1;//如果key1&key2=1,则无效if(!key1){delay_ms(2);//延迟2ms,消抖if(!key1){if(key_lock){alarm_temp+=10; //alarm_temp+10=alarm_temp(温度加1)if(alarm_temp>990)//如果数码管前两位大于99,则清零alarm_temp = 0;key_lock = 0;}}}if(!key2){delay_ms(2);//延迟2ms,消抖if(!key2){if(key_lock){alarm_temp-=10; //alarm_temp+10=alarm_temp(温度减1)if(alarm_temp>1000)//如果三位数码管都是0,则减一后变为990alarm_temp = 990;key_lock = 0;}}}if(!key3){delay_ms(2);//延迟2ms,消抖if(!key3){if(key_lock){chang_flag = 0;key_lock = 0;}}}display(alarm_temp);//显示设定温度}}}4.3调试与处理出现问题1.温度显示不正确,发现DS18B20电路少接一个电阻。