基于单片机的单总线多点温度测控系统

更新时间:2024-04-08 04:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2009届毕业设计任务书

一、课题名称:

基于单片机的单总线多点温度测控系统

二、指导老师: 三、设计内容与要求

1)、课题概述

MCU作为嵌入式系统的低端产品应用非常广泛,电气信息类专业的学生掌握了MCU应用系统的设计具有很强的现实意义。通过基于单片机的单总线多点温度测控系统之全过程,可涵盖电气信息类专业的大部分专业基础课和专业课,可受到良好的工程设计实践的训练。

2)、设计内容与要求

1. 测温范围:-50℃~+120℃

2. 测量误差:0.5℃, 显示分辨力:0.1℃

3. 测量点数:18点,按1#、2#、……18#进行编号。 4. 有两种显示方式:

⑴ 每一分钟显示一个测量点的编号及其温度值,自动切换。 ⑵ 可固定只显示某一个测量点的编号及其温度值。 5. 对每一个温度测量点可分别设置温度的上、下限值。

6. 当某个温度测量点的温度值超过其上、下限值时,发出声光报警信号,并累计报警的温度测量点的个数;当显示报警的温度测量点的温度值时,其编号闪烁显示;可手动切除声光报警信号。

7. 硬件电路尽可能简单,便于在工程实践中布线 8.完成实物制作

四、设计参考资料

1. 2. 3. 4. 5. 6. 7. 8.

《微机原理与接囗技术》,汪吉鹏,高等教育出版社,2001年。 《单片机高级教程》,何立民,北京航空航天大学出版社,2000年。 《单片机的C语言应用程序设计》,马忠梅,北京航空航天大学出版社, 《计算机控制系统》,清华大学出版社。 《EDA技术实用教程》,潘松,科学出版社,2002年。 www.21ic.com www.p8s.com www.56789.com

五、设计进程安排

第1周:资料准备与借阅,了解课题思路。

第2周:设计要求说明及课题内容辅导,完成图纸初稿。 第3-5周:进行毕业设计,完成说明书初稿。 第6周:第一次检查,了解设计完成情况。

第7周:第二次检查设计完成情况,并作好毕业答辩准备。

第8周:毕业答辩与综合成绩评定。

六、毕业设计答辩及论文要求

1、毕业设计答辩要求

答辩前三天,每个学生应按时将毕业设计说明书或毕业论文、专题报告等必要资料交指导教师审阅,由指导教师写出审阅意见。

学生答辩时对自述部分应写出书面提纲,内容包括课题的任务、目的和意义,所采用的原始资料或参考文献、设计的基本内容和主要方法、成果结论和评价。

答辩小组质询课题的关键问题,质询与课题密切相关的基本理论、知识、设计与计算方法实验方法、测试方法,鉴别学生独立工作能力、创新能力。

2、毕业设计论文要求

文字要求:说明书要求打印(除图纸外),不能手写。文字通顺,语言流畅,排版合理,无错别字,不允许抄袭。

图纸要求:按工程制图标准制图,图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。

曲线图表要求:所有曲线、图表、线路图、程序框图、示意图等不准用徒手画,必须按国家规定的标准或工程要求绘制。

附件一:湖南铁道职业技术学院电气工程系毕业论文(设计说明书)格式要求

字数要求:10000字以上 打印要求:用A4纸打印

页边距:上2.54cm、下2.54cm;左3.17cm、右3.17 字体、字号要求如下: 1.封面

(2)题目、院(系)、专业、班级、学生姓名、指导教师、完成日期(Times New Noman、加粗、2007.11.23小3号字);指导老师的名字用楷体小3号。见样本

2.论文(设计说明书)

中文题目(黑体加粗、3号字,加粗);正文(宋体,小4号,正文内容首行缩进2字)中文摘要、关键词(正文用宋体、小4号字,“摘要”、“关键词”五个字用黑体, 3号字)、英文摘要、关键词(Times New Noman, 3号字,其中Abstract和Keyword要加粗)、正文(宋体,小4号字);附录(宋体,5号字);英文题目(Times New Noman, 3号字),英语专业正文(Times New Noman,4号字)

2

图下边的标识为“图x.x 〃〃〃〃〃〃”(字体为宋体,大小为5号),图必须打印的,不能复印粘贴,图号要准确。

一级标题(黑体加粗、3号字:标示为第1、2、3〃〃〃〃〃〃章);二级标题(黑体加粗、4号字标识为:1.1、1.2〃〃〃〃〃〃),三级标题(宋体、小4号,加粗,标识为1.1.1〃〃〃〃〃〃),以此类推。

注释、参考文献(宋体、5号字),正文和前言中标注采用上标,中括号采用半角,数字用Times New Roman,5号字体

任务书(黑体,3号字),正文(宋体,小4)。见样本。 论文要求1倍行距

要求每个学生要写“答辩申请书”(五个字用黑体, 3号字)方能答辩(其中学生应该写明自己的设计要做什么,怎样做,自己做了些什么,做的结果如何,500字以上);正文用小4号字体;右下脚写“指导老师”(用黑体,4号字);指导老师要签字后方可答辩。

目录:目录中的页码与实际页码要准确对应。 需要页眉,需在页脚标注页码,放在右下角。

心得体会(黑体,3号字),正文(宋体,小4号),2000字以上。 附件二:前言基本要求:

叙述撰写该论文的目的和现实意义。

叙述所写课题的国内外研究现状,有何代表性的研究成果或有何研究进展等。

叙述所做课题的主要观点、研究方法(技术路线)、创新之处以及对该课题的趋势预测。

字数要求在3000字左右。 附件三:我系全称为:“电气工程系” 专业:专业名称要准确 打印:单面打印。 附录四:

摘 要

