温度检测显示与报警系统课程设计
单片机数字温度计测温报警电路课程设计报告
南京工程学院通信工程学院单片机原理及应用课程设计报告实验学生班级实验学生姓名实验学生学号实验时间实验地点指导教师实验成绩评定指导教师签字年月日目录摘要 (3)方案论证 (3)方案一 (3)方案二 (3)一.芯片介绍 (4)1.1 AT89C51 (4)1.2 DS18B20 (5)二.设计目的 (6)三.设计要求 (6)四.设计思路 (6)4.1硬件设计 (6)4.2 软件设计 (6)4.2.1 主程序 (6)4.2.2 读温度函数 (7)4.2.3 温度转换函数 (7)4.2.4 温度显示函数 (8)五电路设计 (9)5.1 外部振荡源设计 (9)5.2 1602液晶显示电路 (9)5.3 数码管报警次数电路设计 (9)5.4 LED报警闪烁电路 (10)5.5 蜂鸣器电路 (10)5.6 DS18B20与AT89C51连接电路 (10)5.7 报警温度改变电路 (11)六.程序分析 (11)6.1主函数 (11)6.2 读取温度函数 (12)6.3 温度转换函数 (12)6.4 显示函数 (12)6.5软件运行时间函数 (14)6.6改变报警温度 (14)6.7报警计数 (15)七.单片机资源配置 (15)八. 小结 (15)九.参考文献 (16)附录总电路原理图 (17)附录C程序 (18)摘要随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。
温度控制在生产过程中占有相当大的比例。
温度测量是温度控制的基础,技术已经比较成熟。
水温报警系统课程设计
水温报警系统课程设计一、课程目标知识目标:1. 学生能理解水温报警系统的基本工作原理,掌握相关电子元件的功能和使用方法。
2. 学生能描述传感器在检测水温变化中的作用,并解释其工作原理。
3. 学生掌握如何读取传感器数据,并通过程序进行逻辑判断,实现报警功能。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的水温报警系统。
2. 学生能够编写程序,实现对水温的实时监控和报警功能。
3. 学生能够通过实际操作,培养动手能力、团队协作能力和问题解决能力。
情感态度价值观目标:1. 学生通过学习水温报警系统,认识到科技在生活中的应用,增强对科学技术的兴趣。
2. 学生在团队协作中,学会互相尊重、沟通与协作,培养良好的合作意识。
3. 学生能够关注环境问题,认识到节能减排的重要性,树立环保意识。
本课程针对初中年级学生,结合电子技术、传感器原理和编程知识,以实用性为导向,帮助学生掌握水温报警系统的设计与制作。
课程注重理论与实践相结合,培养学生的动手能力、创新思维和团队协作能力。
通过本课程的学习,学生能够将所学知识应用于实际生活中,解决实际问题,提高对科学技术的认识和兴趣。
1. 电子元件基础知识:介绍常用电子元件(如电阻、电容、二极管、三极管等)的功能、符号和参数。
- 教材章节:第二章“常用电子元件”2. 传感器原理与应用:讲解温度传感器的工作原理、特性及应用场景。
- 教材章节:第四章“传感器及其应用”3. 编程基础:介绍Arduino编程基础,包括变量、数据类型、控制结构等。
- 教材章节:第六章“Arduino编程基础”4. 水温报警系统设计与制作:结合所学知识,设计并搭建一个简单的水温报警系统。
- 教材章节:第八章“综合项目设计与实践”5. 实践操作:分组进行水温报警系统的搭建和调试,实现报警功能。
- 教材章节:第八章“综合项目设计与实践”教学内容安排和进度:第一课时:电子元件基础知识学习,认识常用电子元件。
温度报警器课程设计
温度报警器课程设计一、引言温度报警器是一种常见的电子产品,广泛应用于各种场所和环境中。
它能够通过感应温度的变化,发出警报信号,提醒人们及时采取相应的措施,以防止事故的发生。
本课程设计以温度报警器为研究对象,旨在通过设计与制作温度报警器的过程,培养学生们的创新能力与动手能力。
二、课程设计目标1.培养学生的实践操作能力,掌握电子电路的基础原理与制作方法。
2.促进学生的动手能力,提高他们的创新思维和问题解决能力。
3.激发学生对科技创新的兴趣,培养他们对电子技术的兴趣与热情。
三、课程设计内容1.前期准备:介绍温度报警器的原理和作用,引导学生理解温度对电子元器件的影响,以及温度保护的必要性。
2.理论学习:了解电子元器件的基本知识,如电阻、电容和线路连接等内容。
同时学习温度测量的原理和方法。
3.实验设计:根据设计要求,引导学生设计并制作温度报警器电路。
要求学生能够灵活运用已学到的知识,并充分发挥他们的想象力和创造力。
4.实验操作:让学生动手进行电路的实验搭建,并进行测试和调试。
同时,指导他们记录和分析实验数据,加深对电子原理和实验结果的理解。
5.实验总结:让学生撰写实验报告,总结和归纳实验过程中的问题和经验,分析实验结果的原因和意义。
通过讨论和分享,培养学生的团队合作和表达能力。
四、课程设计评价1.实验报告:对学生的实验报告进行评价,考察学生对实验原理和结果的理解程度,以及他们对问题解决和创新思维的能力。
2.实验成果:评估学生制作的温度报警器电路是否能够准确测量和报警,以及外观是否美观、整洁。
鼓励学生进行展示和交流,分享彼此的经验和感悟。
3.课堂表现:评价学生在实验过程中的课堂表现,包括是否积极参与、是否独立思考、是否能够合理使用电子元器件等。
五、课程设计总结通过本课程设计,学生能够在实践中学习和掌握电子基础知识,培养他们的创造力和实际操作能力。
在设计和制作温度报警器的过程中,他们不仅能够理解温度对电子元器件的影响,还能提高对科技创新的兴趣和热情。
温度检测显示与报警系统
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
STC89C52管脚介绍:
① 主电源引脚(2根)
delay(50); //550 us
DQ=1;
delay(6); //66 us
presence=DQ; //presence=0复位成功,继续下一步
case 2: dm=table_dm[display[2]];w2=0;delay(50);w2=1;//十位
case 3: dm=table_dm[display[3]];w3=0;delay(50);w3=1;//百位
//else{dm=table_dm[b3];w3=0;delay(50);w3=1;}
uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
//共阴LED段码表"0""1""2""3""4""5""6""7""8""9" "不亮" "-"
uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//个位带小数点的断码表
电子温度报警器课程设计
电子温度报警器课程设计一、课程目标知识目标:1. 让学生掌握温度传感器的工作原理和特性;2. 使学生了解电子温度报警器的电路构成及功能;3. 帮助学生掌握数字温度显示和报警电路的设计方法。
技能目标:1. 培养学生动手搭建电子电路的能力,提高电路连接和调试技巧;2. 培养学生运用编程软件对温度报警器进行编程和调试的能力;3. 培养学生运用所学知识解决实际问题的能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣和爱好,激发学习积极性;2. 培养学生团队协作精神和沟通能力,提高合作解决问题的能力;3. 增强学生的环保意识,认识到电子技术在节能环保方面的应用。
课程性质分析:本课程为电子技术实践课程,以项目为导向,结合理论知识,注重培养学生的动手能力和创新能力。
学生特点分析:学生为初中生,对电子技术有一定的基础知识,好奇心强,喜欢动手实践。
教学要求:1. 理论联系实际,注重知识的应用;2. 以学生为主体,充分调动学生的积极性;3. 分组合作,培养学生的团队协作能力;4. 注重过程评价,提高学生的自我评价和反思能力。
二、教学内容1. 理论知识:- 温度传感器的工作原理和特性;- 电子温度报警器的电路构成及功能;- 数字温度显示和报警电路的设计方法。
2. 实践操作:- 温度传感器的连接与调试;- 电子温度报警器的电路搭建;- 编程软件的使用,对温度报警器进行编程和调试。
3. 教学大纲:- 第一阶段:温度传感器知识学习,理解传感器工作原理和特性;- 第二阶段:电子温度报警器电路构成学习,分析电路各部分功能;- 第三阶段:数字温度显示和报警电路设计,动手搭建和调试电路;- 第四阶段:编程软件应用,对温度报警器进行编程和调试。
4. 教材章节:- 《电子技术基础》第三章:传感器及其应用;- 《电子技术基础》第四章:数字电路及其应用。
5. 教学内容安排与进度:- 第一周:温度传感器理论知识学习;- 第二周:电子温度报警器电路构成及功能分析;- 第三周:数字温度显示和报警电路设计;- 第四周:实践操作,搭建、编程和调试电子温度报警器。
电子课程设计温度报警
电子课程设计温度报警一、教学目标本课程旨在通过学习温度报警的电子课程设计,让学生掌握以下知识目标:1.理解温度报警系统的基本原理和组成;2.学习常用的温度传感器的工作原理和应用;3.学习电子电路图的阅读和分析方法;4.学习编程语言,能够编写简单的控制程序。
5.能够分析温度报警系统的设计需求;6.能够根据需求选择合适的温度传感器;7.能够阅读和分析电子电路图;8.能够编写温度报警控制程序。
情感态度价值观目标:1.培养学生的创新意识和解决问题的能力;2.培养学生的团队合作意识和沟通能力;3.培养学生对电子科技的兴趣和热情。
二、教学内容本课程的教学内容主要包括以下几个部分:1.温度报警系统的基本原理和组成;2.常用温度传感器的工作原理和应用;3.电子电路图的阅读和分析方法;4.编程语言的学习和控制程序的编写。
第1周:温度报警系统的基本原理和组成;第2周:常用温度传感器的工作原理和应用;第3周:电子电路图的阅读和分析方法;第4周:编程语言的学习和控制程序的编写。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用以下教学方法:1.讲授法:教师讲解温度报警系统的基本原理和组成,温度传感器的工作原理和应用,电子电路图的阅读和分析方法等基础知识。
2.讨论法:学生分组讨论设计温度报警系统的设计方案,并进行汇报。
3.实验法:学生动手搭建温度报警系统,并进行调试。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:电子课程设计教材;2.参考书:电子电路设计手册,编程语言教程等;3.多媒体资料:相关视频教程,PPT课件等;4.实验设备:温度传感器,电路板,编程器等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过学生的课堂参与、提问、讨论等表现进行评估;2.作业:通过学生提交的作业质量进行评估,包括温度报警系统设计方案的撰写和实验报告等;3.考试:通过期末考试,考察学生对温度报警系统的基本原理、温度传感器的工作原理、电子电路图的阅读和分析方法、编程语言的控制程序编写等知识的掌握程度。
单片机课程设计---温度检测报警系统的设计
《单片机原理及接口》课程设计报告题目:专业名称:班级:学号:姓名:2010年 12月课程论文首页温度检测报警系统的设计摘要: proteus具有强大的仿真功能,通过proteus仿真可以为更快的对一些系统进行设计和性能测试,直到仿真系统可以运行。
该温度报警系统是用温度传感器18B20对温度进行采集,通过单总线结构与单片机AT89C52进行通信。
在此基础上,添加一个时钟芯片DS1302用来时钟计时。
并用液晶显示器对温度和时间进行显示,同时可以用控制按键可以切换“时间”、“日期”和“温度报警上下限”的显示,而且可以对温度报警上下限进行按键动态调整。
关键词:proteus 温度报警 AT89C52 单片机1、引言Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。
它运行于 Windows 操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE 电路仿真相结合。
②支持主流单片机系统的仿真。
③提供软件调试功能。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大。
本文是基于 PROTEUS 的单片机温度采集系统的仿真设计,由单片机对温度进行采集,由温度传感提供温度,然后通过数码管显示温度值,并通过按键设置报警温度的上下限,当温度超出范围时报警。
同时具有时间计时的功能。
2、功能及操作说明2.1 功能说明:a.具有温度采集功能。
b.具有时间计时功能。
c.液晶分两行显示,上一行显示“温度”,下一行可以对“时间”、“日期”和“温度上下限”进行切换显示。
d.可以对温度上下限进行动态设置,在超过温度的上限或低于温度的下限时蜂鸣器会响,进行报警。
e.初始化(复位)功能。
2.2 操作说明:a.按下proteus中的运行按键。
b.按下“K1”键对“时间”、“日期”和“温度上下限”进行切换显示。
图2-1 切换显示c.在显示“温度”和“温度上下限”的时候,按下“K2”键,进入“温度上下限”调整状态,调整位闪烁显示,如(图2)所示。
温度测量报警系统设计
摘要本论文介绍了一种以单片机为主要控制器件,以DS18B20为温度传感器的温度测量报警系统。
主要包括硬件电路的设计和系统程序的设计。
硬件电路主要包括主控制器,测温电路和温度显示电路等,主控制器采用单片机AT89C51,温度传感器采用美国DALLAS半导体公司生产的DS18B20,显示电路采用3位数码管显示。
本设计中系统程序主要包括DS18B20工作程序、LED显示子程序、键盘输人程序和温度检测报警程序等。
此外,还介绍了系统的调试和性能分析。
由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度报警系统相比,本设计具有低成本和易使用的特点。
DS18B20温度传感器还可以在远距离多点测温控制等方面进行应用开发,具有很好的发展前景。
关键词:89C51,单片机,DS18B20,传感器AbstractThis paper presents a microcontroller to the main control device to DS18B20 temperature sensor for measuring the temperature alarm system. Hardware including main circuit design and system design process. Hardware including main controller circuit, the circuit temperature and temperature display circuit, the main controller using MCU AT89C51, temperature sensors using U.S. DALLAS Semiconductor production DS18B20, showed that three digital circuits used in a dynamic scanning of the Direct Reading Show. The design of the system procedures include DS18B20 procedures, LED display routines, keyboard input process and temperature detection alarm procedures.In addition, it introduced a system of debugging and performance analysis. As a result of the improved intelligence DS18B20 as a temperature sensor detection devices, with the traditional temperature alarm system compared with the established low-cost and easy to use features. DS18B20 temperature sensor can also long-range multi-point temperature control, and other aspects of application development, has good prospects for development.Key words: 89C51MCU DS18B20 Sensor目录第一章绪论 ............................................................................................................ - 1 -1.1本课题研究的意义 ......................................................................................... - 1 -1.2目前发展状况 ................................................................................................. - 1 -第二章系统总体设计 ............................................................................................ - 3 -2.1课题要求简述 ................................................................................................. - 3 -2.2工作原理 ......................................................................................................... - 3 -2.3 课题总体设计思路 ........................................................................................ - 3 -第三章系统硬件设计 ............................................................................................ - 5 -3.1温度测量模块设计 ......................................................................................... - 5 -3.2控制模块设计 ............................................................................................... - 12 -3.3显示输出设计 ............................................................................................... - 15 -3.4报警电路设计 ............................................................................................... - 17 -3.5键盘控制器设计 ........................................................................................... - 18 -3.6电源设计 ....................................................................................................... - 18 -3.7系统硬件连接设计 ....................................................................................... - 19 -第四章系统软件设计 .......................................................................................... - 21 -4.1 系统软件总体工作过程 .............................................................................. - 21 -4.2软件程序 ....................................................................................................... - 21 -4.3 LED数码显示器显示程序 .......................................................................... - 24 -第五章结论 .......................................................................................................... - 25 -参考文献 ................................................................................................................ - 26 -致谢 ................................................................................................................ - 27 -第一章绪论1.1本课题研究的意义在当今科学研究和生产生活中,温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
温度检测显示与报警系统课程设计
温度检测显⽰与报警系统课程设计课程设计报告书课设名称:温度检测、显⽰与报警系统年级专业及班级:姓名:学号:指导⽼师:指导⽼师签名:2014年 5⽉4 ⽇摘要温度是⼀种最基本的环境参数,⼈民的⽣活与环境的温度息息相关,在⼯业⽣产过程中需要实时测量温度,在农业⽣产中也离不开温度的测量,因此研究温度的测量⽅法和装置具有重要的意义。
温度是⼀个⼗分重要的物理量,对它的测量与控制有⼗分重要的意义。
随着现代⼯农业技术的发展及⼈们对⽣活环境要求的提⾼,⼈们也迫切需要检测与控制温度:如⼤⽓及空调房中温度的⾼低,直接影响着⼈们的⾝体健康;粮仓温度的检测,防⽌粮⾷发霉,最⼤限度地保持粮⾷原有新鲜品质,达到粮⾷保质保鲜的⽬的;⼯业易燃品的存放。
本次课程设计介绍了以STC89C51单⽚机为核⼼的温度检测报警系统的⼯作原理和设计⽅法。
温度信号由温度传感器芯⽚DS18B20采集,并以数字信号的⽅式传送给单⽚机,单⽚机再控制数码管驱动芯⽚74LS573驱动4位分⽴式数码管显⽰实时温度,当检测到的温度超出了给定的温度范围(默认下限为20℃,默认上限为35℃),系统将输出报警声。
本系统的主要硬件电路包括:温度检测电路,数码管驱动电路,报警电路。
另外本系统的软件部分占了很⼤的⽐重,主要的软件模块包括:温度传感器程序,数码管驱动及显⽰程序,报警程序。
系统的主要功能及⼯作流程总体设计框图:单⽚机STC89C51温度采集(DBS18B20)阈值设定(键盘)报警(蜂鸣器)显⽰主要功能:1、能正确检测温度;2、在数码管上实时显⽰温度;3、当温度超过或低于设定的阈值时,蜂鸣器报警;4、可通过矩阵键盘调整温度报警阈值;5、默认上限报警温度为35℃,默认下限报警温度为20℃。
⼯作流程:系统设计思路为以单⽚机为控制中⼼,通过实时采集温度传感器DBS18B20获得当前的温度值,通过LED显⽰当前温度,同时使⽤键盘设定温度阈值,当测定温度⼤于温度阈值后,利⽤蜂鸣器报警。
温度控制报警系统课程设计报告
课程设计说明书课程设计名称:模拟电路课程设计课程设计题目:温度检测报警系统设计学院名称:信息工程学院专业:电子信息科学与技术班级: 100432 学号: 10043225 姓名:彭路生同组人:王甜甜、吴淑明、曹成远评分:教师:杨素华2012年 3 月 17日题目: 温度检测报警系统内容及要求1.设计要求:(1)检测温度范围为0-100摄氏度,采用箔电阻(R=100欧姆,I<=35mA ),精密 电阻及电位器组成的测量电桥作为温度传感器。
(2)可设定报警的温度上限值1-100摄氏度。
( 3 )当检测温度超过设定的上限值时,发出蜂 鸣器报警,要求报警声滴滴间断发声,频率约1HZ 。
2.电路组成框图3.组织安排:四人一大组,每两人完成一独立部分。
进度安排1.布置任务,查阅资料,设计电路,领仪器设备。
2.领元器件,制作,焊接。
3.调试与验收。
4.提交试验报告。
温度检测放大+滤波 报警控制电路参考书目1、王港元,电工电子实践指导(第二版),江西科学技术出版社,20052、谢自美,电子线路设计、实验、测试(第二版),华中理工大学出版社,20003、张友汉,电子线路设计应用手册,福建科学技术出版社,20004、郝鸿安等,555集成电路实用大全,上海科学普及出版社。
5、陈兆仁,电子技术基础实验研究与设计,电子工业出版社,20006、毕满清,电子技术实验与课程设计,机械工业出版社,7、杜龙林,用万用表检测电子元器件,辽宁科学技术出版社,20018、梁宗善,新型集成电路的应用,华中理工大学出版社,20019、杨振江等,新颖实用电子设计与制作,西安电子科大出版社,2000目录第一章设计任务〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃41.1 基本要求〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃41.2 设计任务及目标〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃41.3 主要参考器件〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃4第二章系统组成与工作原理〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃42.1 设计原理〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃42.2 设计方案〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃52.3 单元模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5第三章安装与调试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃93.1 电路的安装〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃93.2 检测、放大、比较电路的调试〃〃〃〃〃〃〃〃〃〃〃〃〃103.3 报警电路的调试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃103.4 系统调试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃11第四章试验小结〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃124.1 实验总结〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃124.2 实验心得〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12附录一〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13附录二〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃14附录三〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃15第一章设计任务1.1 基本要求:(1)可调温度范围在0-100度之间。
温度报警器课程设计报告
温度报警器课程设计报告温度报警器课程设计报告一、设计概述温度报警器是一种用于监测环境温度并当温度超过预设范围时发出警报的装置。
在本次课程设计中,我们旨在设计和实现一个高效、可靠、低功耗的温度报警器。
二、设计原理温度报警器的核心部件是温度传感器和微控制器。
温度传感器用于感测环境温度,并将温度信号转换为电信号。
微控制器则接收该电信号,并判断温度是否超过预设范围。
如果超过,微控制器将触发警报装置。
我们选择使用DS18B20温度传感器和Arduino微控制器。
DS18B20是一种高精度、数字式的温度传感器,具有体积小、功耗低、抗干扰能力强等优点。
Arduino 则是一款开源的、易于使用的微控制器,具有丰富的外设和强大的编程能力。
三、硬件设计1.温度传感器:选择DS18B20温度传感器,通过数据线与微控制器连接。
2.微控制器:使用Arduino Uno,负责接收DS18B20的信号,并控制警报装置。
3.警报装置:包括一个LED灯和一个蜂鸣器。
当温度超过预设范围时,LED灯会闪烁,蜂鸣器会发出警报声。
四、软件设计1.温度读取:使用DS18B20的驱动程序读取温度值。
2.温度判断:将读取的温度值与预设范围进行比较。
如果超过范围,触发警报装置。
3.警报控制:通过Arduino的数字引脚控制LED灯和蜂鸣器的动作。
五、测试与验证我们对设计的温度报警器进行了测试和验证。
首先,我们设定了报警温度为30℃,将报警器放置在恒温箱中,逐渐升高温度。
当温度达到30℃时,报警器成功地发出了警报。
然后,我们对报警器的稳定性进行了长时间测试。
将报警器放置在高温和低温环境下,观察其是否能稳定地工作并准确报警。
经过测试,我们的设计在各种环境下均能稳定运行,并准确报警。
六、优化与改进虽然我们的设计已经达到了预期的效果,但还可以进行一些优化和改进。
例如:1.使用更精确的温度传感器:DS18B20的精度为±0.5℃,如果需要更高的精度,可以选择其他型号的温度传感器。
stm32温度监控课程设计
stm32温度监控课程设计一、课程目标知识目标:1. 学生能够理解STM32的硬件结构,掌握其基本编程方法。
2. 学生能够掌握温度传感器的工作原理,并了解其在STM32中的应用。
3. 学生能够学会使用STM32进行温度数据的采集、处理和显示。
技能目标:1. 学生能够运用C语言对STM32进行编程,实现温度监控功能。
2. 学生能够独立设计并搭建温度监控系统的硬件电路。
3. 学生能够通过调试程序,解决温度监控过程中出现的问题。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子工程和编程的兴趣,增强实践操作的自信心。
2. 学生能够认识到科技在生活中的重要作用,提高创新意识和团队协作能力。
3. 学生能够关注环保和节能问题,将所学知识应用于实际问题的解决。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程属于电子技术实践课程,强调理论与实践相结合,注重培养学生的动手能力和实际操作技能。
2. 学生特点:学生为高年级电子工程及相关专业学生,具备一定的电子技术和编程基础。
3. 教学要求:在教学过程中,要注重引导学生主动探究,激发学生的创新思维,提高学生的实际问题解决能力。
二、教学内容1. STM32硬件结构与编程基础- 熟悉STM32的内部结构,包括GPIO、ADC、定时器等模块。
- 学习STM32的编程环境搭建,掌握Keil MDK的使用。
2. 温度传感器工作原理与应用- 掌握温度传感器(如DS18B20)的工作原理。
- 学习温度传感器与STM32的接口技术。
3. 温度监控系统的硬件设计- 设计温度传感器与STM32的硬件连接电路。
- 学习电路原理图的绘制和PCB布线。
4. 温度监控系统的软件编程- 使用C语言编写STM32程序,实现温度数据的采集、处理和显示。
- 学习中断处理、多任务编程等高级编程技术。
5. 系统调试与优化- 分析温度监控系统可能出现的故障,掌握调试方法。
- 学习系统性能优化技巧,提高温度监控的准确性和稳定性。
水温控制报警系统课程设计
水温控制报警系统课程设计随着人们对水质安全和环境保护的高度关注,水质监测已经成为了重要的任务之一。
在水质监测中,水温是一个非常重要的指标。
水温对水中生物的生长和繁殖具有重要的影响,同时水温也是判断水质是否健康的重要指标之一。
因此,设计一种水温控制报警系统,对于保障水质安全具有重要的意义。
本文将介绍一种基于单片机的水温控制报警系统,该系统可以对水温进行实时监测,并在水温达到预设值时发出警报。
同时,该系统还可以通过串口将实时的温度数据传输到上位机,方便数据的处理和分析。
系统硬件设计本系统的硬件主要由单片机、温度传感器、LCD液晶屏、蜂鸣器、按键和串口模块组成。
其中,温度传感器采用DS18B20型号的数字温度传感器,可以实现高精度的温度测量。
LCD液晶屏用于显示当前温度和系统状态,蜂鸣器用于发出警报。
按键和串口模块则用于系统的设置和数据传输。
系统软件设计系统软件采用C语言进行编程,主要功能包括温度测量、数据处理、显示和报警等。
具体实现过程如下:1. 温度测量:通过DS18B20温度传感器实现对水温的实时测量。
将温度传感器的数据输入单片机,通过计算获得实际温度值。
2. 数据处理:将测得的温度值与预设值进行比较,判断是否需要报警。
同时,还需要将实时温度值通过串口传输给上位机,用于数据的处理和分析。
3. 显示:将实时温度值和系统状态通过LCD液晶屏显示出来,方便用户了解系统状态和温度变化。
4. 报警:当实时温度值达到预设值时,系统将发出警报,提醒用户进行相应的处理。
系统测试为了验证系统的性能和可靠性,我们进行了系统测试。
测试结果表明,系统能够准确地测量水温,并在温度达到预设值时及时发出警报。
同时,系统的数据传输和显示功能也得到了验证。
结论本文设计了一种基于单片机的水温控制报警系统,该系统可以实现对水温的实时监测和预警,具有重要的应用价值。
通过测试,我们证明了该系统具有良好的性能和可靠性,可以在水质监测中得到广泛应用。
温度检测报警系统设计
课程设计说明书课程设计名称:模拟电路课程设计课程设计题目:温度检测报警系统设计学院名称:信息工程学院专业:班级:学号:姓名:评分:教师: _ ____20 年月日模拟电路课程设计任务书20 -20 学年第学期第周-周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。
摘要温度检测报警器是专门用来检测电器是否正常使用的一类系统,日常生活中各电器由于使用方法不对,经常会出现烧坏电器,更严重的是可能会造成严重的生命安全问题当温度超过设定安全温度时系统会发出蜂鸣声来报警,当处于正常工作状态时则无报警信号产生。
设计温度检测报警系统,通过PT100随温度不同而表现不同的阻值设定不同的报警温度,进而设定不同的报警温度。
当温度超过设定值时,由蜂鸣器通过有频率的鸣叫进行报警。
对于电源部分首先通过变压器对220V交流电压进行降压,其次通过桥式整流电路将交流转化为直流,再次运用电容滤波电路输出比较稳定的直流电压。
对于其它模块首先通过PT100对温度采集和放大,再进行信号的过滤,而后通过比较器设置相应阈值,当高于设定值时输出高电平,此时方波发生器不驱动,当低于设定值时输出低电平,方波发生器驱动,进而驱动蜂鸣器报警。
温度检测报警系统可以随时提醒人们用电器是否工作在正常温度范围内,对整个系统和用电器都能起到保护作用。
本次系统的设计可以检测到输入信号是否工作在正常的温度范围内,当温度超过设定温度时会产生报警信号,反之则不报警。
本次设计精密温度检测系统,报警可调等特点。
关键字:温度检测报警蜂鸣器滤波方波发生器目录第一章绪论 (1)第二章整体设计内容及要求 (2)2.1设计内容 (2)2.2设计要求 (2)2.3实验设计目的 (2)2.4总体方案设计 (2)第三章电源模块电路设计及调试 (4)3.1本单元电路的要求及实现的功能 (4)3.2 电路结构及参数设计 (4)3.3电路的仿真分析 (5)3.4 该模块的调试结果 (6)3.5 调试中的问题 (6)第四章系统电路设计 (7)4.1 电压源 (7)4.2 温度采样与放大 (7)4.3 滤波 (8)4.4 方波 (8)4.5 报警控制 (8)第五章系统调试 (10)5.1 电路的安装 (10)5.2 调试 (10)第六章总结与展望 (13)参考文献 (14)附录一电路原理图 (15)附录二元件清单 (16)附录三设计实物图……....................................................................................第一章绪论随着时间的推移,各家生活水平普遍提升,家家户户慢慢走向了电器化的生活。
数电课程设计报告(温度报警器)
数电课程设计报告(温度报警器)一、概述本次课程设计的目的旨在设计一个可以检测温度值并发出报警反应的温度报警器。
该报警器可以通过LCD显示温度值,可以对不同的温度进行设置,当检测到温度高于设置的阈值的时候就会发出报警声,以保证安全。
二、器件选择本次温度报警器的关键器件是温度传感器和LCD显示屏。
温度传感器可以测量当前环境的温度;而LCD显示屏可以显示当前温度的值,同时可以设置和显示阈值。
此外,还需要加入一个LED,当温度超过报警值时,LED就会点亮,以告知使用者,此时需要采取适当的措施。
另外,为了能更好地显示温度,需要选择高精度、质量可靠的温度传感器和LCD显示屏。
三、功能块设计本次温度报警器功能块设计主要分为4大块,分别为输入块、控制块、输出块、显示块。
1、输入块:接收温度传感器的温度值;2、控制块:完成中央处理器的温度检测和阈值比较以判断是否报警;3、输出块:如果温度超过阈值,就输出报警信号;4、显示块:分别显示当前温度和报警值,并给出报警信号提示。
四、电路设计1、中央处理单元的电路:中央处理单元的电路主要由MCU、时钟、温度传感器和存储器组成。
2、LCD显示屏的电路:该电路由数据线、控制线、MCU和LCD显示屏构成,通过数据线与MCU进行数据交互,显示出当前温度和报警值。
3、输出电路:该电路内部主要由MCU、蜂鸣器以及LED构成,当温度超过阈值时,MCU就会输出一个控制信号,从而控制LED和蜂鸣器发出报警 sound。
五、系统测试1、本次课程设计在随机环境下测试,以检验系统的准确性和可靠性。
2、先将温度调节器设置到比当前温度高出一定量。
通过测量,确定报警器的温度报警功能是否正常,同时让LCD显示屏正确显示温度值,以及温度超过阈值时是否能正确发出报警声音。
3、在各种温度下,测试系统的准确性和可靠性,来验证报警器的实用性。
六、总结本次课程设计主要介绍了一种温度报警器,该报警器可以在各种不同温度环境下,通过LCD显示屏显示当前温度,并设定不同报警值,超过阈值时发出报警声,以便提醒使用者注意观察环境温度变化。
基于51单片机的温度检测报警系统与时钟课程设计
基于单片机的温度检测报警与万年历系统目录摘要〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1一、设计要求与方案论证1.1设计要求〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1 1.2系统方案选择和论证〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1 1.3电路最终方案确定〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1二、电子万年历与温度采集报警硬件设计和实现2.1系统设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 2 2.1.1系统设计框图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 22.1.2系统硬件需求介绍〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 3 2.2系统硬件各模块作用〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 3 2.2.1单片机核心控制模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 42.2.2数字温度传感器模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃42.2.3彩屏显示电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 52.2.4蜂鸣器电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 2.3系统电路图设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃6 2.3.1系统电路原理框图和原理图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃7三、软件设计与分析3.1系统软件流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8 3.1.1DS18B20程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8四、系统测试4.1测试工具〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 4.2软件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 4.3硬件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃10 参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃11 附录一:程序清单〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12 附录二:PCB电路图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13基于单片机的温度检测报警与万年历系统摘要温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。
温度监测报警系统设计报告
目录一、设计任务与设计要求 2二、设计原理 22.1 主要硬件介绍 22.1.1 DS18B20数字温度传感器 22.1.2 AT89C51单片机芯片 42.2 系统原理结构 4三、设计方案 53.1 硬件部分 53.1.1 温度测量模块 53.1.2 LED数码管显示模块 53.1.3 按键模块 63.1.4 系统整体结构仿真图 63.2 软件部分 63.2.1DS18B20传感器程序 63.2.2键盘读取及确认程序 83.2.3DS18B20操作流程图 9四、调试与性能分析 104.1 proteus仿真结果 104.2实物测试 104.2.1正常情况 104.2.2报警状态 11五、心得体会 11六、成品展示 12七、附录部分 13附件一、电路设计原理图 13附件二、系统设计原始代码程序 14一、设计任务与设计要求本设计主要利用单片机AT89C51 芯片和以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20相结合来实现装置周围温度的采集,其中以单片机AT89C51 芯片为核心,辅以温度传感器DS18B20和LED数码管及必要的外围电路,构成一个结构简单、测温准确、具有一定控制功能的温度监视警报装系统。
功能要求:添加温度报警功能,通过4个按键来设置温度的上下限值,当用DS18B20测得的温度不在所设置的温度范围内,蜂鸣器开始鸣报。
二、设计原理2.1 主要硬件介绍2.1.1 DS18B20数字温度传感器DS18B20 数字温度传感器提供9~12 位摄氏温度的测量,拥有非易失性用户可编程最高与最低触发点告警功能。
DS18B20 通过单总线实现通信,单总线通常是DS18B20 连接到中央微控制器的一条数据线(和地)。
它能够感应温度的范围为-55℃~+125℃,在-10℃~+85℃的测量的精度是±0.5℃,而且DS18B20 可以直接从数据线上获取供电(寄生电源)而不需要一个额外的外部电源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告书课设名称:温度检测、显示与报警系统年级专业及班级:姓名:学号:指导老师:指导老师签名:2014年 5月4 日摘要温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。
本次课程设计介绍了以STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法。
温度信号由温度传感器芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机再控制数码管驱动芯片74LS573驱动4位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范围(默认下限为20℃,默认上限为35℃),系统将输出报警声。
本系统的主要硬件电路包括:温度检测电路,数码管驱动电路,报警电路。
另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序。
系统的主要功能及工作流程 总体设计框图:单片机STC89C51温度采集(DBS18B20)阈值设定(键盘)报警(蜂鸣器)显示主要功能:1、能正确检测温度;2、在数码管上实时显示温度;3、当温度超过或低于设定的阈值时,蜂鸣器报警;4、可通过矩阵键盘调整温度报警阈值;5、默认上限报警温度为35℃,默认下限报警温度为20℃。
工作流程:系统设计思路为以单片机为控制中心,通过实时采集温度传感器DBS18B20获得当前的温度值,通过LED显示当前温度,同时使用键盘设定温度阈值,当测定温度大于温度阈值后,利用蜂鸣器报警。
系统包括包括单片机最小系统模块、LED显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源模块。
1、控制部分控制部分是采用单片机STC89C52。
1.1 STC89C52简介STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
单片机总控制电路如下图:1.2 复位操作本系统的复位电路采用按键电平复位方式,通过使复位端经电阻与Vcc电源接通而实现的,其电路如下图所示上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。
1.3 STC89C52主要功能如下表所示主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz 2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能STC89C52管脚介绍:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.72、测量部分测量部分我们采用美国DALLAS公司生产的DS18B20温度传感器。
2.1 DS18B20简介DS18B20数字温度传感器,该产品采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
2.2封装及接线说明:DS18B20芯片封装结构:特点:独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为 3.0V 至5.5V无需备用电源测量温度范围为-55 °C至+125 ℃。
华氏相当于是-67 °F到257华氏度-10 °C至+85 °C范围内精度为±0.5 °C2.3 DS18B20控制方法DS18B20有六条控制命令:温度转换44H:启动DS18B20进行温度转换读暂存器BEH:读暂存器9个字节内容写暂存器4EH:将数据写入暂存器的TH、TL字节复制暂存器48H:把暂存器的TH、TL字节写到E2RAM中读电源供电方式B4H:启动DS18B20发送电源供电方式的信号给主CPU 2.4 DS18B20的初始化2.5 DS18B20的写操作2.6 DS18B20的读操作3、显示部分内部的四个数码管共用a~dp这8根数据线,为人们的使用提供了方便,因为里面有四个数码管,所以它有四个公共端,加上a~dp,共有12个引脚,下面便是一个共阴的四位数码管的内部结构图(共阳的与之相反)。
引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为1~12脚,上图中的数字与之一一对应。
4、报警部分本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。
见下面报警流程图模块及程序。
二、硬件电路原理描述见附录1三、软件设计系统软件程序基于Keil uvsion3开发平台,采用C51语言编写。
本程序采用模块化程序方法,主要分为以下三个模块:◆LCD初始化显示模块◆DS18B20数据采集模块◆温度报警上下限设置模块程序流程图:开始初始化LCD1602调用DS18B20模块调用报警模块温度显示主程序流程图DS18B20是否响应?主机发出开始信号主机设置为输入模式NYDS18B20数据采集流程图等待480us接收数据拉低总线,延时45us释放总线跳出进入设置模式(按键)设置温度报警上下限TH与TL调用DS18B20模块Temp>=TH||Temp<=TL? NY报警(LED亮,蜂鸣器响)温度显示报警模块流程图本系统具有较强的实用性,我对DS18B20及一些测量温度的传感器进行了比较,DS18B20不仅测量精度高,稳定性好,体积小巧,而且价格也比较便宜。
另外,本系统还具有较高的扩展性,可以制作时钟,计算器,温度测量于一体,具有较强的实用价值。
在编写DS18B20的测量程序的过程中遇到了很多问题,刚开始总是得不到测量数据,后来仔细读DS18B20说明资料,发现写时序的时候出了点问题,然后我们又按照着DS18B20的通讯时序和接收时序将程序一条条重写,经过调试后,用Proteus仿真软件可以仿真出正确的结果。
但软件仿真与硬件还是有点区别,等我们把电路板做出来的时候,把程序烧录进去,发现出错!经过再三检查,不断的思考,最后我发现软件仿真是在硬件理想状态下运行的。
因此,我对应的将软件程序进行了一些细节修改。
最后可以在我们做的硬件电路板中进行正确的测量与显示。
在硬件方面,最初数码管都亮不了,通过测量各点的电压,发现少接了一根地线,焊电路板真的应该要很细心的,不然很容易丢三落四的。
之后还是有两个数码管不亮,经过测量,有一条导线坏了,换上导线后,还是有一个数码管不亮,经检查,导线没有问题,是虚焊。
实验过程中,不管是硬件还是软件都遇到了一些问题,不过,最老师和同学的帮助下,以及跟小组成员的积极讨论中,最终都能够解决问题。
同时也深刻意识到了,做实验要细心谨慎。
同时也进一步学习了单片机知识。
单片机原理及应用[编著] 徐敏,刘建春,关健生单片机原理与接口技术[编著] 刘军单片机原理与C51编程[编著] 宋彩利孙友仓吴宏岐51单片机开发入门与经典实例[编著] 王守中51单片机C语言教程编著] 杨将新李华军刘东骏51单片机应用实例详解[编著] 杨欣王玉凤刘湘黔附录1 系统总硬件电路原理图附录2 系统源程序代码#include "reg52.h"#include "intrins.h" //_nop_();延时函数用#define dm P0 //段码输出口#define uchar unsigned char#define uint unsigned intsbit DQ=P2^7; //温度输入口sbit w0=P2^0; //数码管4sbit w1=P2^1; //数码管3sbit w2=P2^2; //数码管2sbit w3=P2^3; //数码管1sbit beep=P1^7; //蜂鸣器和指示灯sbit set=P2^6; //温度设置切换键sbit add=P2^4; //温度加sbit dec=P2^5; //温度减int temp1=0; //显示当前温度和设置温度的标志位为0 时显示当前温度uint h;uint temp;uchar r;uchar high=35,low=20;uchar sign;uchar q=0;uchar tt=0;uchar scale;//**************温度小数部分用查表法***********//uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0 x08,0x09,0x09}; //小数断码表uchar code table_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//共阴LED 段码表"0""1""2""3""4""5""6""7""8""9" "不亮" "-"uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//个位带小数点的断码表uchar data temp_data[2]={0x00,0x00}; //读出温度暂放uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4 个数据和一个运算暂用/*****************11us 延时函数*************************/void delay(uint t){for (;t>0;t--);}void scan(){int j;for(j=0;j<4;j++){switch (j){case 0: dm=table_dm[display[0]];w0=0;delay(50);w0=1;//小数case 1: dm=table_dm1[display[1]];w1=0;delay(50);w1=1;//个位case 2: dm=table_dm[display[2]];w2=0;delay(50);w2=1;//十位case 3: dm=table_dm[display[3]];w3=0;delay(50);w3=1;//百位//else{dm=table_dm[b3];w3=0;delay(50);w3=1;}}}}//***************DS18B20 复位函数************************/ ow_reset(void){char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50); //550 usDQ=1;delay(6); //66 uspresence=DQ; //presence=0 复位成功,继续下一步}delay(45); //延时500 uspresence=~DQ;}DQ=1; //拉高电平}/****************DS18B20 写命令函数************************///向1-WIRE 总线上写1 个字节void write_byte(uchar val){uchar i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_(); //从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_(); //5 usDQ=val&0x01; //最低位移出delay(6); //66 usval=val/2; //右移1 位}DQ=1;delay(1);}/****************DS18B20 读1 字节函数************************/ //从总线上取1 个字节uchar read_byte(void)uchar i;uchar value=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 usDQ=1;_nop_();_nop_();_nop_();_nop_(); //4 usif(DQ)value|=0x80;delay(6); //66 us}DQ=1;return(value);}/*****************读出温度函数************************/read_temp(){ow_reset(); //总线复位delay(200);write_byte(0xcc); //发命令write_byte(0x44); //发转换命令ow_reset();delay(1);write_byte(0xcc); //发命令write_byte(0xbe);temp_data[0]=read_byte(); //读温度值的低字节temp_data[1]=read_byte(); //读温度值的高字节temp=temp_data[1];temp<<=8;temp=temp|temp_data[0]; // 两字节合成一个整型变量。