传感器课程设计

合集下载

传感器的课程设计

传感器的课程设计

传感器的课程设计一、课程目标知识目标:1. 学生能够理解传感器的基本概念、原理及分类。

2. 学生能够掌握传感器在实际应用中的选用原则和使用方法。

3. 学生能够了解传感器在生活中的广泛应用及其重要性。

技能目标:1. 学生能够运用所学知识,正确组装、调试简单的传感器装置。

2. 学生能够运用传感器进行数据采集、处理和分析,解决实际问题。

3. 学生能够通过查阅资料、合作交流,提高传感器应用的创新能力和实践能力。

情感态度价值观目标:1. 学生对传感器技术产生兴趣,培养主动探究科学技术的热情。

2. 学生通过学习传感器知识,认识到科技发展对社会进步的推动作用,增强社会责任感和使命感。

3. 学生在团队合作中,学会尊重他人、倾听意见、分享成果,培养良好的团队合作精神。

课程性质:本课程属于科学课程,以实践性和探究性为主要特点,旨在培养学生的动手能力、创新能力及科学素养。

学生特点:学生处于初中阶段,具有一定的物理基础,好奇心强,喜欢动手操作,但需引导培养合作意识和解决问题的能力。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践和合作交流,提高学生的科学素养和创新能力。

通过分解课程目标为具体的学习成果,为后续的教学设计和评估提供依据。

二、教学内容1. 传感器的基本概念与原理- 传感器的定义、功能及分类- 常见传感器的原理介绍(如温度传感器、光敏传感器、声音传感器等)2. 传感器的选用与使用方法- 传感器的选用原则- 传感器连接电路的搭建与调试- 传感器在实际应用中的注意事项3. 传感器在生活中的应用案例- 自动门控制系统- 温湿度监测系统- 火灾报警系统4. 数据采集、处理与分析- 传感器数据采集的方法与设备- 数据处理与分析的基本步骤- 数据可视化展示5. 传感器创新实践- 设计简单的传感器应用项目- 制作传感器装置,解决实际问题- 团队合作、交流与分享教学内容安排与进度:第一课时:传感器基本概念与原理,介绍教材相关章节内容第二课时:传感器的选用与使用方法,结合教材实例进行分析第三课时:传感器在生活中的应用案例,参观或观看相关视频资料第四课时:数据采集、处理与分析,实践操作与讨论第五课时:传感器创新实践,分组进行项目设计与实施三、教学方法本课程将采用以下多元化的教学方法,以激发学生的学习兴趣,提高教学效果:1. 讲授法:教师通过生动的语言和形象的表达,讲解传感器的基本概念、原理、选用原则等理论知识,为学生奠定扎实的理论基础。

传感器相关的课程设计

传感器相关的课程设计

传感器相关的课程设计一、课程目标知识目标:1. 让学生理解传感器的定义、分类和工作原理,掌握常见传感器的特点及应用场景。

2. 使学生了解传感器在智能控制系统中的作用,掌握传感器信号的采集、处理和传输方法。

3. 帮助学生掌握传感器相关的基础电路,如信号放大、滤波和线性化等。

技能目标:1. 培养学生运用传感器进行数据采集和简单智能控制系统搭建的能力。

2. 培养学生分析传感器性能和选用合适传感器解决实际问题的能力。

3. 提高学生动手实践能力,学会使用传感器相关仪器和设备。

情感态度价值观目标:1. 培养学生对传感器技术的兴趣和求知欲,激发创新意识。

2. 培养学生严谨的科学态度,注重实践与理论相结合。

3. 增强学生的团队合作意识,学会在团队中分工合作、共同解决问题。

课程性质:本课程为学科拓展课程,以实践为主,理论联系实际,注重培养学生的动手能力和创新能力。

学生特点:学生处于初中或高中阶段,具备一定的物理知识和实验技能,对新技术和新事物充满好奇。

教学要求:结合传感器技术发展趋势,注重理论与实践相结合,提高学生的实际操作能力,培养学生解决问题的能力。

