《基于DS18B20的恒温控制器设计毕业设计(26页).doc》由会员分享,可在线阅读,更多相关《基于DS18B20的恒温控制器设计毕业设计(26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于DS18B20的恒温控制器设计毕业设计-第 21 页基于DS18B20的恒温控制器设计Designed of The Constant Temperature Which is based on DS18B20摘 要恒温控制在任何地方都有着举足轻重的地位,在工业生产中,温度的控制直接影响着工业生产;在家庭中,其直接影响着生活的品质与安慰。本设计是基于AT89C51单片机的恒温箱控制系统,系统分为硬件和软件两部分,其中硬件包括:温度传感器、显示、控制和报警的设计;软件包括:键盘管理程序设计、显示程序设计、控制程序设计和温度报警程序设计。编写程序结合硬件进行调试,能够实现设置和调节初始温度值
2、,用LCD显示,当加热到设定值后立刻报警。另外,本系统通过软件实现对按键误差、加热过冲的调整,以提高系统的安全性、可靠性和稳定性。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C52作为主控芯片,LCD屏作为显示输出,实现了对温度的实时测量与恒定控制。关键词:单片机 传感器 温度AbstractTemperature control in any place has a pivotal role in the industrial production, the control of the temperature directly
3、 affect the industrial production; In the household, its directly influences the quality of the life and comfort .The design is based on AT89C51 single-chip microcomputer control system of the constant temperature box, the hardware and software system is divided into two parts, including hardware in
4、cluding: temperature sensor display and control and alarm design; The software includes: the keyboard management program design shows that the program design control program design and temperature alarm program design write a program combining hardware debugging, will be able to realize the Settings
5、 and adjusting the initial temperature, use LCD display, when heated to set data immediately after the alarm in addition, the system through the software to realize error heated flush buttons adjustment, the security of the system to improve the reliability and stability.Key words:AT89C52 temperatur
6、e sensor temperature目录摘 要IAbstractII绪 论11 硬件电路的设计21.1 总体设计21.1.1 系统实现的功能21.1.2 系统实现方案的选择21.1.3 系统整体结构的布局21.2 单片机31.2.1 单片机的应用范围31.2.2 单片机的分类41.2.3 单片机的端口介绍41.3 DS18B2061.3.1 DS18B20的应用范围61.3.2 DS18B20的内部结构61.3.3 DS18B20温度测量电路61.3.4 DS18B20的工作原理81.4 DS130281.4.1 DS1320的功能及结构81.4.2 DS1302实时显示时间的软硬件91.
7、5 LM016L显示屏91.5.1 LM016L结构和功能91.5.2 LCD在仿真中的连接102 软件电路设计122.1 系统主程序的设计122.2 系统子程序的设计132.2.1 LCD显示程序132.2.2 DS18B20的子程序142.2.3 DS18B20初始化模块152.2.4 控制器对18B20操作流程162.2.5 DS18B20读取温度的程序17结 论19致 谢20参考文献21附录一 仿真实现图22附录二 部分程序23绪 论 在科技急速发展的今天,各种各样的智能化仪器也随之而产生。温度是生产过程和科学实验中普遍的且十分重要的物理参数,它反映了物体的冷热程度;温度控制是工业及其
8、生活中常常遇到的过程控制,它具有举足轻重的地位,在工业生产中,其温度的控制效果直接影响着产品的质量;在家居生活中,其温度控制效果直接影响的人们身体的舒适度及其安全。所以设计一种较为理想的温度控制系统是非常有价值的。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行。本设计从实际应用出发选取了体积小、精度相对高的数字式温度传感元件DS18B20作为温度采集器,单片机AT89C51作为主控芯片,LCD显示屏作为显示输出,三个按键来实现
9、恒定温度的设置,蜂鸣器实现报警作用,实现了对温度的实时测量与恒定控制的作用。1 硬件电路的设计1.1 总体设计1.1.1 系统实现的功能设计基于AT89C52单片机的厨房控制系统,用于控制温度,实现的功能如下:温度实现在0-99度连续可调, 温度误差小于等于1,通过按键设置需要到达的温度值,LCD显示屏上面显示预定的温度以及当前测试到的温度和当时准确的时间。当温度超过预设温度时,报警器开始报警,并伴随的LED灯的闪亮。1.1.2 系统实现方案的选择选择合适的温度传感器芯片。显然,本文中的核心器件是单片机和温度传感器,单片机采用常用的AT89C52单片机即可,而温度传感器的选择则需慎重,若采用热
10、敏电阻,可满足4090的测量范围,但热敏电阻精度、重复性、可靠性都比较差,其测量温度范围相对较小,稳定性较差,不能满足本系统温度控制的范围要求,所以我决定采用数字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55125,采用独特1-WIRE 总线协议,只需一根口线即实现与MCU 的双向通讯,具有连接简单,高精度,高可靠性等特点。并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。1.1.3 系统整体结构的布局 以AT89C52为核心,输入电路由温度采集电路及按键电路构成,输出电路是由控制电路,显示电路以及声光报警电路构成,结构图如下图1-1所示AT89C52控
11、制电路温度采集器显示电路按键电路声光报警电路图1-1 系统结构布局图1.2 单片机所谓单片机(m1crocontroller)是指在一个集成芯片中,集成微处理器(CPU)、存储器、基本的I/O接口以及定时/计数、通信部件,即在一个芯片上实现一台微型计算机的基本功能。1970年微型计算机研制成功之后,随着就出现了单片机(即单片微型计算机)。美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,特别是1976年MCS-48单片机问世以来,在短短的二十几年间,经历了四次更新换代,其发展速度大约每二、三年要更新一代、集成度增加一倍、功能翻一番。其发展速度之快、应
12、用范围之广,已达到了惊人的地步,它已渗透到生产和生活的各个领域。尽管目前单片机的品种很多,但其中最具典型性的当数Intel公司的MCS-51系列单片机。MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它仍然是8位的单片机,但其功能有很大的增强。由于PHILIPS、ATMEL、WELBORD、LG等近百家IC制造商都主产51系列兼容产品,具有品种全、兼容性强、软硬件资料丰富等特点。因此,MCS-51应用非常广泛,成为继MCS-48之后最重要的单片机品种。直到现在MCS-51仍不失为单片机中的主流机型。国内尤以Intel的MCS-51系列单片机应用最广。由于8位单片机的高性能价格比
13、,估计近十年内,8位单片机仍将是单片机中的主流机型。单片机也被称为微控制器(Microcontroller),由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统集成于同一硅片的器件。单片机用于控制有利于实现系统控制的最小化和单片化,简化一些专用接口电路,如编程计数器、锁相环(PLL)、模拟开关、A/D和D/A变换器、电压比较器等组成的专用控制处理功能的单板式微系统。1.2.1 单
14、片机的应用范围(1) 在智能仪器表上的应用:单片机具有功耗低,控制能力强,扩展灵活,使用方便等优点,广泛应用于仪器表中,结合不同的传感器,可实现诸多功能的实现。(2) 在工业控制中的应用:用单片机可以构成形式多样的控制系统,数据采集系统等等。(3) 在家用电器中的应用:在这个领域中最大的特点就是量大面广并且价格廉价,如电饭锅,电子游戏机等等。(4) 在计算机网络和通信领域中的应用:如我们日常用的手机,电话机,自动通信呼叫系统等等,都是通过单片机智能控制的。(5) 在医用设备领域的应用:例如医用的呼吸机,各种分析仪,监护仪等等里面都是含有单片机,通过单片机实现控制。(6) 在各种大型电器中模块化
15、应用:某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用。(7) 在汽车设备领域中的应用:单片机在汽车领域中应用的非常广泛,如汽车的发动机控制器,GPS导航系统等等。1.2.2单片机的分类(1) 通用型/专用型 这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。 (2) 总线型/非总线型 这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可
16、通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。 (3) 控制型/家电型 这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算 能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。1.2.3单片机的端口介绍(1) 单片机的P0口单片机中的P0口既可以作为通用的I/O口进行数据的输入和输出,也可以作为单片机系统的地址
17、/数据线使用,并且P0口得电路中有一个多路转换电路MUX。在控制信号的作用下,多路接电路可以分别接通锁存器输出或地址/数据线。我出于对此的考虑,所以在P0口在做输入输出接口时,加上了拉电阻,其阻止我查资料,可以选择4.7千欧到10千欧。又因为P0口能驱动8个LSTTL负载及P0每位口灌入的最大电流是10mA,8位总共不能超过26mA。所以在本次设计中,我将P0与8个10K的电阻丝相连,防止突然大电流将单片机与LCD显示屏的被烧坏。如下图1-2所示:图1-2 单片机P0口接口电路(2) 单片机的P2口P2口电路中比P1口多了一个多路转换开关MUX,这正好与P0口一样。P2口可以作为通用I/O口使
18、用,在本次设计中,我将P2.0,P2.1与报警电路中的LED灯相连接,控制LED灯的亮灭,当输入低电平时,LED灯亮,反之LED灯灭。将P2.4,P2.5,P2.6口分别控制显示屏的寄存器,读写信号线和使能端,接口电路如图1-3所示:图1-3 单片机P2口的接口电路1.3 DS18B20DS18B20是美国DALLAS公司生产的单线数字温度传感器芯片,具有结构简单体积小,功耗小,抗干扰能力强,使用简单等优点。数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后
19、的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 1.3.1 DS18B20的应用范围(1) 其适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域 。(2) 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 (3) 汽车空调、冰箱、冷柜、以及中低温干燥箱等。 (4) 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。1.3.2 DS18B20的内部结构DS18B20主要有内部寄生电源,64位
20、激光ROM和单线接口,高速RAM,温度上下限存储器,CRC循环冗余效验码发生器,温度传感器以及配置存储器等几部分组成。DS18B20片内有一个64位激光ROM,存储CRC效验码,48位标识码(序列号)和型号代码,DS18B20的型号代码为28H。结构如图1-4所示:图1-4 DS18B20内部结构1.3.3 DS18B20温度测量电路下图画出一了DS 18B20与微处理器的典型连接。图1-5 (a)中DS 18B20采用寄生电源方式,其VDD和GND端均接地,图1-5(b)中DS 18B20采用外接电源方式,其VDD端用+3V-+5.5V电源供电。 图1-5 DS18B20独立供电与寄生供电方
21、式准确度测量温度对生产过程至关重要,许多场合要求被测温度准确度高于0.5或更高,用传统的冷端补偿方法显然不能满足要求。采用集成数字温度传器DS18B20不仅可以降低系统成本,减小设备体积,同时具有广泛的通用性。 工作于寄生电源方式时,V DD和GND均接地,它在需要远程温度探测和空间受限的场合特别有用,原理是当1-Wier总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到EZPROM时),同时芯片的性能有所降低。因此,在条件允许
22、的场合,尽量采用外供电方式。在本温度测量系中,采用独立电源供电方式。在我这次的设计中,用单片机的P1口来控制温度传感器,P1.3连接DS18B20DQ端,并通过上拉电阻接电源,设计仿真图1-6如下:图1-6 DS18B20与单片机的接口图1.3.4 DS18B20的工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同。我的程序中在对编写DS18B20温度读取函数中分了如下三个参考步骤为:(1) 转换,其中转换又分为三个步骤:1.复位;2写入跳过ROM的字节命令;3写入开始转换的功能命令;4延迟大约750900毫秒。(2) 读暂存数据,其中暂存数
23、据分为六个步骤:1复位;2写入跳过ROM的字节命令;3写入开始转换的功能命令;4读入第0个字节LS Byte,转换结果的低八位;5读入第1个字节MS Byte,转换结果的高八位;6复位,表示读取暂存结果。(3) 出数据的十进制,其中分为4个步骤:1整合LS Byte和MS Byte的数据;2判断是否为正负数;3求得十进制值。正数乘以0.0625,一位小数点乘以0.625,二位小数乘以6.25;4十进制的“个位”求出。(程序在后面给付出)1.4 DS1302DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年
24、补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。1.4.1 DS1320的功能及结构DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vc
25、c2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。1.4.
26、2 DS1302实时显示时间的软硬件DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。图1-7示出DS1302与89C2051的连接图,分别于89C52的P34,P35,P36相连接。 图1-7 DS1320与89C52的连接图1.5 LM016L显示屏LM016L液晶模块采用 HD44780控制器。 HD44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。LM016L与单片机 MCU(Microcontroller Unit)通讯可采用 8位或者 4位并行传输两种方式。 HD44780控制器由两个 8位寄存器、指令寄存器( IR)和数据寄存器
27、(DR)、忙标志(BF)、显示数据 RAM(DDRAM)、字符发生器ROM(CGROM)、字符发生器 RAM(CGRAM)、地址计数器( AC)。IR用于寄存指令码,只能写入不能读出;DR用于寄存数据,数据由内部操作自动写入 DDRAM和CGRAM,或者暂存从DDRAM和 CGRAM读出的数据。BF为 1时,液晶模块处于内部处理模式,不响应外部操作指令和接受数据。 DDRAM用来存储显示的字符,能存储 80个字符码。 CGROM由 8位字符码生成 5*7点阵字符 160种和 5*10点阵字符 32种,8位字符编码和字符的对应关系,可以查看参考文献3中的表 4。CGRAM是为用户编写特殊字符留用
28、的,它的容量仅 64字节。可以自定义 8个 5*7点阵字符或者 4个 5*10点阵字符。 AC可以存储 DDRAM和 CGRAM。1.5.1 LM016L结构和功能1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:表一 LM016L引脚介绍引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)4RSRS为寄存器选择,高电平1时选择
29、数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4底4位三态、 双向数据总线 4位12DB5底4位三态、 双向数据总线 5位13DB6底4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)15BLA背光电源正极16BLK背光电源负极1.5
30、.2 LCD在仿真中的连接 在本次设计中,我是通过单片机的P0口来连接LCD显示屏的双向数据总线,P2.4,P2.5,P2.6分别于显示屏的寄存器,数据总线以及使能端相连接。VEE通过一滑动变阻器接地。如图1-8所示:图1-8 LCD与单片机的连接 2 软件电路设计2.1 系统主程序的设计在软件设计时,必须先弄清恒温控制系统的操作过程和工作过程。首先设定温度,显示器显示温度。温度检测系统不断检测并显示系统中的实时温度,当达到设定值后,报警器鸣叫,LED灯闪烁。使温度保持在设定范围之内。若要改变设定的温度,可以直接通过安检来设置根据以上对操作和工作过程的分析,程序应分为两个阶段:一是通过按键设定
31、、显示器显示设定温度;二是检测并显示系统的实时温度,并根据检测的结果控制室内温度。因此,程序可以分为以下几个功能模块:温度设定和启动;显示;温度检测;温度控制以及报警。主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括按键程序,中断程序,以及各个控制端口的初始化工作。流程图如2-1 所示。系统在初始化完成后就进入温度测量程序,将实时的测量的温度和日期通过显示电路在LCD上显示。程序中以中断的方式来重新设定温度的上下限。根据硬件设计完成对温度控制。按下按键设定温度的加减。主程序流程图2-1所示:开始初始化启动DS18B20读温度LCD显示温度是否超过设置温度发光报警结束NY图2-1
32、 主程序的流程图2.2 系统子程序的设计2.2.1 LCD显示程序本设计中,采用的LCD显示屏动态显示,LCD将显示的时间以及设置的温度和当前测量的温度,将其与单片机的P1端口连接。部分流程图如图2-2所示:开始P1口赋值调用延时子程序P0口赋值调用延时子程序结束图2-2 LCD显示的子程序流程图2.2.2 DS18B20的子程序单片机控制DS18B20的温度转换必须按照DS18B20的命令流程。首先执行初始化时序,然后单片机发出跳过ROM命令(代码为CCH),单片机再发出启动转换命令(代码为44H),启动DS18B20完成温度转换。接着再执行初始化时序,然后单片机发出匹配ROM命令(代码为5
33、5H)并向数据线上发出64位序列号,再发出读9个字节命令(代码为BEH),就可以读出智能温度传感器DS18B20对应序列号完成温度转换之后的相应正确温度。基于DS18B20的温度采集与处理流程图如图2-3所示。图2-3 DS18B20程序流程图2.2.3 DS18B20初始化模块DS18B20的初始化时序时主机总线t0时刻发送一复位脉,冲(最短为480us的低电平信号)接着在t1时刻释放总线并进入接收状态DSl8B20在检测到总线的上升沿之后等待15-60us接着DS18B20在t2时刻发出存在脉冲(低电平持续60-240us)如图中虚线所示初始化时序图如图2-4所示: 图2-4 DS18B2
34、0初始化时序图 初始化模块的程序为: void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(20);2.2.4 控制器对18B20操作流程: (1) 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接
35、到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 (2) 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3) 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是
36、对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令)。 (4) 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是
37、芯片控制的关键。 (5) 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。2
38、.2.5 DS18B20读取温度的程序读温度程序的设计就是首先跳过读序号列号的操作然后接着启动温度转换,跳过读序号列号的操作,读取温度寄存器等,其中总共有9个可读的寄存器。程序如下: unsigned int ReadTemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x44); delay(200);Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0xBE); a=
39、ReadOneChar(); b=ReadOneChar(); b=8;t=a+b;return(t);结 论在课程设计的过程中,较多的时间是用来查阅资料,因为还是第一次做电子课程设计,图书馆的资料很有限,所以一般通过网上查阅,在此查阅期间,我学会了怎样使用超星阅读器和PDF阅读器。在调试过程中,故障是不可避免的,或者正如老师所说没有故障反而还不正常。产生故障的原因很多,情况也很复杂,有的是一种原因引起的简单故障,有的上多种原因相互作用引起的复杂故障,因此需要掌握故障的一般诊断方法,故障诊断过程就是以故障现象出发,通过反复测试,做出分析判断,逐步找出故障的过程。对于一个复杂的系统来说,要在大量
40、的元器件和线路中迅速,准确地找出故障是见很不容易的事。要通过对原理图的分析,把系统分成不同功能的电路模块,通过逐一测量找出故障模块,然后再对故障模块内部加以测量找出故障,查找故障,分析故障和排除故障,这样可以提高我分析问题和解决问题的能力,因此,我把它看成是一次好的学习机会。通过电子线路课程设计,我了解了电子产品设计的一般过程,掌握电子线路设计的基础方法和一般过程,能用仿真软件对电子线路进行仿真设计,能用Portel等软件绘制PCB图,掌握了电子电路调试的方法,能独立解决设计与调试过程中出现的一般问题,能正确选用元器件与材料,能对所设计电路的指标和性能进行测试并提出改进意见,能查阅各种有关手册
41、和正确编写设计报告。致 谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。 伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给我的论文指导老师胡劲老师和陈善宝老师,在我迷惑不解的时候给我指点迷津,他认真负责的态度使我印象很深刻。我不是最出色的学生,而您们却是我最尊敬的老师。您们治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立
42、了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经由您们悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。 在论文即将完成之际,我的心情无法平静, 感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。我还要要感谢所有关心过我,帮助过我的同学,他们在我成长过程中给予了我很大的帮助。我还要感谢我的大学,是它给我知识和精神上的财富,这比什么都重要。本文能够成功的完成,让我获得了丰富的理论知识,极大地提高了实践能力。参考文献1 沙占友. 集成温度传感器原理与应用. 北京:机械工业出版社,20022 刘君华. 智能
43、传感器系统. 西安:西安电子科技大学出版社,19993 沙占友. 智能化传感器原理与应用. 北京:电子工业出版社,20044 赵负图. 传感器集成电路手册. 北京:化学工业出版社,20025 张毅刚. MCS-51单片机原理及应用. 哈尔滨:哈尔滨工业大学出版社,20046 李玉峰,倪虹霞 MCS-51系列单片机原理与接口技术. 北京:人民邮电出版社,20047 林伸茂. 8051单片机彻底研究经验篇. 北京:人民邮电出版社,20048 沙占友. 单片机外围电路设计. 北京:电子工业出版社,20039 何希才. 传感器及其应用电路. 北京:电子工业出版社,200110 康华光.电子科技基础.(
44、第五版).北京高等教育出版社,200611 沈任元.吴勇.常用电子元器件简明手册.机械工业出版社,200612 Paul R.Gray.Analog MOS Integrated Circuits. Inst of Electrical.200913 AT89C51 DATA SHEEP Philips Semiconductors 1999. 14 Vizimuller, PRF design guide-systems, circuits, and equations (ArtechHouse, Boston, MA, 1995)15 石明江,顾亚雄,张禾,. 单片机原理与应用课程教学改革
45、与实践J. 计算机教育,2011,(6). 16 翟永前,蒋芳芳,. 基于MSP430单片机的智能数字电压表设计J. 化工自动化及仪表,2011,(3). 17 许超,吴新杰,张丹,. 基于Proteus和Keil的单片机课程教学改革J. 辽宁大学学报(自然科学版),2011,(1). 附录一 仿真实现图附录二 部分程序#include #include #include #include#include#include#include#includevoid main()init_LCD();init();set=read_add(23);write_set(set);while(1)key
46、scan(); if(flag1=0)miao=Read1302(READ_SECOND);write_sfm(12,miao);fen=Read1302 (READ_MINUTE);write_sfm(9,fen);shi=Read1302(READ_HOUR);write_sfm(6,shi); if(flag=1)if(flag_get=1) /定时读取当前温度 temp=ReadTemperature(); if(temp&0x8000) write_com(0x80+0x40+9); write_data(-); temp=temp; / 取反加1 temp +=1; else write_com(0x80+0x40+9); write_data( )