本课题主要介绍基于AT89C51单片机和DS18B20数字温度传感器的多点温度测量系统。该系统利用AT89C51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。它以AT89C51单片机为主控制芯片,采用数字温度传感器DS18B20实现多路温度的检测,测量精度可以达到0.5℃。该系统采用了LCD1602A液晶显示模块,LCD1602A作为显示器 ,形象直观的显示测出的温度值。本文首先在绪论中介绍了此系统的背景以及功能。第二章确定设计方案。在第三章论述了总体的设计过程,确定了技术指标及器件的选择并且描述了系统硬件电路设计、硬件设计框图及所使用的各种芯片功能与特性。第四章重点剖析了软件设计的过程。最后一章中具体论述了系统的调试软件及调试中出现的问题。基于AT89C51单片机的单总线多点温度测控系统具有硬件组成简单、多点温度检测、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。

关键词:数字温度传感器,AT89C51单片机,单总线

I

Abstract

The problem introduces AT89C51 monolithic machine and the DS18B20 figure temperature sensor-based multiple spot temperature measurement system mainly. AT89C51 single chip using the system were collected at various temperatures of the temperature, temperature display and alarm functions. It AT89C51 MCU-based control chip, digital temperature sensor DS18B20 the realization of multi-channel temperature detection, measurement accuracy can reach 0.5 ℃. The system uses LCD1602A liquid crystal display modules,LCD1602A as a display, the display of visual images to measure the temperature. This article first described in the introduction of this system, as well as background features. The second chapter to determine the design. In the third chapter discusses the overall design process to determine the technical specifications and the choice of devices and a description of the hardware circuit design, hardware design and diagram used in a variety of features and functions of the chip. Chapter IV analyzes the key software design process. The final chapter discusses the specific system debugging and debug software problems. AT89C51 single chip based on single-bus multi-point temperature measurement and control system with simple hardware components, multi-point temperature, easy reading, high-accuracy, wide temperature range, and other characteristics of the actual projects are widely used

Key words:digital temperature sensor, AT89C51 single chip, single-bus

II

目 录

摘 要 ..................................................... I ABSTRACT ...................................................II 第1章 绪 论 ............................................ 1 第2章 系统方案设计........................................ 3

2.1 方案设计 ...................................................... 3 2.2 方案论证 ...................................................... 4

第3章 系统设计 ............................................ 5

3.1工作原理 ...................................................... 5 3.2 单元电路设计 .................................................. 6 3.2.1 DS18B20与单片机接口电路设计............................... 6 3.2.2键盘电路设计.............................................. 14 3.2.3显示电路设计.............................................. 16 3.2.4 报警电路设计 ............................................. 19

第4章 系统软件设计 ......................................21

4.1 软件设计总体思路及主程序流程图 ............................... 21 4.2 测温模块流程图 ............................................... 22 4.2.1 温度的采集 ............................................... 23 4.2.2 多点温度的测量 ........................................... 23 4.3 显示模块流程图 ............................................... 24 4.4 键盘扫描流程图 ............................................... 25

第5章 元器件安装及调试 ...................................27

5.1元器件安装 ................................................... 27 5.2产品调试 ..................................................... 29 5.2.1测试环境及工具............................................ 29 5.2.2温度检测部分测试.......................................... 29 5.2.3电路主板测试.............................................. 30 5.2.4统一调试.................................................. 30

总 结 .....................................................31 参考资料 ...................................................33 致 谢 ...................................................34

附录一 .....................................................35 附录二 .....................................................36

第1章 绪 论

21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,

现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。

温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。

分布式温度传感器在电力工业、煤矿、森林、火灾、高层建筑、航空、航天飞行器等有着重要的应用前景,引起研究人员的广泛关注。近年来,已经有不少分布式温度传感器的报道,包括基于光纤非线性效应的拉曼温度传感器等,但由于其昂贵的成本而无法得到广泛的应用。本设计使用了美国 Dallas 半导体公司的新一代数字式温度传感器DS18B20,它具有独特的单总线接口方式 ,即允许在一条信号线上挂接数十甚至上百个数字式传感器 ,从而使测温装置与各传感器的接口变得十分简单 ,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点。工作时由控制信号进行具体测量点识别,这使得布线工作大大简化,可以方便地构成多传感器测量网络。此外与传统的热敏电阻传感器相比,DS18B20具有更高的测量精度。所以,相对于传统温度传感器而言,DS18B20数字温度传感器具有更高的经济性、灵活性、抗干扰性和精确度,在科学研究和生产实际中得到了广泛的应用。

随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机来代替人工测量,这样既省时又省力。

本设计是心AT89C51为单片机作为控制核心,提出了一种基于DS18B20的单总线多点温度测控系统,多个温度传感节点通过单总线与单片机相联形成分

1

布式系统。单片机通过实时监控温度的变化,通过LCD1602字符型液晶显示各节点温度的数值,当温度值超出所设定的值时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。

2

第2章 系统方案设计

2.1 方案设计

方案一:该案由单片机、模拟温度传感器AD590、运算放大器、AD转换器、4×4键盘、LCD显示电路、集成功率放大器、报警器组成。

本方案采用模拟温度传感器AD590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传给给单片机,单片机将温度值进行处理之后用LCD显示 ,当温度值超过设置值时,系统开始报警。如图1-1所示:

LCD 模拟温度传感器运算放大器AD转换

单片机显示模块键盘模块集成功放报警器

图1-1方案一温度测量系统方案框图

方案二:该方案使用了AT89C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用多个温度传感器对各点温度进行检测,通过4×4键盘模块对温度进行上、下限设置,超过其温度值就报警。显示电路采用LCD1602模块,使用8550三极管为中心组成的报警电路。如图1-2所示

温度传感器 LCD液晶 显示电路 温度传感器 温度传感器 单片机 报警电路 4×4键盘 图1-2 方案二温度测量系统方案框

温度传感器 3

2.2 方案论证