在教学过程中,关注学生的个体差异,充分调动学生的积极性,鼓励学生主动探究、创新实践。

通过本课程的学习,使学生能够掌握传感器相关知识,具备初步的智能控制系统设计能力。

二、教学内容1. 传感器基础知识- 传感器的定义、分类和工作原理- 常见传感器(如温度传感器、湿度传感器、光敏传感器等)的特点及应用场景2. 传感器在智能控制系统中的应用- 传感器信号采集、处理和传输方法- 传感器与微控制器的接口技术3. 传感器相关电路- 信号放大、滤波和线性化电路- 传感器信号处理电路的设计与搭建4. 实践操作- 使用传感器进行数据采集和简单智能控制系统搭建- 分析传感器性能,选用合适传感器解决实际问题5. 教学案例与拓展- 结合教材中的实例,进行传感器应用案例分析- 介绍传感器技术的发展趋势和新兴应用领域教学大纲安排:第一周:传感器基础知识学习第二周:常见传感器特点及应用场景分析第三周:传感器信号采集、处理和传输方法学习第四周:传感器相关电路设计与搭建第五周:实践操作(数据采集与智能控制系统搭建)第六周:教学案例与拓展,总结与反思教学内容与教材关联性:本教学内容与教材中传感器相关章节紧密关联,涵盖传感器的定义、分类、工作原理以及应用等方面,旨在帮助学生系统地掌握传感器知识,提高实际操作能力。

国家开放大学-传感器与测试技术课程设计(实验成绩)

国家开放大学-传感器与测试技术课程设计(实验成绩)

传感器与测试技术课程设计随着计算机技术、信息技术的发展, 信息资源的获取与信息的转换愈来愈引起人们的高度重视。

传感器与测试技术作为信息科学的一个重要的分支, 与计算机技术、自动控制技术和通信技术一起构成了完整的信息技术学科, 在信息技术领域具有不可替代的作用, 以传感器为核心的测试系统已广泛地应用于工业、农业、国防和科学研究等领域。

在军事上, 传感器与测试技术已经成为高技术武器装备发展的关键。

在装备性能检测、控制、故障诊断维修, 以及战场目标探测、战场生化、环境探测等方面得到广泛应用, 因此, 许多高校都将《传感器与测试技术>作为工科专业学生的必修课程, 也有多个专业开设了该门课程。

上课学生数量多, 教学时数在36学时左右。

如何进一步完善基础教学内容、改革教学方法, 增加装备应用特色, 提高学生的实践与创新能力, 已成为任课教师考虑的主要问题。

十分有必要根据学生的培养目标, 以及传感器与测试技术的发展趋势, 从教学理念、教学目的、课程和实验内容等方面进行优化设计。

一、课程教学理念与目标在工程技术领域, 传感与测试过程是利用物质的物理、化学和生物效应, 从客观事物对象中提取有关信息的感知和认识过程, 属于信息科学中信息获取的范畴。

“工欲善其事, 必先利其器”, 传感器与测试技术作为人类认识客观事物特性、掌握其内在规律的主要手段, 在认识世界、改造世界的过程中具有重要的作用, 已成为信息时代的关键技术之一。

所以应能从哲学高度认识传感器与测试在信息获取和预处理过程中作用地位, 树立“广义测试”的理念。

在教学内容的组织上, 首先从了解传感器与测试技术在现代工业领域的作用地位为出发点, 掌握传感器与测试过程的基本静动态特性和技术指标。

然后以实现位移、振动力、温度、流量等常见物理量的测量为目标, 深入介绍电阻、电容、电感、热电、光电等传感器的工作原理和测量方法。

并结合武器装备中常用的微光、红外探测器件, 详细介绍其构成原理, 以突出本课程的军事应用特色。

传感器技术的课程设计

传感器技术的课程设计

传感器技术的课程设计一、课程目标知识目标:1. 学生能理解传感器的定义、分类和工作原理,掌握传感器在工程和日常生活中的应用。

