ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:814.95KB ,
资源ID:9312770      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9312770.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告温度报警器资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告温度报警器资料.docx

1、单片机课程设计报告温度报警器资料单片机原理与应用课程设计报告 课程设计名称: 温度报警器设计 专业班级: 13计转本 学生姓名: 张朝柱 肖娜 学 号: 20130566140 20130566113 指导教师: 高玉芹 设计时间: 2016-112017-12 成 绩: 信 电 工 程 学 院摘 要2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于AT89C52单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统

2、流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词: 单片机AT89C51;DS18B20温度传感器;液晶显示LCD1602。1绪论1.1温度报警器

3、简介温度报警器是一种通过DS18B20采集周围温度,单片机来处理数据来报警的一种电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的温度报警器是以芯片为核心,通过编程来实现的。1.2温度报警器的背景与研究意义 在日常生活中,温度对于我们并不陌生,它是一个时时刻刻存在的物理量在我们的日常生活中占据了十分重要的地位。温度的大小时刻与我们的生产、生命、安全息息相关。因此对温度的测量与控制对各个行业领域有着很及其重要的作用尤其是在金属冶炼、化学研究、建材生产、食品加工、机械制作、石油提炼等工业领域,占据不可忽视的作用。众所周知,当我们进行陶瓷烧烤,制作陶瓷工艺时,必

4、须很精确的控制其烧烤温度,只要我们控制好其温度,这样才能创造出完美的、无瑕疵的艺术品,一旦温度控制不佳,将会一件次品;另外当我们进行酿酒时,同样也需要对温度进行合理适当的控制,只有这样,我们才能够生产出大家公认的好酒。如此可见,对于温度的检测与把控在我们日常生活以及工业生产占据着举足轻重的地位。目前,在日新月异的生活变化中,工业和农业领域得到了快速的发展与进步,人们的需求也是不断地扩张,对于电子工业领域,自动化的产品无疑是得到大家的欢迎,随着微型处理器功能的不断强大,单片机无疑成了人们心目中最美好的选择,它的出现为人民的生活带来了不可否认利益,对于工业领域,提高了生产效率,方便了人民的生活。然

5、而随着人们的要求越来越高,对现代科学研究,工作,生活,提供更便利的设施需要从单片机技术开始,向着数字控制系统,智能控制方向不断地发展。目前,我们在科技迅速发展的现在社会中不断成长,信息技术已经不知不觉的渗透到我们生活的各个方面。为了确保这些科技产品的安全,减少其对我们生命和财产造成损失,我们首先需要控制它们的温度,确保它们在正常的温度之间正常运行,因研究兼备经济实用为一体的温度报警装置具有重要的意义1.3温度报警器的现状及发展趋势在现代社会中,由于工业过程控制系统的不断发展,特别是计算机领域中微电子技术以及自动控制理论和设计方法的快速发展,相对中国而言,国外一些发达国家在温度监控系统研究中已经

6、成功取得了超前的成绩,具体的表现其自适应、智能化、参数自整定的特点。以德国、日本、美国等发达国家为例,在上个世纪,他们已经成功生产出了一批商业化的、性能优异的温度监控器以及仪表设备,并且已经投入市场,在工业、家庭等领域得到了广泛的应用,而中国才处于研究的初级阶段。2 系统整体方案设计2.1设计目标本设计采用STC89C52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD1602等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路

7、或者报警电路控制开锁还是报警,组成的温度报警器系统,能够实现:1 DS18B20不断采集周围环境温度;2 单片机处理温度的数据显示在DS18B20;3 用户设定温度报警的上限和下限;系统整体设计框图如图2-1所示: 图2-1 系统整体设计框图2.2系统的基本方案2.2.1 系统方案选择采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它

8、直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。2.2.2 各模块方案选择2.2.2.1 单片机的选择采用STC89C52单片机,它是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.2.2.2 温度传感器的选择DS18B20温度传感器是美国DALLAS半导体公司最新推出

9、的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度

10、报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图3.5所示。64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。2.2.2.3 显示模块的选择液晶显示采用LCD 液晶显示,显示的位数多,由单片机驱动。此方案有美观、显示清晰多样的优点。2.2.2.4 报警模块的选择采用有源蜂鸣器来报警(需要一定的频率才可以驱动),可以发出声音报警且降低了成本。2.3主要元器件介绍2.3.1 STC89C52的简介STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度

11、非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。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):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内

12、部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。P0口(P39P32):8位双向I/O口线,名称为P0.0P0.7P1口(P1P8):8位准双向I/O口线,名称为P1.0P1.7 P2口(P21P28):8位准双向I/O口线,名称为P2.0P2.7 P3口(P10P17):8位准双向I/O口线,名称为P3.0P3.72.3.2 LCD1602的简介本设计所使用的是不带字库的LCD1602液晶显示屏,因为其可以在proteus中仿真,便于设计 ,其引脚表如2-3所示。表2-3