方案一采用模拟温度传感器,转换结果需要经过运算放大器和AD转换器传送给处理器。它控制虽然简单,但电路复杂,不容易实现对多点温度进行测量和监控。由于采用了多个分立元件和模数转换器,容易出现误差,测量结果不是很准确,因此本方案并不可取。

方案二采用智能温度传感器DS18B20,它直接输出数字量,精度高,电路简单,只需要模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度。

此方案硬件电路非常简单,但程序设计复杂一些,但是在课外对DS18B20、字符型液晶显示、4×4键盘的程序有所了解,而且曾经在网上看到过此类程序程序设计,并且我们已经使用开发工具KEIL用C语言对系统进行了程序设计,用仿真软件PROTEUS对系统进行了仿真,达到了预期的结果。由此可见,该方案完成具有可行性,体现了技术的先进性,经济上也没有任何问题。

综上所述,本课题应当采用方案二对系统进行设计。

4

第3章 系统设计

3.1工作原理

基于单片机的单总线多点温度测控系统以AT89C51为中心器件,以KEIL为系统程序开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。系统主要由温度传感器电路、液晶显示电路、键盘电路、报警电路组成,电路原理图如附录一所示。

DS18B20是智能温度传感器,它的输入/输出采用数字量,通过单总线,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度数值以串口形式发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用字符型液晶模块显示各点的温度。在系统启动之时,可以通过4×4键盘设置各点温度的上限值和下限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。

每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单。

DS18B20虽然有测温简单的特点,但在实际应用中应注意一下几点: (1)较小的硬件开销需要相对复杂的软件进行补偿, 由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写. (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(4)在DS18 20测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一的重视.

5

3.2 单元电路设计

3.2.1 DS18B20与单片机接口电路设计 (1) DS18B20与单片机的接口技术

如图3-1所示:DS18B20与单片机的接口电路非常简单。DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的I/O口,电源与数字输入输出脚间需要接一个4.7K的电阻。

图3-1 DS18B20与单片机接口电路

(2) 中央处理器AT89C51简介

① AT89C51的特点

AT89C51具有以下几个特点:

AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容; 片内有4k字节在线可重复编程快擦写程序存储器; 全静态工作,工作范围:0Hz~24MHz; 三级程序存储器加密; 128×8位内部RAM; 32位双向输入输出线; 两个十六位定时器/计数器 五个中断源,两级中断优先级; 一个全双工的异步串行口; 间歇和掉电两种工作方式。

? ? ? ? ? ? ? ? ? ?

②AT89C51的功能描述

AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,

6

数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。

③ AT89C51引脚功能

AT89C51单片机40引脚分布如右图所示。

AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

7

P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。

(3)DS18B20的工作原理

① DS18B20数字温度传感器概述

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

DS18B20产品的特点

? 只要求一个端口即可实现通信。

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

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

TO-92封装的DS18B20的引脚排列见右图,其引脚功能描述见表 序号 1 2 名称 GND DQ 引脚功能描述 地信号 数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源 3 VDD 可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地 表3-2 DS18B20详细引脚功能描述 表2 P3口的第二功能

② DS18B20的内部结构

8

DS18B20的内部框图下图所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。使用寄生电源时,DS18B20不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过DQ引脚提供;高电平总线信号同时也向内部电容CPP充电,CPP在总线低电平时为器件供电。

(4)DS18B20的4个主要数据部件:

①光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

②DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

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

9

数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表3-4DS18B20温度数据表

TEMPERATURE +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.0625℃ -55℃ DIGITAL OUTPUT 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 DIGITAL OUTPUT 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H ③DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

④配置寄存器

表3-5 配置寄存器

0 R1 R0 1 1 1 1 1 低五位一直都是\,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)

表3-6R1与R0确定传感器分辨率设置表

R1 0 0 1 1 R0 0 1 0 1 传感器精度/bit 9 10 11 12 转换时间/ms 93.75 187.5 375 750 10

(5)DS18B20的工作过程

? 初始化

? ROM命令跟随着需要交换的数据; ? 功能命令跟随着需要交换的数据。

访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。

a.初始化:

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

b. ROM命令:

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

c. 功能命令:

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

指令 读ROM 符合ROM 搜索ROM 跳过ROM 协议 33H 55H 0F0H 0CCH 功能 读DS18B20中的编码(即64位地址) 发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备 用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备 忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作 执行后,只有温度超过庙宇值上限或下限的片子才做出响应 启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中 读内部RAM中9字节的内容 发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据 将RAM中第3、4字内容复制到E2PROM中 报警搜索命令 0ECH 温度转换 读暂存器 写暂存器 复制暂存器 44H BEH 4EH 48H 11

重调E2PROM 读供电方式 0B8H 0B4H 将E2PROM中内容恢复到RAM中的第3、4字节 读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1” 表3-7 (6)DS18B20的信号方式

DS18B20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。

a.初始化序列:复位脉冲和应答脉冲

在初始化过程中,主机通过拉低单总线至少480μs,以产生复位脉冲(TX)。然后主机释放总线并进入接收(RX)模式。当总线被释放后,5kΩ的上拉电阻将单总线拉高。DS18B20检测到这个上升沿后,延时15μs~60μs,通过拉低总线60μs~240μs产生应答脉冲。初始化波形如图3-8所示。

3-8 初始化脉冲

b.读和写时序

在写时序期间,主机向DS18B20写入指令;而在读时序期间,主机读入来自DS18B20的指令。在每一个时序,总线只能传输一位数据。读/写时序如图3-9所示。

? 写时序

存在两种写时序:“写1”和“写0”。主机在写1时序向DS18B20写入逻辑1,而在写0时序向DS18B20写入逻辑0。所有写时序至少需要60μs,且在两次写时序之间至少需要1μs的恢复时间。两种写时序均以主机拉低总线开始。