2. 学生能够描述不同类型传感器的特点,例如温度传感器、压力传感器、光传感器等,并解释其工作过程。

3. 学生能够运用传感器的基本原理,分析简单电路中传感器的功能及相互协作的关系。

技能目标:1. 学生通过实验操作和数据分析,培养实际操作传感器和处理信息的能力。

2. 学生能够设计简单的传感器应用电路,解决实际问题,提升创新实践能力。

3. 学生通过小组合作,学会交流想法、分享信息,提高团队协作能力。

情感态度价值观目标:1. 学生通过学习传感器技术,激发对物理科学的兴趣,培养探究精神和创新意识。

2. 学生能够在学习过程中认识到传感器技术对于社会发展的重要性,增强社会责任感和使命感。

3. 学生通过课程学习,培养细心观察生活、发现问题的习惯,形成科学、严谨的学习态度。

二、教学内容本课程以《物理》课本中传感器技术相关章节为基础,涵盖以下教学内容:1. 传感器技术概述:介绍传感器的定义、作用、分类和工作原理,结合实际案例展示传感器的应用领域。

2. 常见传感器及其特性:- 温度传感器:热敏电阻、热电偶等;- 压力传感器:应变片、硅压阻等;- 光传感器:光敏电阻、光电二极管等;- 其他传感器:湿度传感器、磁敏传感器等。

3. 传感器应用电路设计:- 简单传感器电路分析;- 传感器信号处理方法;- 结合实际问题,设计简单的传感器应用电路。

4. 传感器实验操作与数据分析:- 安排实验课程,让学生动手操作传感器;- 收集、整理和分析实验数据,培养学生实际操作能力和数据处理能力。

5. 传感器技术发展趋势与未来展望:- 介绍传感器技术的发展趋势;- 探讨传感器技术在未来各领域的应用前景。

教学内容安排和进度:第一课时:传感器技术概述;第二课时:常见传感器及其特性;第三课时:传感器应用电路设计;第四课时:传感器实验操作与数据分析;第五课时:传感器技术发展趋势与未来展望。

传感器教案

传感器教案

传感器教案引言传感器作为现代科技领域的重要组成部分,正在不断发展和应用。

在科学课程中,传感器技术的教学内容逐渐引起人们的关注。

本教案旨在介绍传感器的基本概念和原理,并探讨如何在教学中有效地引导学生了解传感器的应用和作用。

一、教学目标1. 了解传感器的基本概念和原理。

2. 掌握传感器的分类和常见应用。

3. 培养学生的实验设计和数据分析能力。

4. 培养学生的创新思维和解决问题的能力。

二、教学内容1. 传感器的基本概念和原理a. 传感器的定义和作用b. 传感器的工作原理(电阻、电容、电感、光电等)c. 传感器的特点和性能指标2. 传感器的分类和常见应用a. 按测量物理量分类(温度、湿度、压力、光照强度等)b. 按工作原理分类(电阻式、电容式、电感式、光电式等)c. 传感器在生活和工业领域中的应用案例3. 传感器实验设计和数据分析a. 学生通过实验自行设计传感器实验方案b. 学生收集实验数据并进行分析和比较c. 学生讨论实验结果,并得出结论和改进方向4. 培养学生的创新思维和解决问题的能力a. 学生参与小组讨论和合作,解决传感器应用相关问题b. 学生思考传感器在未来科技发展中的应用前景和挑战c. 学生提出自己的创新想法和解决方案三、教学方法与过程1. 教师授课:讲解传感器的基本概念和原理,以及分类和常见应用的案例分析。

2. 学生实验:根据教师指导,学生自行设计传感器实验方案,并进行实验操作和数据记录。

3. 学生讨论:学生小组讨论实验结果,进行数据分析和比较,得出结论和改进方向。

4. 学生发展:鼓励学生提出问题和创新思路,展开小组合作或个人研究项目。

5. 教师评估:根据学生实验报告、讨论表现和创新项目成果进行评估,并给予指导和反馈。

四、教学评估1. 学生实验报告的设计和完成情况。

