课程设计报告

发布 2022-10-01 04:05:28 阅读 7950

实验报告。

哈尔滨工程大学教务处制。

1.1.1设计背景。

现代社会生活中,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国maxim/dallas半导体公司的单总线温度传感器ds18b20为核心,以atmel公司的at89s52为控制器设计的ds18b20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。

此次课程设计,就是用单片机[1]实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用ds18b20数字温度传感器来实现基于51单片机的数字温度计的设计。

1.1.2.基本要求。

利用数字温度传感器与单片机结合来测量温度。利用数字温度传感器ds18b20采集温度信号,计算后用lcd符型液晶显示相应的温度值。数字温度计所测量的温度采用数字显示,控制器使用单片机at89c52,测温传感器使用ds18b20。

首先进行预设计,根据选定硬件电路方案,充分利用单片机软、硬件资源。

主要设计指标有测量温度,超出范围进行led报警,lcd1602实时监测温度并显示具体温度值。

实施多点检测,自定义上下限温度。

1.2.1设计方案。

根据课程设计要求,制定课程设计方案。

采用专用集成数字化温度传感器ds18b20测温,它具有接口简单、直接数字量输出、精度高等优点。ds18b20是dallas公司的最新单线数字温度传感器,它的温度检测与数字检测数据全集成于一个芯片之上,测量范围为-55~+125℃,在-10 ~+85℃内,精度为0.5,完全可以满足设计指标要求。

在ds18b20中的每个器件上都有独一无二的序列号,这个序列号是出厂前已经刻录在ds18b20中,需要用户使用前进行读取。它还可以实现“一线总线”的数字方式传输,即在一个端口上,可以挂很多数字温度传感器,通过读取每个ds18b20的序列号,进行匹配后完成多个ds18b20的测温过程,电路简单,易于实现。另ds18b20支持3~5.

5v的电源范围,使得系统设计更加方便灵活。ds18b20支持报警温度设置,用户设定的报警温度保存在eeprom存储器,满足部分扩展要求,并且掉电后依然保存,方便随时的通断电。

单片机控制模块以atmel公司生产的at89c52单片机为主控核心,at89c52单片机**便宜,语言简单,是单片机初学者的基本入门课程,对于初学者来说使用容易,且可用性强。在完成对ds18b20所采集的温度进行读取、输出并控制lcd1602实时显示外,为了满足扩展要求,增加显示时间模块,完成对时间的设置,以达到设计要求。

温度显示模块选用字符型lcd1602,1602使用技术成熟,**便宜,对于实时显示温度、单位等可以满足要求。按键模块直接使用普通按键,操作简单,**便宜。

系统框图如图1所示。

图1 多点测温系统框图。

1.2.2设计内容。

根据制定的实验方案,进行课程设计,其内容包括硬件电路设计和系统软件设计,其主要模块包括at89c52单片机主控制模块、多个ds18b20测温模块、lcd1602液晶显示模块和按键模块。

硬件电路较为简单,参照单片机at89c52和数字温度传感器ds18b20的工作原理和技术手册,以及实验方案中的蜂鸣器设计、按键设计,完成硬件电路图的设计和绘制。

系统软件分为两大部分,ds18b20的序列号读取程序和温度测量程序。根据ds18b20的工作过程和读写时序、at89c52工作特点和想要达到的设计效果,进行程序的编写。

具体工作过程为:**读序列号程序,读取两个ds18b20中的序列号,并记录下来;根据读取的序列号更改数组内容后,重新**程序,进行多点测温过程,由ds18b20温度传感器芯片测量当前温度,通过程序匹配不同的ds18b20,传送各个ds18b20的测量值,将结果送入单片机;通过at89c52单片机芯片对送入的测量温度读数进行计算和转换,并将此结果送入液晶显示模块,同时判断是否超过设定的警戒温度,决定蜂鸣器与lcd1602是否工作;lcd1602模块将送来的值显示于显示屏上。单片机通过扫描按键,进入不同的子程序,完成时间的显示。