产生写1时序:主机拉低总线后,必须在15μs内释放总线,然后由上拉电阻将总线拉至高电平。产生写0时序:主机拉低总线后,必须在整个时序期间保持低电平(至少60μs)。

在写时序开始后的15μs~60μs期间,DS18B20采样总线的状态。如果总线

12

为高电平,则逻辑1被写入DS18B20;如果总线为低电平,则逻辑0被写入DS18B20。

? 读时序

图3-9DS18B20读/写时序图

DS18B20只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时序,以便DS18B20能够传送数据。所有读时序至少60μs,且在两次独立的读时序之间至少需要1μs的恢复时间。

每次读时序由主机发起,拉低总线至少1μs。在主机发起读时序之后,DS18B20开始在总线上传送1或0。若DS18B20发送1,则保持总线为高电平;若发送0,则拉低总线。当传送0时,DS18B20在该时序结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。DS18B20发出的数据在读时序下降沿起始后的15μs内有效,因此主机必须在读时序开始后的15μs内释放总线,并且采样总线状态。

DS18B20 在使用时,一般都采用单片机来实现数据采集。只需将DS18B20

13

信号线与单片机1 位I/O线相连,且单片机的1 位I/O 线可挂接多个DS18B20 ,就可实现单点或多点温度检测。

(7)DS18B20的温度计算

DS18B20允许通过程序对传感器的分辨率,温度报警的上、下限等参数进行配置。它的内部存储器包括一个高速暂存存储器和一个非易失性可擦除E2PROM。速暂存存储器共有8个字节(byte),每个字节8位(bit)。

根据温度的计算方法如下: S S S S S = 11111 b 温度值:

T = [ (MSB and 7) ×256 + LSB] ×0.0625 ℃ SSSSS = 00000 b 温度值:

T = - [ (256 - MSB) ×256 - LSB] ×0.0625 ℃

如果,存储器高位寄存器MS的S S S S S 均为1 ,则被测温度为正值,用上面第1个公式来计算温度。如果存储器高位寄存器MSB的S S S S S均为0,则被测温度为负值,用上面第2个公式来计算温度。在这里,有两点应当注意:一是公式中中括号内的数值为二进制,在计算口号内计算完成后应转化为十进制;二是这里的7与0.0625是假设传感器的分辨率设置0.0625时的计算值。如果分辨率的设置值不是0.0625,那么就应当作相应的变化。第3和第4个字节分别用来存放温度报警的上限(TH)和下限值(TL)。DS18B20在完成温度变换后,会将所测温度值与贮存在TH和TL内的上下限值相比较,如果测温结果高于TH或低于TL,DS18B20内部的告警标志就会被置位,表示温值超出了测量范围。并且该值在掉电后不会丢失,而是记忆其设定的上下限值。第5字节是配置寄存器,如表2.3所示,该寄存器用于对温度转换值的分辨率进行设置。其中,最高位用于设置传感器是工作模式还是测试模式,是生产厂家为便于检验使用。其出厂时的默认值为0,为工作模式(即用户使用时的模式)。并且在用户使用中,该位总是保持为0。R1与R0确定传感器的分辨率,如表2.4所示,DS18B20有4种分辨率可供选择。使用时可以根据实际需要来设置,出厂时的默认设置是12位。最后5位总保持为 1

3.2.2键盘电路设计

根据设计任务书中要求实现的功能,我选择了4X4=16个键盘的矩阵键盘来设置温度的上、下限值,此键盘设计符合系统设置要求,所以我选择此键盘完成本设计。

①矩阵键盘结构:

键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按

14

下键时它才闭合。矩阵键盘又称行列式键盘,这种行列式键盘结构能够有效的提高单片机系统中I/O口的利用率。它的结构和产生的波形如图3-11所示。

图3-11键盘结构及产生的波形图

②矩阵键盘工作原理:

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-12所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键来连通。利用这种行列矩阵结构只需N条行线和M条列线,即可组成具有N*M个按键的键盘。这样,一个端口就可以构成4X4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,图3-12中,行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

图3-12 键盘电路原理图

③键盘按键的判断:

上面是一个4x4的键盘,公用4+4=8条接口线,如果按下键8,则第一行的

15

线与第一列的线接通,当前第一行如果是低电平则第一列也输出低电平,而其他没有的列输出为高电平,根据行列线的电平,就可以判断按下的键的行位置。

a)判断有无键按下。

b)去除键的机械抖动。方法是判别到有键按下,延时10ms在读,如仍有键按下,再确定为键按下,否则为抖动。

c)判别按下键的键号。

d)CPU对键的一次闭合只作一次处理。方法是等键释放后再把键值作有效处理。

列扫描法识别键号的工作原理如下:

将第0列变为低电平,其余列为高电平,输出编码为1110。然后读取行的电平,辨别第0列是否有键按下。在第0列上若有某一个按键按下,则相应的行被拉到低电平,则表示第0列和此行相交的位置上有键按下。若没有任一条行线为低电平,则说明列上无键按下。

将第1列变为低电平,其余列为高电平,输出编码为本1101。然后通过输入口读取各行的电平。检测其中是否有变为低电平的行线。若有键按下,则进而辨别哪一行有键按下,确定按键位置。

将第2列变为低电平,其余列为低电时平,输出编码为本1011。辨别是否有哪一行按键按下的方法同上。

将第3列边为第电平,其余列为低电平时,输出编码为本0111。辨别是否有哪一行按键按下的方法同上。 3.2.3显示电路设计 ①温度显示工作原理:

LCD1602可以采用两种方式与单片机连接,一种是采用8位数据总线D0—D7,和RS、R/W、EN三个控制端口;另一种是只用D4-D7作为四位数据分两次传送。本实验将使用并采用八位数据方式来控制1602显示,如图3-13所示:

16

图3-13 AT89C51与LCD1602接口电路图