13、12864引脚3 系统的硬件设计与实现3.1 系统硬件概述 本系统是通过键盘扫描模块,既能够显示数据并且还能修改密码,开锁密码,具有强大的功能,通过键盘扫描模块输入到单片机控制系统STC89C52 中。然后通过LCD显示模块来显示我们所要有数据,还有一个就是报警模块,当输入的密码相同时,则显示模块的灯点亮,当输入的密码是错误时,重新输入,三次出错蜂鸣器响,发出报警。为了达到设定的功能,本装置键盘扫描模块、单片机控制模块、LCD显示模块,报警模块等4 模块组成。3.2主要单元电路的设计3.2.1温度采集模块电路的设计3.2.2单片机控制模块电路的设计单片机作为本装置的核心器件,在系统中起到控制报

14、警、以及LCD显示的作用,其中采用的是STC89C52是标准的40 引脚双列直插式集成电路芯片,有4 个八位的并行双向I/O 端口,分别记作P0、P1、P2、P3。第20 引脚为接地端;第40引脚为电源端;第31 引脚需要接高电位使单片机选用内部程序存储器;第18、19 脚之间接上一个12MHz 的晶振为单片机提供时钟信号;第9 脚为复位脚,当其接高电位时,单片机停止工作。P1 口接LCD控制引脚,P0 口连接一LCD1602显示屏数据输入端,P3 口与12 个阵列式按键相连实现对键盘的扫描。如图3-2所示。图3-2主控电路图3.2.3报警模块电路的设计本模块的作用是当开锁按钮被按下时,如果L

15、CD当前显示值相同,则红灯点亮,当输入的数与密码不同时,则蜂鸣器立刻发出声音报警。如图3-3所示。图3-3 报警电路图3.2 LCD1602显示模块电路的设计本模块主要用于显示指示用户密码输入要求。根据管脚要求连接电路,P0口接上拉电阻,并与LCD数据输入端口连接,控制管脚与P1口连接。如图3-4所示。 3-4显示模块电路图4 系统的软件设计与实现4.1 KEIL软件介绍Keil 是美国Keil公司的C51编译器,它被嵌入到了Keil uVision集成开发环境中。Keil是目前最常用的编译器,支持浮点等到类型,支持多维数组,能生成对应的汇编代码,能直接编译汇编代码程序和内嵌多种工具,可以方便

16、的链接,生成可执行文件。Keil uVision 2 IDE 是Keil software 公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。这一功能强大的软件提供简易的开发平台,可以让开发者在开发过程中集中精力于项目本身,加快开发速度。4.2系统程序设计流程图4.2.1 主程序软件设计通过上述原理,已对密码锁整体运行环境有了充分认识,绘制主程序和子程序流程图,利用Keil软件,对单片机进行编程,如图4-1为主程序功能流程图:4-1主程序功能流程图4.2.2温度采集的软件设计如图4-2为温度采集的软件设计,主

17、要功能是完成DS18B20的初始化工作,并进行读温度,将温度转化成为压缩BCD码 并在显示器上显示传感器所测得的实际温度。读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。4-2温度采集的软件设计流程图4.2.3 温度采集算法软件设计如图4-3为温度采集算法流程图,计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图。4-3温度采集算法流程图4.2.4温度转换命令子程序软件设计如图4-4为温度转换命令子程序流程图,温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms

18、,在本程序设计中采用1s显示程序延时法等待转换的完成。4-4温度转换命令子程序流程图5 系统仿真设计5.1 Proteus 软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟

19、的实物运行状态和过程。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。 5

20、.2 Proteus 仿真图图5-1为正常温度界面图,图5-2为报警温度界面,实现实时显示和温度报警。图5-1 正常温度界面图图5-2 报警温度界面5.3 硬件调试硬件调试主要是测试各硬件部分能否完成设计功能。系统的性能调试以主程序为主。硬件调试比较简单,直接插上电,软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、从程序的编写和调试,由于DS18B20与单片机采用串行数据传送,因此对DS18B20进行编程时必须严格地保证读写时序,否则将无法读取测量结果。在焊接的过程中,每接一根线都用万用表测试是否短路或开路。这样焊接完了之后,就不必怀疑线路不通的问题了,由于线路很繁琐也免

21、去了大量排查的工作。最初焊接最小系统,查看二极管能否正常闪烁,以此判断单片机是否正常工作。整体电路焊接完后,通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内,判断单片机的工作与否。 5.4 调试结果在调试中出现的很多问题,开始显示屏不显示,经排查是一处地线没连接,导致显示屏供不上电。连接后显示屏正常亮了,但是显示不出想要的结果,调节可变电阻,改变背光度,依然不显示。经过和班级同学的讨论,我们知道是程序的问题。于是我们修改了程序,并最终调试出想要的效果。6结论本次的课程设计共一周时间,分别进行了BS18D20电路原理图的设计,电路仿真图的设计以及实物电路板的演示三个过程。经过这次的课程设