1.3.1 ds18b20工作原理。

1.3.1.1 ds18b20概述。

ds18b20数字温度传感器是dallas公司生产的1-wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。ds18b20产品的特点只要求一个端口即可实现通信。

在ds18b20中的每个器件上都有独一无二的序列号。实际应用中不需要外部任何元器件即可实现测温。测量温度范围在-到+之间。

数字温度计的分辨率用户可以从9位到12位选择。内部有温度上、下限告警设置。

ds18b20引脚功能描述见表1。

表1 ds18b20详细引脚描述。

ds18b20引脚图如图2所示。

1.3.1.2 ds18b20的主要特性。

1)适应电压范围更宽,电压范围:3.0~5.5v,在寄生电源方式下可由数据线供电。

2)独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。

3)ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温。

4)ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃(6)可编程的分辨率为9~12位,对应的可分辨温度分别为.125℃和0.0625℃可实现高精度测温。

7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

8)测量结果直接输出数字温度信号,以"一线总线"串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力。

9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

1.3.1.3 ds18b20内部结构。

ds18b20的内部框图如图2所示。64位rom存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。

暂存器还提供一字节的上线警报触发(th)和下线警报触发(tl)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的和7字节器件内部保留使用。第八字节含有循环冗余码(crc)。

使用寄生电源时,ds18b20不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过dq引脚提供;高电平总线信号同时也向内部电容cpp充电,cpp在总线低电平时为器件供电。(注:internalvdd-内部vdd64-bitromand1-wireprot-64位rom和单线端memorycontrollogic-存储器控制逻辑scratchpad 暂存器temperaturesensor 温度传感器alarmhightrigger(th)register上限温度触发alarmlowtrigger(tl)register下限温度触发8-bitcrcgenertor8位crc产生器powersuppllysense 电源探测parasitepowercircuit寄生电源电路)。

图2 ds18b20内部框图。

1.3.1.4 ds18b20中4个主要数据部件。

光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。

64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。

ds18b20中的温度传感器可完成对温度的测量。

以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/lsb形式表达,其中s为符号位。

这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07d0h,+25.0625℃的数字输出为0191h,-25.0625℃的数字输出为ff6fh,-55℃的数字输出为fc90h,如表2所示。

(注:temperature-温度,digitaloutput-数字输出)

表2 ds18b20温度数据表。

ds18b20温度传感器的存储器。

ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eeprom,后者存放高温度和低温度触发器th、tl和结构寄存器。

配置寄存器。

表3 配置寄存器。

低五位一直都是"1",tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如表4所示:

(ds18b20出厂时被设置为12位)

表4 r1与r0确定传感器分辨率设置表。

1.3.1.5 ds18b20工作过程。

初始化rom命令跟随着需要交换的数据;功能命令跟随着需要交换的数据。访问ds18b20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,ds18b20都不会响应主机。

a. 初始化:

ds18b20所有的数据交换都由一个初始化序列开始。由主机发出的复位脉冲和跟在其后的由ds18b20发出的应答脉冲构成。当ds18b20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。

b. rom命令:

rom命令通过每个器件64-bit的rom码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。ds18b20的rom如表3-6所示,每个rom命令都是8bit长。

c. 功能命令:

主机通过功能命令对ds18b20进行读/写scratchpad存储器,或者启动温度转换。ds18b20的功能命令如表5所示。

表5 ds18b20功能命令表。

1.3.1.5 ds18b20信号方式。

ds18b20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。

除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。

a. 初始化序列:

复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(tx)。然后主机释放总线并进入接收(rx)模式。当总线被释放后,4.

7kω的上拉电阻将单总线拉高。ds18b20检测到这个上升沿后,延时15s~60s,通过拉低总线60s~240s产生应答脉冲。初始化波形如图3所示。

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...