进行LCD设计主要是LCD的控制/驱动和外界的接口设计。控制主要是通过接口与外界通信、管理内/外显示RAM,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动LCD进行显示。控制器还常含有内部ASCII字符库,或可外扩的大容量汉字库。

AT89C51的P3.7与LCD1602的使能端E相连,P3.6与读写选择端R/W相连,P3.5与RS相连,当使能端使能时,再通过命令选择端来控制读数据,写数据,写命令。控制P2端口与LCD1602A的数据端口相连,传输数据。 ②LCD1602的性能参数

LCD1602A的管脚排列如图3-14、,它共有16个脚,各引脚功能如下: VSS: 电源地 VDD:电源正极

VL:液晶显示偏压信号,对比度调整端, 接地时最高,接正电源最低,可接10K 电位器调整

RS: 寄存器选择,高电平选择数据寄存低电平选择指令寄存器

R/W 读/写选择端,高电平读操作,低电平写操作

E使能信号,当E端由高电平跳变成低电平时,液晶模块执行命令 BLA背光源正极图 BLK背光源负极 D0~D7数据端口

芯片的主要技术参数及应用配置:

显示容量: 芯片工作电压: 工作电流: 模块最佳工作电压: 字符尺寸: 16×2个字符 4.5~5.5V 2.0mA(5.0V) 5.0V 2.95×4.35(WXH)mm 器

图3-14 LCD1602A的管脚

17

表3-15LCD1602A主要技术参数

指令码 0 0 1 1 1 0 0 0 功能 设置16*2显示,5*7点阵, 8位数据接口 表LCD 1602A显示模式

指令码 功能 D=1开显示 D=0 关显示 0 0 0 0 1 D C B C=1 显示光标C=0 不显示光标 B=1 光标闪烁B=0 光标不闪烁 N=1 当读/写一个字符后,地址指针加1,且光标加1; N=0 当读/写一个字符后,地址指针减1,且光标减1; S=1 当写一个字符,整屏显示左移(N=1)或者右移(N=0),以得到光标不移动而整屏移动的效果; S=0 当写一个字符,整屏显示不移动。 表3-17 LCD1602A显示开/关及光标设置

0 0 0 0 0 1 N S

编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 符号 VSS VDD VL RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 电源地 电源正极 液晶显示偏压信号, 数据/命令选择端(H/L) 读/写选择端(H/L) 使能信号 Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O 背光源正 背光源负 表3-18 LCD1602A接口信号说明

③LCD1602的显示与控制命令

18

1602液晶模块内部的字符发生内存(CGROM)已经存储了160个不同的点阵字符图形,如下图所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

1602液晶模块内部的控制器共有11条控制指令,如表2所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)

指令1:清显示,指令码01H,光标复位到地址00H位置; 指令2:光标复位,光标返回到地址00H;

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效;

指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有游标,低电平表示无游标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁;

指令5:光标或显示移位元S/C:高电平时移动显示的文字,低电平时移动光标;

指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符;

指令7:字符发生器RAM地址设置; 指令8:DDRAM地址设置;

指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙;

指令10:写数据; 指令11:读数据;

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 3.2.4 报警电路设计

电路板上的550(Q1)三极管驱动一个无源蜂鸣器,构成一个简单的音响电路,

19

该电路利用单片机的一个引脚作为驱动来源,经Q1驱动后发声,这一引脚是P1.1脚。由于采用了无源蜂鸣器,所以P1.1输出低电平时,蜂鸣器不会发声,需要输出一个脉冲信号蜂鸣器才会发声,脉冲信号的频率决定了蜂鸣器发出的声音的音调的高低。电路如图3-19所示:

20

第4章 系统软件设计

4.1 软件设计总体思路及主程序流程图

本系统采用C语言编写,主程序主要由四部分构成,系统通电后首先初始化系统,依次完成温度采集、温度处理、数据显示、键盘处理等四项功能。温度采集部分主要完成4个温度测试点的温度数据采集任务;温度处理部分主要是将采集到的温度数据与用户设定的各点上下限温度值进行比较处理,并判断是否超出设定的上下限值,如果超出则蜂鸣器报警;数据显示部分主要实现温度数据的显示,显示方式根据设计要求支持1到4个温度测试点的轮流循环显示和固定显示两种方式;键盘处理部分主要实现用户对系统参数的设置,结合显示部分,实现用户与系统之间的人机接口。系统软件主流程如图4-1所示:

开始 系统初始化 温度采集 温度处理 数据显示 键盘处理

图4-1 系统软件总流程图

21

4.2 测温模块流程图

读温度 初始化温度传感器 扫描键盘选定所需芯片 选定所需芯片 进行温度转换 读取温度 调试显示子程序 子程序返回

图4-2 DSl8B20操作流程图

22

4.2.1 温度的采集

每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入DSl8B20,用读ROM(33H)命令将该DSl8B20的序列号读出并登录。当主机需要对众多在线DSl8B20的某一个进行操作时首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该DSl8B20的48位序列号)之后的操作就是针对该DSl8B20的,而所谓跳过ROM命令即为之后的操作,是对所有DSl8B20的框图中先有跳过ROM即是启动所有DSl8B20进行温度变换之后通过匹配ROM再逐一地读回每个DSl8B20的温度数据在DSl8B20组成的测温系统中主机在发出跳过ROM命令之后再发出统一的温度转换启动码44H就可以实现所有DSl8B20的统一转换再经过1s后就可以用很少的时间去逐一读取这种方式,使其T值往往小于传统方式。由于采取公用的放大电路和A/D转换器只能逐一转换,显然通道数越多这种省时效应就越明显。

4.2.2 多点温度的测量

单总线 已经挂接了4个DS18B20。由于已经在上面获取了多个DS18B20的ROM代码并在AT89C51单片机内部的中建立了测量位置点和传感器64位ROM代码之间的关系表,因此对多个温度的巡回测量的步骤如下:

(1)发跳过ROM命令CCH。