2. 学生在讨论和小组合作中的参与度和表现情况。

3. 学生创新项目的研究内容和成果展示。

4. 学生对传感器应用前景和挑战的思考和表达能力。

传感器课程设计自我总结

传感器课程设计自我总结

传感器课程设计自我总结一、教学目标本章节的教学目标是使学生掌握传感器的基本原理、类型及应用,能够运用传感器解决实际问题。

具体目标如下:1.知识目标:–了解传感器的定义、分类和基本原理。

–掌握常见传感器的结构、特点和应用领域。

–理解传感器与控制系统的接口和信号处理方法。

2.技能目标:–能够分析传感器的性能指标,选择合适的传感器。

–能够进行传感器的安装、调试和维护。

–能够运用传感器进行数据采集和处理,解决实际问题。

3.情感态度价值观目标:–培养学生对传感器的兴趣,提高学生学习的积极性。

–培养学生团队合作精神,提高学生动手实践能力。

–培养学生关注社会热点问题,提高学生责任感。

二、教学内容根据课程目标,本章节的教学内容主要包括以下几个方面:1.传感器的基本原理:介绍传感器的定义、分类和基本原理,使学生了解传感器的工作原理和特性。

2.常见传感器:详细讲解各种常见传感器的结构、特点和应用领域,如温度传感器、压力传感器、光电传感器等。

3.传感器与控制系统的接口和信号处理方法:介绍传感器与控制系统的接口技术,包括模拟量接口、数字量接口等;讲解信号处理方法,如滤波、放大、采样等。

4.传感器的安装、调试和维护:讲解传感器的安装位置、安装方式、调试方法和维护注意事项,使学生能够熟练进行传感器的安装和维护。

5.传感器在实际应用中的案例分析:分析传感器在各个领域的应用案例,使学生能够运用所学知识解决实际问题。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用以下教学方法:1.讲授法:讲解传感器的基本原理、结构和应用,使学生掌握传感器的相关知识。

2.讨论法:学生进行小组讨论,分享对不同类型传感器的理解和应用案例。

3.案例分析法:分析传感器在实际应用中的案例,引导学生运用所学知识解决实际问题。

4.实验法:安排学生进行传感器实验,培养学生动手实践能力和团队协作精神。

四、教学资源为了支持教学内容和教学方法的实施,本章节将采用以下教学资源:1.教材:选用权威、实用的传感器教材,为学生提供系统、全面的知识体系。

传感器课程设计20页

传感器课程设计20页

传感器课程设计20页一、教学目标本课程的教学目标是使学生掌握传感器的基本原理、性能和应用方法,培养学生动手能力和创新思维,提高学生对传感器技术的认识和理解。

知识目标:了解传感器的基本概念、分类和特性;掌握传感器的选型、安装和调试方法;了解传感器在自动化系统和智能制造中的应用。

技能目标:能够根据实际需求选择合适的传感器,进行电路设计和系统集成;能够使用传感器进行数据采集和分析,解决实际问题。

情感态度价值观目标:培养学生对科技创新的兴趣和热情,提高学生责任感和社会使命感,使学生认识到传感器技术在现代社会中的重要性。

二、教学内容本课程的教学内容主要包括传感器的基本原理、性能参数和应用领域。

1.传感器的基本原理:电阻式、电容式、电感式、霍尔效应、光电效应等传感器的原理和特点。

2.传感器的性能参数:灵敏度、迟滞、重复性、线性度、分辨力等参数的定义和计算。

3.传感器的应用领域:工业自动化、智能交通、生物医学、环境监测等领域的传感器应用案例。

4.传感器选型、安装和调试:根据实际需求选择合适的传感器,了解传感器的安装和调试方法。

5.传感器与微处理器的接口技术:了解传感器与微处理器的接口方式,掌握接口电路的设计方法。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

1.讲授法:通过教师讲解,使学生掌握传感器的基本原理和性能参数。

2.讨论法:引导学生参与课堂讨论,提高学生对传感器应用案例的分析和评价能力。