22、计,我们不仅加深了对Proteus仿真软件的了解和使用,还学到了许多课本上没有涉及知识,练习了电路原理图的设计和仿真运行,同时对上学期学习的单片机课程进行了一次全面的复习和巩固,收益很大。我们知道,课程设计一般强调能力培养为主,在独立完成设计任务的同时,还要注意其他几方面能力的培养与提高,如独立工作能力与创造力;综合运用专业及基础知识的能力,解决实际工程技术问题的能力;查阅图书资料、产品手册和各种工具书的能力;工程绘图的能力;书写技术报告和编制技术资料的能力。在专业知识与研究方法方面为日后的毕业设计乃至毕业后的工作奠定良好的基础这次课设让我对单片机有了进一步的了解,而且对Proteus仿真软件

23、的有了一定了解。体会到了Proteus仿真软件的强大。通过本次课设,能够使我们熟练掌握单片机控制电路的设计、程序编写和系统调试,从而全面地提高我们对单片机的软件、硬件等方面的理解,进而增强我们在实践环节的动手操作能力。譬如,我们可以根据实验指导书的要求,完成DS18B20电路的硬件设计、电路器件的选择、单片机软件的运行、以及整体系统调试,并写出完善的设计报告。在进行课设之前,要求我们具备数字电路、模拟电路、电路基础、微机原理、电力电子、电机学和单片机等相关课程的知识,并具备一些基本的实践操作水平,为以后的就业打好一定的基础。总的来说,这次的课程设计自己还是很满意的,感觉收获了不少东西,相信此次

24、学到的知识在以后的生活和学习中对我会有很大的帮助!参考文献1 高玉芹单片机原理及应用及C51编程技术北京:机械工业出版社,2011.62 赵文博,刘文涛单片机语言C51程序设计M北京:人民邮电出版社,2005, 103 孙育才. MCS-51系列单片微型计算机及其应用M. 东南大学出版社, 2004,64 沈红卫. 单片机应用系统设计实力与分析M. 北京:北京航空航天大学出版社,2003.5 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计M.北京航空航天大学出版社,20066 曾一江. 单片微机原理与接口技术M. 北京:科技出版社,2009,127 康华光. 电子技术基础(模拟部分)M.

25、 北京:高等教育出版社, 2004,48 江晓安, 董秀峰. 模拟电子技术M. 西安电子科技大学出版社,2001.109 戴佳,苗龙,陈斌.51单片机应用系统开发典型实例M. 中国电力出版社,2005.910 荣贵.电子制作M.科学技术文献出版社, 200311 刘建清. 轻松玩转51单片机:魔法入门实例解析开发揭秘全攻略M. 北京航空航天大学出版社,2011附录附录1硬件图附录2 C语言源程序主函数: /* 实 验 名 : 18B20温度显示试验* 实验说明 : LCD1602显示温度值。* 连接方式 : 见连接图* 注 意 : */#include#includelcd.h#include

26、temp.hvoid LcdDisplay(int);sbit Beep = P15 ;void delay(unsigned int i) ; void delay(unsigned int i) char j; for(i; i 0; i-) for(j = 200; j 0; j-);/* 函数名 : main* 函数功能 : 主函数* 输入 : 无* 输出 : 无*/void main() TMOD = 0x01; TH0 = 60536/256; TL0 = 60536%256; EA=1; ET0=1; LcdInit(); /初始化LCD1602 LcdWriteCom(0x88

27、); /写地址 80表示初始地址 LcdWriteData(C); while(1) LcdDisplay(Ds18b20ReadTemp(); if(Ds18b20ReadTemp()=400) /25 TR0=1; else TR0=0; / Delay1ms(1000);/1s钟刷一次 /* 函数名 : 定时器0 中断服务程序* 函数功能 :* 输入 : v* 输出 : 无*/void Timer0(void) interrupt 1 TH0 = 60536/256; TL0 = 60536%256; /产生发声100Hz的平率 Beep = Beep;/* 函数名 : LcdDispl

28、ay()* 函数功能 : LCD显示读取到的温度* 输入 : v* 输出 : 无*/void LcdDisplay(int temp) /lcd显示 unsigned char datas = 0, 0, 0, 0, 0; /定义数组 float tp; if(temp 0) /当温度值为负数 LcdWriteCom(0x80); /写地址 80表示初始地址 LcdWriteData(-); /显示负 /因为读取的温度是实际温度的补码,所以减1,再取反求出原码 temp=temp-1; temp=temp; tp=temp; temp=tp*0.0625*100+0.5; /留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点 /后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就 /算由?.5,还是在小数点后面。 else LcdWriteCom(0x80); /写地址 80表示初始地址 LcdWriteData(+); /显示正 tp=temp;/因为数据处理有小数点所以将温度赋给一个浮点型变量 /如果温度是正的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1