(2)发启动所有在线的DS18B20进行温度转换命令44H。 (3)延迟1s。

(4)发匹配ROM命令55H。

(5)按照AT89C51中建立的关系表的顺序取出64位ROM代码发送到单总线。

(6)发读温度值命令BEH,读取温度值。

(7)进行CRC校验和数据处理后送LCD显示器显示。 (8)重复第4步到第7步,直到所有的DS18B20测量处理完。 (9)再重复第1步到第8步,进行下一轮的巡回测量。

如果只对某一个DS18B20进行温度测量,只要将第1步跳过ROM命令CCH,改为匹配ROM命令55H,将拨动开关拨到和要测量的DS18B20的编号相对应的数值上,单片机读取拨动开关的数值(编号)n,到AT89C51建立的关系表中从(n -1)

23

×8开始的单元取出ROM代码发送到总线,去掉第8步,其余和上面步骤相似即可。测试中,DS18B20选择芯片出厂时默认的12位转换精度,转换的结果用16位符号扩展的二进制补码读数形式提供。

初始化 设置18B20个数 跳过ROM 符合ROM 等待1S 读存储器 初始化 缓冲指针增一 初始化 否 B-1=0? 是

图4-3 多路温度测量电路流程图

4.3 显示模块流程图

开始 初始化LCD1602 写显示地址 写显示字符 子程序返回 图4-4 LCD1602A操作流程图

24

4.4 键盘扫描流程图

按键处理程序通过扫描按键情况,读取键值。主要完成各点温度传感器上下限报警参数设置和显示模式设置。

(1)通过扫描键盘读取键值,流程图如图4-5所示:

键盘扫描 N 有键闭合 Y 延时去键抖动扫描键盘 N 找到闭合键 Y 计算键值 N Y 闭合键释放 建立无效标志 建立有效标志 返回

图4-5 键盘扫描程序流程图

(2)设置报警上、下限值

DS18B20设有温度上下限报警功能。DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的E2PROM。当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。由于静态RAM掉电后信息即丢失,因此需要再通过拷贝

25

RAM命令48H将第2和第3字节单元的温度报警限值拷贝到E2PROM中。主程序只要在初始化部分使用重调E2PROM命令B8H,就可以将E2PROM中的温度报警限值重新拷贝到静态RAM中。

26

第5章 元器件安装及调试

5.1元器件安装

(1)在安装元件前要先认识和检测元件,一些常见元件的认识与检测如下:

① 电容:电容在这里用到的是瓷片电容和电解电容,其外围上面都有标记,我们只需检测其好坏。在利用万用表检测时要注意如果为电解电容红表笔应接负极,黑表笔接正极。对于2200pF以下的电容用万用表R×10kΩ或R×100kΩ测量,2200pF以上可以用R×1kΩ或R×100kΩ档测量。档次调整好了和表笔接好后,观察万用表指针是否较大的偏转,然后由最大的偏转慢慢的减小至最小值(或零),如果是上述情况则证明该电容有充、放电的功能,为好电容。如果发现万用表指针不偏转说明该电容开路。当万用表指针偏转至最大(阻值为零)说明该电容已击穿。

② 色环电阻:我们在此使用的是五个色环标志的电阻。此类电阻前三环表示有效数字,第四环表示倍率,与前四环距离较大的第五环表示允许偏差。

③ 二极管:在此装置中要用到发光二极管,对于发光二极管一般引脚长的那端为正极,引脚短的那端为负极。这是粟老师教给我的简便方法。

④ 三极管:在此装置中,我们用到8550型号三极管,在使用三极管前我们首先要确定它的c、e和b极。用万用表检测三极管的极性时,首先确定基极b:用万用表R×1KΩ或R×10KΩ档,然后用黑(红)表笔任意测量两极直到指针有较大摆动为止,把黑(红)表笔固定,用另一只表笔红(黑)表笔测量另一极,直至指针仍有较大的摆动,这时可确定固定的表笔为b同时根据表笔的颜色可以知道NPN(PNP)型。其次对c和e极的判断为:假设某极为c极,然后用黑表笔点住集电极c,红表笔点e。在用手捏住c和b极,观察指针摆动度。然后对换表笔,重复前面操作,观察指针摆动度。比较摆动度较小的那表笔为集电极c,剩下的为e。在此过程中,我总是不能一下子就能分别出它的三个极,要经过反复的测量,才确定它的三个极。

认识了元器件后,下面介绍安装时应遵循一些基本的要求与原则: (2)安装元件时的基本要求:

① 保证导通与绝缘的电气特性,电气连接的通与断是安装的核心这里所说的通与断,不仅是安装后简单的使用万用表测试的结果,而且要考虑在振动,长期工作,湿度等自然条件变化的环境中,都能保证通者恒通,断者恒断。

27

② 保证传热的要求,在安装中,必须考虑某些零部件在传热,电磁方面的要求。

③ 保证机械强度,电子产品在使用过程中,不可避免的需要运输和搬动,会发生各种有意或无意的振动和冲击,如果机械安装不够牢固,电气连接不够可靠,都有可能因为加速度的瞬间受力使装置受到损害。

④ 安装时接地与屏蔽要充分利用,接地与屏蔽一是消除外界对产品的电磁干扰;二是消除产品对外界的电磁干扰;三是减少产品内部的相互电磁干扰。 (3)安装元件时应注意以下原则:

① 装配时,应该先安装那些需要机械固定元器件,在此装置中如稳压管、中心芯片插座。

② 为避免因元器件发热而减弱铜箔对基板的附着力,并防止元器件的裸露部分同印制导线短路,安装时元器件应离开面板约1~2mm。

③ 各种元器件的安装,应该使它们的标记(用色码或字符标注的数值,精度等)朝上面或易于是辨认的方向,并注意标记的读数方向一致 (从左到右或从上到下)。

④ 在安装元器件时应与焊接同步进行操作。