3.案例分析法:分析实际应用案例,使学生了解传感器在各个领域的应用,提高学生的实践能力。

4.实验法:学生进行实验,使学生掌握传感器的选型、安装和调试方法,培养学生的动手能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用国内权威出版社出版的传感器教材,保证课程内容的科学性和系统性。

2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作PPT、视频等多媒体资料,提高课堂教学效果。

传感器课设报告(一)

传感器课设报告(一)

传感器课设报告
引言
- 介绍传感器的概念和作用
- 说明本报告的目的和意义
传感器的种类及原理
- 详细介绍常见的传感器种类,如温度传感器、压力传感器、光学传感器等- 阐述每种传感器的工作原理和应用场景
传感器的选型与设计
- 分析传感器选型的要点,如测量范围、精度、响应时间等
- 讨论传感器的设计要点,如接口选择、电路设计、信号处理等
传感器课设实例
- 介绍一个传感器课设的具体案例
- 分析课设的目标和要求
- 阐述该课设中所使用的传感器选择、设计、优化过程
传感器课设实验结果分析
- 总结实验过程中遇到的问题
- 分析实验结果,并评价传感器的性能
- 探讨实验结果对传感器应用的启示
传感器的未来发展
- 展望传感器技术的发展趋势
- 探讨传感器在智能化、物联网等领域的应用前景
- 对传感器技术未来的发展方向进行展望
结论
- 总结本报告的主要内容
- 强调传感器在工程实践中的重要性和应用前景
- 提出对传感器课设及相关技术的建议和展望
参考文献
- 罗列本报告中涉及的相关文献及资料
以上是传感器课设报告的详细内容,希望对您有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地下室火灾报警器学院:信息工程学院班级:13普本测控学号:姓名:目录摘要 (1)一、绪论 (2)1.1 课题描述 (2)1.2 方案设计 (2)1.3 方案比较: (2)1.4 基本工作原理及框图 (3)二、相关芯片、传感器及硬件电路设计 (4)2.1 STC89C52RC芯片 (4)2.2 DS18B20 温度传感器 (5)2.3 LCD1602字符型液晶 (6)2.4 光敏电阻 (7)三、系统软件设计[2] (9)3.1温度传感器控制程序 (9)3.2 液晶屏控制程序 (13)3.3主程序“main.c” (15)四、总结 (21)五、参考文献 (22)地下室火灾报警器摘要本设计是用于地下室的火灾报警,利用火灾发生时产生的剧烈光强,还有高温,进行感光感温报警。

同时如果地下室存放的是一些温度敏感的物品,也可以通过设置进行温度过高/过低报警。

用到的传感器主要有温度传感器DS18B20和光电传感器光敏电阻。

关键词:DS18B20,光敏电阻,STC89C52,LCD1602一、绪论1.1 课题描述地下室常作为人们的杂物间使用,或者充当饭店的酒窖功能,里面经常摆放着很多易燃物品,由于地下室经常潮湿和经常飘散的灰尘会使普通的烟雾报警器误报[1]。

所以设计此种地下室火灾报警器。

1.2 方案设计方案一:火灾发生的时候会有光亮,会使昏暗的地下室光强出现变化,故采用光敏电阻设计此报警器;方案二:火灾发生的时候会产生大量热量,会使阴冷的地下室温度变化,故采用温度传感器设计此报警器;方案三:由于火灾发生时产生光和热,同时采用光敏电阻和温度传感器级联设计此报警器。

1.3 方案比较:方案一只采用光敏电阻,电路设计比较简单,但是如果地下室入口没有密封好,或者地下室开有透光窗,外界光强变化时,容易出现报警器误报;方案二采用温度传感器设计,电路上和方案三相当,但是如果地下室密封性好,地下室的一些容易发酵的酒水或者其他粮食蔬菜之类的发酵产生的大量热量,也会使报警器出现误报;方案三综合光强变化和温度变化,电路设计上只比方案二多一个光敏传感器,但是却同时具备了光强和温度传感。

