您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于51系列单片机温度报警器课程设计
唐山学院课程设计1-19一概述1.1课程设计的目的和意义通过这次课程设计,我进一步熟悉了单片机的内部结构和工作原理,掌握了单片机应用系统设计的基本方法和步骤;通过利用MCS-51单片机,理解单片机在自动化装置中的作用以及掌握单片机的编程调试方法;通过设计一个简单的实际应用输入控制及显示系统,掌握protues和keil以及各种仿真软件的使用。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等,温度计中传感器是它的重要组成部分,它的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。但是,作为应用系统设计人员需要根据系统要求选用适宜的传感器,并与自己设计的系统连接起来,从而构成性能优良的监控系统。1.2任务及要求设计内容:所设计数字电压表应具有以下功能:(1)可以测量-50到110摄氏度内的温度。(2)在4位LED数码管上显示温度,分别为百位、十位、个位和小数点后一位。(3)测量精度误差在0.5摄氏度以内。设计要求:1、根据题目要求进行系统总体设计。2.完成系统硬件电路的设计。(1)硬件电路图。(2)硬件电路说明。3.系统程序的设计。(1)程序流程图。(2)完整源程序。4.完成的控制系统能达到题目的要求。5.书写设计说明书。唐山学院课程设计2-19二总体设计方案1功能简介LCD液晶显示器直接显示DS18B20所测量的温度,超出-50~110℃范围时喇叭报警并且数码管开始闪烁,在温度范围内时喇叭停止报警并且数码管停止闪烁,运行期间可以随时进行复位操作。2设计思路AT89C51作为温度测试系统设计的核心器件,具有低电压供电和体积小等特点。该器件是INTEL公司生产的MCS-5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O接口等计算机所需的基本功能部件。程序存储在单片机的程序存储器中,运行过程由程序控制。时钟信号用来控制单片机内各种微操作的时间基准,通常有两种形式得到,即内部震荡方式和外部震荡方式。内部震荡方式所得的信号比较稳定,故设计数字温度计的时钟信号选用内部震荡方式,晶振选用12MHZ。复位电路使片内单片机的片内寄存器初始化,使单片机从一种确定的状态开始运行。复位电路有两种基本形式,即上电复位和开关复位。为了保证温度计的正常工作,采用上电且开关复位,也就是CR复位。温度传感器选用达拉斯公司的单线数字温度传感芯片DS18B20。它将地址线、数据线和控制线合为一根双向串行传输数据的信号线,允许在这根信号线上挂接多个DS18B20。每个芯片内有一个64位的ROM,其中存有各个器件自身的序列号,作为器件独有的ID号码。其测温范围是-55~128℃,测温分辨率在12位时精度为0.0625℃。DS18B20简化了温度器件与计算机的接口电路,使得电路简单,使用更加方便。显示部分使用LM016L来作为温度的直接输出,当温度超出-50~110℃时,喇叭报警和数码管闪烁来提示。采用单片机汇编程序语言设计温度计的程序,对DS18B20进行初始化、读、写,读取温度,数据的转换,温度显示和报警处理等等。3芯片器材主机:单片机AT89C51一片;温度传感器:DS18B20一片,显示电路:LM016L唐山学院课程设计3-19液晶显示器;时钟电路:电容两个,晶振片一个;复位电路:电容一个,开关按钮一个;导线若干,+5V电源等等。三硬件设计189C51如图1图1AT89C51引脚图本次设计需要注意的几个端口:P0口(39—32):是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P3口(10—17):是一组带有内部上拉电阻的8位双向I/O口,,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上唐山学院课程设计4-19拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如图2所示:图2端口引脚P3EA/Vpp(31):内部和外部程序存储器选择线。EA=0时访问外部ROM0000H—FFFFH;EA=1时,地址0000H—0FFFH空间访问内部ROM,地址1000H—FFFFH空间访问外部ROM。本次设计EA接高电平。XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。RST/VPD(9):复位信号输入端。AT89S51接能电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。当主电源Vcc发生故障,降低到低电平规定值时,VPD将为RAM提供备用电源,发保证存储在RAM中的信号不丢失。2温度获取使用美国Dallas半导体公司的数字化温度传感器DS1820,支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:唐山学院课程设计5-19环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小DS18B20产品的特点:(1)、只要求一个端口即可实现通信。(2)、在DS18B20中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在-55。C到+125。C之间。(5)、数字温度计的分辨率用户可以从9位到12位选择。(6)、内部有温度上、下限告警设置。DS18B20内部结构[2]如图3所示:图3DS18B20内部结构DS18B20功能命令[2]如表1所示:表1DS18B20功能命令表命令功能描述代码CONVERT启动温度转换44HREADSCRATCHPAD读取温度寄存器BEHREADROM读DS18B20的序列号33HWRITESCRATPAD将数据写入暂存器的第2、3字节中4EHMATCHROM匹配ROM55HSEARCHROM搜索ROMF0H存储和控制逻辑高速暂存器温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC生成器64位ROM和一线端口供电方式唐山学院课程设计6-19ALARMSEARCH报警搜索ECHSKIPROM跳过读序列号的操作CCHREADPOWERSUPPLY读电源供给方式,0寄生,1外部电源B4H其连线使用如图4所示(2接P3.6):图4DS18B20连线图由于DS18B20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。3复位电路复位操作是为了完成单片机内部电路的初始化,使单片机从一种确定的状态开始运行。当AT89C51单片机的复位引脚RST出现2个机器周期以上,单片机就完唐山学院课程设计7-19成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态[1]。复位通常有2种基本形式:上电复位和开关复位。上电复位要求要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。本次采用的是常用的上电且开关复位电路,如图5所示:图5复位电路上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=10~30μF,R=10~1000Ω。复位操作使单片机进入初始化过程,其中包括使程序计数器PC=0000H,P0~P3=FFH,SP=07H,其它寄存器处于零。4时钟电路单片机的时钟信号使用内部震荡方式产生,其电路图如图6所示:唐山学院课程设计8-19图6内部震荡电路电容器C、C1起稳定震荡频率、快速起振的作用,电容值一般为5-30pF,晶振通常选用6MHZ、12MHZ、24MHZ。内部震荡方式所得的时钟信号比较稳定。五温度显示电路四位共阴极数码管,能够显示带一位小数的正负温度。零下时:1显示负号,2显示十位,3显示个位,4显示小数位。零上时:1显示百位,2显示十位,3显示个位,4显示小数位。当温度超过109.5或低于49.5时,四个数码闪烁。其如图8图8总体电路四软件设计唐山学院课程设计9-191程序流程图程序流程图如图9所示:图9程序流程图N跳过读序列号的操作YNY读温度命令将温度高、低位读出处理数据到百、十、个、小数位,并在数码管上显示超出限制?报警器报警和数码管闪烁初始化DS18B20开始初始化DS18B20应答脉冲?跳过读序列号的操作发出温度转换的命令等待温度转换完成唐山学院课程设计10-192初始化子程序使用DS18B20时,单片机先向DS18B20送出复位信号,单片机将数据拉低并保持480~960μs;再释放数据线,由上拉电阻拉高15~60μs;然后再由DS18B20发出低电平60~240μs,就完成了复位操作[3]。3读子程序读数据之前,单片机先将数据线拉低,再释放。DS18B20在数据线从高电平跳低后15μs内将数据送到数据线上。单片机在15μs后读数据线。4写子程序在单片机对DS18B20写数据时,应先将数据线拉低1μs以上,再写入数据(写1为高,写0为低)。待单片机写入的数据变化15~60μs后,DS18B20将对数据线采样。单片机写入数据到DS18B20的保持时间为60~120μs。5数据处理子程序先判断温度高8位的CY,如果CY为1,则将高、低8八位求补;对高、低8位的数据按权整合称一个整数,判断是否在-50~110℃之间,超出范围则置报警灯为亮;将该数按百、十、个位分别存入相应的存储单元。流程图如图10所示:YYN符号为正?求补码N高、低8位整合成为一个整数存入A中-50~110之间?报警分别存入百、十、个、小数位取温度值唐山学院课程设计11-19图10数据处理流程图6显示子程序将百、十、个、小数位的数据查表,送到对应的数码管显示,程序流程图如11所示:YNYYN温度为负?显示百位,延时显示负号,延时显示十位,延时显示个位,延时显示1000遍?取温度返回显示小数位,延时延时N超过范围?唐山学院课程设计12-19图11显示程序流程图五试验仿真1总线路图六课程设计体会这两个礼拜的单片机课程设计已接近尾声,回顾这个过程,收获颇多!单片机课程是我们上个学期学的内容,经过两个月的寒假,遗忘了很多东西!再加上初次认识和使用系统仿真软件protues和编译软件keil,自己动手设计电路,所以在刚开始的课程设计遇到了很大困难!说到这确实深感惭愧,但这也给自己创造了一个学习的机会!重新回顾上个学期学过的内容,并且在图书馆和网上查阅了很多资料,通过和同学之间的交流,还有老师的辅导,自己开始熟悉并掌握有关单片机的设计!经过两个礼拜的努力,看到了自己的成果!
本文标题:基于51系列单片机温度报警器课程设计
链接地址:https://www.777doc.com/doc-1814086 .html