焊接是制造电子产品的重要环节之一,如果没有相应的工艺质量保证,如何一个设计精良的电子装置都难以达到设计指示。现在按照以下三个步骤进行焊接。

(4)对焊点的基本要求:

① 光洁整齐的外观,良好的焊点要求焊料用量恰到好处,外表有金属光泽,没有粒尖,桥接等现象,并且不伤及导线的绝缘层及相邻元器件。

② 足够的机械强度,焊接不仅起到电气连接的作用,同时也是固定元器件,保证机械强度连接的手段。

③ 可靠的电气连接,焊接是电子线路从物理上实现电气连接的主要手段,锡焊连接不是靠压力而是靠焊接过程形成的牢固连接的合金层达到电气连接的目的。

(5)焊接前的准备:

为了提高焊接的质量和速度,避免虚焊等缺点,应该在装配以前对焊接表面进行可焊性处理—镀锡。镀锡实际上就是液态焊锡对被焊金属表面浸润,形成不同于被焊接金属又不同于焊锡的结合层,由这个结合层将焊锡于待焊金属这两种

28

性能不相同材料牢固连接起来。其中镀锡有以下工艺要求:

① 待镀表面应该清洁。

② 温度要足够高,被焊金属表面的温度,应该接近焊锡熔化时的温度,才能与焊锡形成良好的结合层。在这里我们用烙铁接近元器件引脚对其进行回热。

③ 要使用有效的助焊剂,在焊接电子产品时,广泛使用酒精松香水作为助焊剂。这种助焊剂无腐蚀性,在焊接时去除氧化膜,增强焊锡的流动性,使焊点可靠美观,在制作该装置中我们也使用酒精松香水作为助焊剂。 (6)焊接操作

在做好焊接前准备工作后就可以对元器件进行焊接操作了,在这里我们用35W的圆斜面外热式烙铁对其进行焊接,在焊接时掌握好电烙铁温度和焊接时间,选择恰当的烙铁头和焊点的接触位置,才可能得到良好的焊点,其操作步骤为以下五个:

① 准备施焊,左手拿焊丝,右手握烙铁,进入备焊状态,要求烙铁头保持干净,无焊渣等氧化物,并在表面镀有一层焊锡。

② 加热焊件,烙铁头靠在两焊件的连接处,加热整个焊件全体,在对于印制板器件来说,要注意使烙铁头同时接触焊盘和元器件的引线。

③送入焊丝,焊件的焊接面被加热到一定温度时,焊锡丝从烙铁对面接触焊件,注意不要把焊丝送到烙铁头上。

④ 移开焊丝,当焊丝熔化一定量后,立即向左上45度方向移开焊丝。 ⑤ 移开烙铁,焊锡浸润焊盘和焊件的施焊部位以后,向右上45度方向移开烙铁,结束焊接。

5.2产品调试

5.2.1测试环境及工具

测试温度:0~100摄氏度。(模拟多点不同温度值环境) 测试仪器:,温度计0~100摄氏度,keil 51软件。 测试方法:目测。 5.2.2温度检测部分测试

用蜡烛放在DS18B20附近,一支温度计同时放在附近,然后通电,将DS18B20测到的温度显示到LCD上。将两者测到的温度进行比较,发现二者温度相近,然后用杯子装冷水放在DS18B20附近,再次比较,发现二者温度差距,

29

通过测试可知温度检测部分电路工作正常。

采用温度传感器和温度计同时测量多点温度变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。 5.2.3电路主板测试

我们将电路主板通电后,用Easy 51Pro软件检测发现无器件。我们又测量AT89C51芯片20脚和40脚之间发现无5V电压。由此可见,电源回路有问题。于是我们仔细检查了回路发现20脚的地线没有与其他地线相连,将其接好发现工作正常。 5.2.4统一调试

将硬件及软件结合起来进行系统的统一调试。实现PC机与单片机通讯,两者可以实时更新显示各点温度值。

30

总 结

经过几个月的不断学习和努力,在粟老师的谆谆教导下,在其他老师及同学们的热心帮助与指导下,基于单片机的单总线多点温度测控系统的毕业设计即将结束,基本完成了老师所规定的各项工作任务。

本次设计的基于DS18B20的多点温度测量系统是一种分布式的温度测量系统,它可以远程对温度实现测量和监控,广泛应用于电力工业、煤矿、森林、火灾、高层建筑等场合。系统采用单总线技术,按照DS18B20的通信协议,由主机向DS18B20发送命令,读取DS18B20转换的温度,从而实现对多个环境的温度的测量。当温度超过一定的值时,报警器开始报警。

本文介绍了用单片机AT89C51控制DS18B20以及着重分析各单元电路的设计,以及各电路与单片机的接口技术。最后还给出系统的软件的设计过程,使用了C语言进行程序设计。本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。

在还没有做毕业设计之前,我认为只不过是对我们三年学习的一个总结而已,但是当我开始接触这个设计的时候才发现这不仅是对三年学习的一个总结,而且对自己的动手能力和人际关系的处理也有了很大能力的提高,开始以为这个设计很容易做出来,有点眼高手低的感觉.但是,当我真正做起来的时候才发现自己的知识还很欠缺,还有很多知识没有掌握.通过这次设计我明白了学习是个不断积累的过程,在生活和工作中应当不断的积累,才能提高自己.

在这次毕业设计中使我和老师的关系更进了一步,在这几周的时间里,我和指导老师经过了很多次交流,通过和老师的交流使我学会了很多设计技巧及方法.有不懂的地方及遇到自己难以解决的问题便向老师请教,老师每次都是不厌其烦的耐心指导我,并一步一步把我引向成功.我在老师那里不仅学到了很多额外的知识,同时也学到了不少解决问题的方式方法,在此我非常感谢帮助过我的指导老师粟慧龙老师.