如果地下室密封性好,温度升高的时候并没有光照变化,避免误报;如果地下室密封性不好或者开有透光窗,光强变化的时候,发酵产生的热量及时的散出地下室,报警器也不会误报。

只有火灾时候瞬间产生高温不会及时散去,而且有大量光照,报警器才会工作。

综合以上方案,故采用方案三。

1.4 基本工作原理及框图1.4.1 工作原理:温度传感器测温,在lcd1602上实时显示温度。

当温度超过设置的标准温度时,打开外部中断。

如果没有中断,主程序继续检测温度报警开关K1是否打开,如果温度报警开关关闭,则程序返回开始位置继续测温。

如果温度报警开关打开,则出现提示音“地下室温度过高,请及时通风”。

在温度过高时,同时出现了光照,光敏电阻阻值减小,电压拉低,则出现外部中断,提示音“地下室有火情”。

1.4.2程序流程图:主程序:中断处理程序:1.4.3框图:按键1:设置报警温度+;按键2:设置报警温度-;按键3:设置每次加减的大小(1或者5);按键4:退出设置;开关1:打开/关闭温度报警;温度报警:用LED灯亮表示;火灾报警:用蜂鸣器响表示;二、相关芯片、传感器及硬件电路设计2.1 STC89C52RC芯片STC89C52RC是STC公司生产的一款8051内核芯片,内部含有Flash EEPROM,为CMOS产品,内部有8KB的程序存储空间,512B的RAM。

因为本设计应用于火灾报警,因此要选用温度范围-40℃至+85℃的工业级产品。

外部晶振最高可接入40MHz,双列直插式封装。

需要为维持51单片机运行搭建最小系统,硬件连接如图。

2.2 DS18B20 温度传感器使用DS18B20单线数字温度传感器具有以下优点:(1)和微处理器连接时,仅需要一个I/O口就可实现。

单总线具有经济性好、抗干扰能力强、使用方便等优点;(2)测温范围宽,测量精度高:DS18B20测温范围为-55℃到+125℃;在-10℃至+85℃范围内,精度为±0.5℃。

(3)测量参数可配置:DS18B20测量分辨率可通过程序设定9-12位。

(4)DS18B20体积小、适用电压宽。

DS18B20连接如图:测温电路实图:2.3 LCD1602字符型液晶LCD1602是一种专门用来显示字母、数字、符号的点阵型液晶模块。

它是由若干个5x7或者5x11的点阵字符位组成,一共可显示2行,每行可显示16个字符,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

LCD1602的电路图如图液晶连接实物图:2.4 光敏电阻光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的一种电阻器,又称为光电导探测器,入射光强,电阻减小,入射光弱,电阻增大。

光敏电阻部分的电路如图:总电路图如图:总电路实图:三、系统软件设计[2]3.1温度传感器控制程序3.1.1头文件名“ds18b20.h”#ifndef _DS18B20_H_#define _DS18B20_H //定义ds18b20.h#include <reg52.h>#ifndef uchar#define uchar unsigned char#endif //定义uchar为类型unsigned char#ifndef uint#define uint unsigned int#endif //定义uint 为类型unsigned intsbit DSIO = P2^3; //将P2^3命名为DSIOvoid TempDelay1ms(); //声明一个延时1ms的函数void TempDelay100ms(); //声明一个延时100ms的函数uchar Ds18b20Init(); //声明DS18B20的初始化函数void Ds18b20WriteByte(uchar dat); //声明一个函数将一个8位的二进制数写入DS18B20uchar Ds18b20ReadByte(); //声明一个函数读取DS18B20的一个8位二进制数void Ds18b20ChangTemp(); //声明一个函数写入温度转换命令到DS18B20void Ds18b20ReadTempCom(); //声明一个函数发送读取温度命令到DS18B20int Ds18b20ReadTemp(); //声明一个函数读取温度并返回#endif3.1.2源文件名“ds18b20.c”#include"ds18b20.h"void TempDelay1ms(){uchar a,b,c;for(c=1;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--);}void TempDelay100ms(){uchar a,b,c;for(c=19;c>0;c--)for(b=20;b>0;b--)for(a=130;a>0;a--);}uchar Ds18b20Init(){uint i;DSIO=0; //拉低总线i=70;while(i--); //延时DSIO=1; //释放总线while(DSIO){i++;if(i>5)return 0; //初始化失败}return 1; //初始化成功}void Ds18b20WriteByte(uchar dat){uint i,j;for(j=0;j<8;j++){DSIO=0; //拉低总线i++; //延时DSIO=dat&0x01; //从最低位开始送数据到ds18b20i=6;while(i--); //延时DSIO=1; //释放总线dat>>=1; //数据移位,准备送下一位}}uchar Ds18b20ReadByte(){uchar byte,bi;uint i,j;for(j=8;j>0;j--){DSIO=0; //拉低总线i++; //延时DSIO=1; //释放总线i++;i++; //延时bi=DSIO; //读ds18b20传到总线的数据,从最低位开始byte=(byte>>1)|(bi<<7); //移位,准备读取下一位i=4;while(i--); //延时}return byte; //返回读取到的数据}void Ds18b20ChangTemp(){Ds18b20Init(); //初始化TempDelay1ms(); //延时Ds18b20WriteByte(0xcc); //跳过ROM操作Ds18b20WriteByte(0x44); //发送温度转换命令TempDelay100ms(); //延时}void Ds18b20ReadTempCom(){Ds18b20Init(); //初始化TempDelay1ms(); //延时Ds18b20WriteByte(0xcc); //跳过ROM操作Ds18b20WriteByte(0xbe); //发送读取温度命令}int Ds18b20ReadTemp(){uint temp=0;uchar tmh,tml;Ds18b20ChangTemp(); //发送温度转换命令Ds18b20ReadTempCom(); //发送读取温度命令tml=Ds18b20ReadByte(); //读取温度(共16位),先读低8位tmh=Ds18b20ReadByte(); //读取温度高8位temp=tmh;temp<<=8;temp|=tml; //将16位温度数据保存到16位变量tempreturn temp; //返回温度值}3.2 液晶屏控制程序3.2.1头文件名“lcd1602.h”#ifndef _LCD1602_H_#define _LCD1602_H_ //定义lcd1602.h#include<reg51.h>#ifndef uchar#define uchar unsigned char //定义uchar为类型unsigned char#endif#ifndef uint#define uint unsigned int //定义uint 为类型unsigned int#endif#define GPIO_LCD P1 //定义GPIO_LCD替换P1,作为lcd1602的输入sbit RS=P2^0; //声明RS为I/O口P2^0sbit RW=P2^1; //声明RW为I/O口P2^1sbit E=P2^2; //声明E为I/O口P2^2void LcdDelay5ms(); //声明一个延时5ms的函数void LcdWriteCom(uchar com); //声明一个函数给lcd1602写入命令void LcdWriteData(uchar dat); //声明一个函数给lcd1602写数据void LcdInit(); //声明一个函数lcd1602初始化#endif3.2.2源文件名“lcd1602.c”#include"lcd1602.h"void LcdDelay5ms(){uchar a,b;for(b=19;b>0;b--)for(a=130;a>0;a--);}void LcdWriteCom(uchar com){RS=0; //操作命令RW=0; //写操作E=0; //关闭使能GPIO_LCD=com; //命令送到P1口LcdDelay5ms(); //延时(大于40ns)E=1; //开使能LcdDelay5ms(); //延时(大于150ns)E=0; //写命令结束,关闭使能}void LcdWriteData(uchar dat){RS=1; //操作数据RW=0; //写操作E=0; //关闭使能GPIO_LCD=dat; //将数据送到P1口LcdDelay5ms(); //延时(大于40ns)E=1; //开使能LcdDelay5ms(); //延时(大于150ns)E=0; //写数据结束,关闭使能}void LcdInit(){LcdWriteCom(0x38); //设置显示模式(8位总线,双行显示,5*7点阵字符)LcdWriteCom(0x0c); //显示开关控制(整屏显示开,不显示光标)LcdWriteCom(0x06); //设置输入模式,读/写一个字符,地址指针加1,整屏显示不动LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据存储器地址(第一行第一位)}3.3主程序“main.c”#include <reg51.h>#include "lcd1602.h"#include "ds18b20.h"sbit Key1=P2^7;sbit Key2=P2^6;sbit Key3=P2^5;sbit Key4=P2^4;sbit K1=P3^0;sbit LED=P3^6;sbit BZ=P3^7;int temp100;/*温度显示函数*/void TempDisplay(int temp) {int a;uchar datas[]={0,0,0,0,0};float tp;a=temp;if(temp<0){LcdWriteCom(0x86);LcdWriteData('-');a-=1;a=~a;tp=a;a=tp*0.0625*100+0.5;}else{LcdWriteCom(0x86);LcdWriteData('+');tp=a;a=tp*0.0625*100+0.5;}temp100=a;datas[0]=a/10000;datas[1]=a%10000/1000;datas[2]=a%1000/100;datas[3]=a%100/10;datas[4]=a%10;LcdWriteCom(0x87);LcdWriteData(datas[0]+'0');LcdWriteData(datas[1]+'0');LcdWriteData(datas[2]+'0');LcdWriteData('.');LcdWriteData(datas[3]+'0');LcdWriteData(datas[4]+'0');}void main(){/*初始化*/uchar i,step,set;uchar code st[]="STD:";uchar code wd[]="TEMP:";uchar code sp[]="STEP:";uchar sets[]={0,0,0};int temp;Ds18b20Init();Ds18b20ChangTemp();LED=0;BZ=0;LcdInit();EA=1;//中断允许EX0=0;//外部中断0关set=24;//默认报警温度step=1;//默认每次加/减温度的步长P2|=0xf0;//按键IO写1,准备读取按键状态K1=1;//报警开关IO口写1,准备读取报警开关状态/*进入报警温度设置,Key1(报警温度加),Key2(报警温度减),Key3(每次加/减d 步长1或者5),Key4退出设置,按复位键重新进入设置*/ while(Key4){LcdWriteCom(0xc0);for(i=0;i<4;i++){LcdWriteData(st[i]);}//显示字符stdLcdWriteCom(0xc8);for(i=0;i<5;i++){LcdWriteData(sp[i]);}//显示字符stepsets[0]=set/100;sets[1]=set%100/10;sets[2]=set%10;LcdWriteCom(0xc4);for(i=0;i<3;i++){LcdWriteData('_');}//std的温度闪烁LcdDelay5ms();LcdWriteCom(0xc4);for(i=0;i<3;i++){LcdWriteData(sets[i]+'0');}//显示std的设定温度LcdDelay5ms();LcdDelay5ms();LcdDelay5ms();LcdDelay5ms();LcdDelay5ms();LcdWriteCom(0xce);LcdWriteData(step+'0');//显示步长if(Key1==0){LcdDelay5ms();if(Key1==0){if(set<100)set+=step;elseset=24;}while(!Key1);}if(Key2==0){LcdDelay5ms();if(Key2==0){if(set>24)set-=step;elseset=100;}while(!Key2);}if(Key3==0){LcdDelay5ms();if(Key3==0){switch(step){case(1):step=5;break;case(5):step=1;break;}}while(!Key3);}}/*进入测温程序*/while(1){temp=Ds18b20ReadTemp();LcdWriteCom(0x80);for(i=0;i<5;i++){LcdWriteData(wd[i]);}LcdWriteCom(0x8e);LcdWriteData('C');TempDisplay(temp);if(temp100>(set*100)){IT0=1;//外部中断0电平触发EX0=1;//外部中断0开if(K1==1){LED=1;}}else{LED=0;}}}/*光照中断函数*/void HZ() interrupt 0{BD=1;while(1);}四、总结此地下室火灾报警器可以对一般明火火情及时反应工作,但是像其他火灾报警器一样,对于阴燃火情发现不及时。

相关文档
最新文档