在这次设计中我觉得和同学的关系更进一步了,有什么不明白的地方大家一起讨论一下,更加增进了我们之间的感情.团队的协作使我们感受到了同学们之间的友谊.比如说:我和王晓帅在调试板子的时候发现检测不到51芯片,我们俩测量发现51芯片的20脚和40脚之间没有5V电压.于是,我们就检查供电回路发现20脚的接地端与其他地线没接上。通过这件事更加增加了我们的团队合作能力。

31

经过这一次毕业设计,我学了不少的知识,学会了怎样查阅资料和利用工具书,以及熟练地使用PROTEUS仿真软件和KEIL开发工具。通过这次毕业设计,我更加深刻地认识到只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自已的所学,认识到自己的不足。

32

参考资料

[1]何立民,单片机高级教程.北京航空航天大学出版社.2004.7 [2] 粟世明,刘湘涛.单片机原理与应用.电子工业出版社.2006.8 [3] 何立民,单片机中级教程.北京航空航天大学出版社.1999.12

[4] 李华,MCU-51系列单片机实用接口技术.北京:北京航空航天大学出版社,1993.6

[5] 陈光东,单片机微型计算机原理与接口技术(第二版).武汉:华中理工大学出版社,1999.4

[6] 徐淑华,程退安,姚万生.单片机微型机原理及应用.哈尔滨:哈尔滨工业大学出版社,1999. 6.

[7] 锻九州,放大电路实用设计手册.沈阳:辽宁科学技术出版社,2002.5 [8] 马田华等,可编程单总线数字式温度传感器DS18B2的原理与应用.电子质量,2004.7

[9] 于永学等,1-Wire总线数字温度传感器DS18B20及应用.电子产品世界,2003.12

[10] 张胜全,D18B20数字温度计在微机温度采集系统中的序编制. 南京:南京大学出版社1998. 3

[11] 周晗晓,袁慧梅.单片机系统的印制板设计与抗干扰技术.电子工艺技术,2004 .6

[12] http://cn.ic-on-line.cn/ [13] http://www.cnki.net

33

致 谢

毕业论文终于完成了,在此之际,我思绪万千,心情久久不能平静。回顾四年学习期间的一千余个日日夜夜,自己为课题的研究,静心钻研,潜心研究,并取得初步研究成果而感到欣慰。欣慰之余,心里感动一丝沉重:我即将离开我的老师和同学们。

非常感谢学校的领导,感谢粟慧龙老师及我的答辩老师。他们为我做毕业设计提供了条件,并且在百忙之中抽出时间对我的毕业设计给予了详细的指导和细心的修改。在他们的帮助下,我的课题的设计任务得以顺利完成。他们严谨的治学态度和踏实的工作作风给我留下了深刻的印象,是我学习的榜样。在此,向粟老师致以最诚挚的谢意。同时还要感谢教育和指导过我的所有老师,你们给予我的不仅仅是知识,还有你们对知识孜孜不倦的追求精神和对生活的积极向上态度,使我终身受益。我将在以后的工作中继续努力,不断学习,努力提高自己。路漫漫其修远兮,吾将上下而求索。我愿在未来的学习和研究过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学、同事和朋友,一并表示感谢!

最后,再次向他们表示我最诚挚的谢意,我将以最大的热情投入到工作中,以报答所以帮助我过的老师和同学。

34

J3321TEMPR14.7k18B20AT89S51/C51TEMP1SPK2345P156P167P178P10P11P12P13P14P15P16P17INT1/P33INT0/P32T1/P35T0/P34EA/VPX1X2RESETP00P01P02P03P04P05P06P07LED213FS12C233PWRRSVCC31LED1R4LED1RSTLED2RD/P37WR/P36ENRD1716910LED1113029VCCR8SPKF1L1C3100UF/16VRET1R6200C4R710uF10KRSTSPK300MAVCCVCC4.7KLS1LED22.2kR52.2kRXD/P30TXD/P31ALE/PPSEN15143938373635343332L0L1L2L3H0H1H2H3VCCU1J4J5X1XTAL1X2C111.0592M33PP20P21P22P23P24P25P26P272122232425262728LCD1602D0D1D2D3D4D5D6D7R2GND1VCC2VL3RS4WR510EKN6D07D18D29VCCD310D411D512R3D61310D714BIA1516GNDVCCVLRSR/WED0D1D2D3D4D5D6D7BLABLKJ1P17GNDP16VCCRST12345678P159GND10ISPJ2

附录一

35

VCCX1X219181GND2VCC3VL4WR5RD6EN7RS8VCC9D010D111D212D313D414D515D616D717FS18GND19BIA20FGGNDVCCVLCDWRRDCECDRSTDB0DB1DB2DB3DB4DB5DB6DB7FSBLKBLA12864L0L1L2L3H0H1H2H387654321KEYJ6Q18550C5104VCC123POWERC6104C7104

附录二

Part Type 2.2k 2.2k 4.7K 4.7k 10 10K 10K 10uF 11.0592M 18B20 33P 33P 100UF/16V 104 104 104 200 300MA 8031AH 8550 12864 ISP KEY LCD1602 POWER SPK SW-PB

Designator R5 R4 R8 R1 R3 R7 R2 C4 XTAL1 J3 C1 C2 C3 C6 C7 C5 R6 F1 U1 Q1 J5 J1 J2 J4 J6 LS1 RET1

Footprint AXIAL0.3 AXIAL0.3 AXIAL0.3 AXIAL0.3 AXIAL0.3 AXIAL0.3 RP EC2\\5 CRY CZ4\\1\\3 CC2.5 CC2.5 EC5\\8 CC2.5 CC2.5 CC2.5 AXIAL0.3 AXIAL0.3 DIP40 8550 SIP-20 PIN10 SIP8 SIP16 POWER SOC3 SPK 4\\WD

36

本文来源:https://www.bwwdw.com/article/forr.html

Top