毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc

上传人:土8路 文档编号:10159071 上传时间:2021-04-24 格式:DOC 页数:36 大小:1.25MB
返回 下载 相关 举报
毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc_第1页
第1页 / 共36页
毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc_第2页
第2页 / 共36页
毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc_第3页
第3页 / 共36页
毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc_第4页
第4页 / 共36页
毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89S51单片机的数字温度计设计.doc(36页珍藏版)》请在三一文库上搜索。

1、 毕业论文设计毕业论文设计 题目:题目: 基于基于51单片机的数字温度计设计单片机的数字温度计设计 姓姓 名:名: 所在系部:所在系部: 班级名称:班级名称: 学学 号:号: 指导老师:指导老师: 2010 年年 12 月月 设计(论文)任务书毕业设计(论文)任务书毕业 设计(论文)题目:基于基于 5151 单片机的数字温度计设计单片机的数字温度计设计 指导教师:职称:类别:毕业设计 学生:学号:设计(论文)类型:论文 专业:班级:是否隶属科研项目:否 1、设计(论文)的主要任务及目标 本设计是以 AT89S51 单片机为核心,利用 DS18B20 温度传感器作为温度采集点,通过 3 个 SM

2、4105 共阳极数码管以及 74LS244 等元件组成的数字温度计。此温度计能够根据温度的变化 自动调节显示。最大显示温度为 100 度,最小显示-10 度。 2、论文的主要内容 (1)89S51 单片机的原理 (2)DS18B20 温度传感器结构 (3)74LS224 反相器简介 (4)电路原理图 3、论文的基本要求 (1)严格按照学院机电专业毕业设计格式要求 (2)论文必须包含中英文的摘要,参考文献等 (3)论文必须从硬件和软件方面对设计内容进行阐述 (4)论文中保留有单片机的编程、软件仿真技术及系统调试方法的痕迹 (5)在附录中包有整个电子琴系统设计的电路图 (6)设计时,能正确理解电子

3、琴系统设计的目的和要求,掌握系统设计的一般程序 (7)通过设计具有收集参考资料加以消化、归纳的能力 (8)通过设计具有调研、收集、查阅资料、分析判断确定设计/论文方案的能力 (9)通过设计具有归纳、整理技术资料,撰写技术文件的能力 (10)通过设计具有阐述论证设计/论文成果及其技术答辩的能力 4、主要参考文献 1 张洪润单片机应用技术教程M 北京:清华大学出版社,1997 2 李广弟单片机基础M 北京:北京航空航天大学出版社,2001 3 万光毅单片机实验与实践教程M 北京:北京航空航天大学出版社,2001 4 何立名MCS-51 系列单片机应用系统设计系统配置与接口技术M 北京:北京航空航

4、天大学出版社,1990 5 蔡美琴MCS-51 单片机系统及应用M 北京:高等教育出版社,1992 6 马彪单片机应用技术M 上海:同济大学出版社,2009 7 陈忠平单片机原理及接口M 北京:清华大学出版社,2007 8 李华MCS-51 系列单片机实用接口技术M 北京:北京航空航天大学出版社,2000 9 韩志军,刘新民数字温度传感器 DS18B20 及其应用J 南京工程学院学报:自然科学 版,2003(1):9-14 10 陈惠明,李燕华,王静滨单片机控制手机的软硬件接口技术及应用J 微计算机信息, 2005(1):139-141 5、进度安排 设计(论文)个阶段任务起至日期 1设计原始

5、资料的准备及系统方案的确定2010-9-13 至 2010-9-17 2控制系统硬件电路设计2010-10-8 至 2010-10-30 3软件编程及调试2010-11-1 至 2010-11-25 4撰写设计说明书,装订及答辩2010-1-2 至 2010-1-8 5合 计( 10 周 ) 目 录 第 1 章 概述.1 1.1 简述 .1 1.2 任务描述 .1 1.3 设计思路 .2 第 2 章 系统主要元器件介绍.3 2.1 单片机的选用及功能介绍 .3 2.2 DS18B20 温度传感器介绍.5 2.2.1 引脚功能.6 2.2.2 DS18B20 内部结构.6 2.2.3 DS18B

6、20 的工作原理.9 2.2.4 DS18B20 的测温原理.12 2.3 74LS244 反相器简介.14 第 3 章 硬件电路的设计.15 3.1 接口设计 .15 3.2 主板电路设计 .15 3.3 其他电路设计 .16 第 4 章 软件设计.19 4.1 主程序.19 4.2 读出温度子程序 .19 4.3 温度转换命令子程序 .20 4.4 计算温度子程序 .20 4.5 显示数据刷新子程序 .21 4.6 主要设计程序 .21 4.7 调试 .23 第 5 章 结束语.24 参考文献.25 致 谢.26 附录一.27 摘 要 本文主要介绍了一种基于AT89S51单片机和DS18B

7、20数字温度传感器来进行测温 的方法。具体设计时,作者对AT89S51和DS18B20进行了接口电路设计,同时利用 74LS244进行段码驱动、实现数码管的显示输出;并在此基础上,通过软件设计实现温 度的数据采集和传输。由于DS18B20数字温度传感器是单总线器件,与AT89S51单片 机组成一个测温系统,具有线路简单、体积小等特点,并且由于是在同一根通信线上, 因此可以扩展、挂接很多这样的测温系统,十分方便。 关键词:数字温度计;AT89S51;DS18B20;74LS244 Abstract This paper presents a temperature- measuring meth

8、od using Single-Chip AT89S51 and Digital Temperature Sensor DS18B20. The author has designed the interface circuit for AT89S51 and DS18B20. 74LS244 is also used to drive the devices by block code and in this way the results and be displayed through the digital display. All data will be collected and

9、 transported by an designed software. The Digital Temperature Sensor DS18B20 is a monobus device, but with the combination of Single-Chip AT89S51, a temperature- measuring system is made. This system has many advantages, such as its simple circuit, small size, etc. This system also brings convenienc

10、e. A number of systems like this can be attached to only one communication line at the same time. Key words: Digital Temperature Sensor; AT89S51;DS18B20;74LS244 第 1 章 概述 1.1 简述 单片机在测控领域中具有十分广泛的应用,它既可以直接处理电信号,也可以间 接处理温度、湿度、压力等非电信号。由于该特点,因而被广泛应用于工业控制领域。 另一方面,由于单片机的接口信号是数字信号,因此使用它来进行温度、湿度、 压力等这类非电信号的信息

11、处理,必须使用对应的传感器进行A/D或D/A转换,最后再 传输给单片机进行最终的数据处理和显示。在测温领域,人们通常使用温度传感器, 将温度信息转换为电流或电压进行输出,进而完成数据的处理和显示。 本文正是基于温度传感器和单片机而构建的电路,进而完成温度的测量和显示。 温度传感器的发展经历了三个发展阶段: 传统的分立式温度传感器 模拟集成温度传感器 智能集成温度传感器。 目前使用最广的是智能温度传感器 (亦称数字温度传感器) ,是在20世纪90年代中 期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出 温度数据及相关的温度控制量,适配于各种微控制器(MCU)。社会

12、的发展使人们对传 感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字 式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准 化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技 的方向迅速发展,本文将介绍了智能集成温度传感器DS18B20的结构特征及控制方法, 并以此传感器为测温元件,AT89S51单片机为控制核心,构成的数字温度测量装置, 并对其的工作原理及程序设计作了详细的介绍。 1.2 任务描述 设计要以 AT89S51 单片机为核心,利用 DS18B20 温度传感器作为温度采集点, 通过 3 个 SM4105 共阳极数

13、码管以及 74LS244 等元件组成的数字温度计。此温度计能 够根据温度的变化自动调节显示。最大显示温度为 100 度,最小显示-10 度。 1.3 设计思路 单片机的接口信号是数字信号。要想用单片机获取温度这类非电信号的信息,必 须使用温度传感器,将温度信息转换为电流或电压输出。如果转换后的电流或电压输 出是模拟信号,还必须进行AD转换,以满足单片机接口的需要。传统的温度检测大 多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度准确率低, 而且还必须经专门的接口电路转换成数字信号后才能由单片机进行处理。本文介绍一 种采用数字温度传感器实现的基于单片机的数字温度计。 设计单片机数

14、字温度计需要考虑以下3个方面: 温度传感器芯片的选择; 单片机和温度传感器的接口电路; 控制温度传感器实现温度信息采集以及数据传输的软件。 第 2 章 系统主要元器件介绍 2.1 单片机的选用及功能介绍 AT89S51 是美国ATMEL公司生产的低功耗,高性能CMOS型8位单片机,片内含 4Kbytes 的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。它集Flash ROM程序存储器,并支持可在线编程(ISP)功能;另一方面,由于价格低、因而被广 泛应用于许多高性价比的场合,如工业控制、消费电子等各种控制领域,对于简单的 测温系统而言,它已经足够。单片机AT89S51具有低

15、电压供电和体积小等特点,四个 端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用 系统可用二节电池供电。设计中采用89S51单片机。其主要特性如下: 与MCS-51产品指令系统完全兼容; 4K字节可编程闪烁存储器; 1000擦写周期; 4.05.5V工作电压范围; 全静态工作:0Hz-33MHz; 程序存储器具有3级加密保护; 128*8位内部RAM; 32可编程I/O线; 两个16位定时器/计数器; 6个中断源和2个优先级; 可编程全双工串行通道; 图2.1 89S51单片机引脚图 低功耗的闲置和掉电模式; 看门狗(WDT)及双数据指针; 具有JTAG接口,可方便地在

16、线编程或在系统编程。 AT89S51 单片机为40引脚双列直插式封装。其引脚排列和逻辑符号如图2.1 所示。 各引脚功能简单介绍如下: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口 的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以 被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH 进行校验时,P0输出原码,此时P0外部电位必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出 4TTL门电流。P1口管脚写入“1”后,电位被

17、内部上拉为高,可用作输入,P1口被 外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和 校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个 TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。 作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘 故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输 出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地 址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口

18、在FLASH编 程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。 当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于 外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为 AT89C51的一些特殊功能口:P3.0 RXD(串行输口);P3.1TXD(串行输出口) ;P3.2 INT0(外部中断0);P3.3 INT1(外部中断1) ;P3.4 T0(定时器0外部输入);P3.5 T1(定时器1外部输入);P3.6 WR (外部数据存储器写选通);P3.7 RD (外部

19、数据存储 器读选通)。同时P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地 位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变 的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输 出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过 一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在 执行MOVX,MOVC指令时ALE才起作用。另

20、外,该引脚被略微拉高。如果微处理 器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周 期PSEN两次有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。 EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定 为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也 用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.2 DS18B20 温度传感器介绍 DS18B20 是美国 DA

21、LLAS 半导体公司推出的一款智能温度传感器。与传统的热 敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读数方式,可以分别在 93.75750ms 内完成 912 位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需一根线读写,温度变换功率来源于数 据总线,总线本身也可以向所挂接的 DS18B20 供电,而无须额外电源。因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、 分辨率等方面都给用户的使用带来了方便,效果也令人满意。 其主要特点如下: 独特的单线接口方式:DS18B20

22、在与微处理器连接时仅需要一条口线即可实现微 处理器与 DS18B20 的双向通讯。 DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一 只三极管的集成电路内。 可用数据线供电,电压范围:+3.0+5.5V。 测温范围:55125,固有测温分辨率为 0.5。 通过编程可实现 912 位的数字读书方式。 用户可自设非易失性的报警上下限值。 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 DS18B20 的管脚排列、各种封装形式如图 2.2 所示 GND DQ Vdd

23、N N N DS18B20P TSOC 1 2 3 4 6 5 图 2.2 DS18B20 的外形及管教排列 2.2.1 引脚功能 DS18B20 为三引脚元件,外形同普通三极管,见图 2.1,引脚功能详见表 2-1 表 2-1 DS18B20 详细引脚功能描述 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向 器件提供电源。 3 VDD 可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。 NC NC Vdd NC NC NC 1 2 3 4 6 5 DQ GN 7 8 DS18B20Z 8-PIN SOI

24、C(150-MIL) 2.2.2 DS18B20 内部结构 DS18B20 主要由 64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL 及 配置寄存器等组成,见图 2.3。 64 位 ROM 和 单 线 接 口 高 速 缓 存 存储器与控制逻 辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 VDD DQ VD1 VD2 C 图 2.3 DS18B20 内部结构图 1)64 位光刻 ROM。开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共 有 48 位,最后 8 位是前 56 位的 CRC 校验码,非挥发的温度报警触发器 TH

25、 和 TL,可通过软件写入用户报警上下限值。64 位闪速 ROM 的结构如下表 2-2 所示。 表 2-2 ROM 结构 8b 位检验 CRC 48 位序列号 8 位工厂代码(10H) MSB LSB MSB LSB MSB LSB 2)9 字节高速缓存存储器,结构如表 2-3 所示 表 2-3 DS18B20 内部存储器结构 字节 0 温度测量值 LSB(50H) 字节 1 温度测量值 MSB(50H) E2PROM 字节 2 TH 高温寄存器 - TH 高温寄存器 字节 3 TL 低温寄存器 - TL 低温寄存器 字节 4 配位寄存器 - 配位寄存器 字节 5 预留(FFH) 字节 6 预

26、留(0CH) 字节 7 预留(IOH) 字节 8 循环冗余码校验(CRC) DS18B20 温度传感器的内部存储器还包括一个高速暂存 RAM 和一个非易失性的 可电擦除的 E2PRAM。高速暂存 RAM 的结构为 8 字节的存储器。头 2 个字节包含测 得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失的,每次上电复位时被刷新。 第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。它的内部存储器结构和字节定 义如表 2-4 和表 2-5 所示。低 5 位一直为,TM 是工作模式位,用于设置 DS

27、18B20 在工作模式还是在测试模式。 表 2-4 DS18B20 字节定义 DS18B20 出厂时该位被设置为 0,用户要去改动,R1 和 R0 决定温度转换的精度位 数,来设置分辨率,详见表 2-5。 表 2-5 DS18B20 分辨率设置 R1 R0 分辨率/位温度最大转向时间/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 由表 2-5 可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应 用中要将分辨率和转换时间权衡考虑。 高速暂存 RAM 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面 所有 8

28、字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。 3)温度数据值格式。 当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通 过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB TM R1 R0 1 1 1 1 1 形式表示。温度值格式见表 2-6 所示。 表 2-6 温度数据值格式 LS 字节 MS 字节 其中“S”为标志位,对应的温度计算:当符号位 S0 时,表示测得的温度值为 正值,可以直接将二进制位转换为十进制;当符号位 S1 时

29、,表示测得的温度值为负 值,要先将补码变成原码,再计算十进制数值。 表 2-7 是一部分温度值对应的二进制温度数据。 表 2-7一部分温度对应值表 温度/ 二进制表示 十六进制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +25.0625 0000 0001 1001 0000 0191H +10.125 0000 0000 1010 0001 00A2H +0.5 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H -0.5 1111 1111 1111

30、0000 FFF8H -10.125 1111 1111 0101 1110 FF5EH -25.0625 1111 1110 0110 1111 FE6FH -55 1111 1100 1001 0000 FC90H 2.2.3 DS18B20 的工作原理 工作时,主机控制 DS18B20 使各种命令对 DS18B20 进行操作:初始化 DS18B20, 发 ROM 功能指令、发存储器操作指令。这些 ROM 和 RAM 指令集如表 2-8 和表 2-9 所示。 23 22 21 20 2-1 2-2 2-3 2-4 S S S S S 26 25 24 表 2-8 ROM 指令表 指令 约定

31、代码 功 能 读 ROM 33H 读 DS18B20 ROM 中的编码 匹配 ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单线总线上 与该编码相对应的 DS18B20 使之作出响应,为下一步对该 DS18B20 的读写作准备 搜索 ROM 0F0H 用于确定挂接在同一总线上 DS18B20 的个数和识别 64 位 ROM 地址,为操作各器件作好准备 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 发温度变换命令,适用 于单片工作。 报警搜索 命 令 0ECH 执行后,只有温度超过设定值上限或者下限的片子才做出响应 表 2-9 RAM 指令

32、表 温度变换 44H 启动 DS18B20 进行温度转换,转换时间最长为 500MS,结果存 入内部 9 字节 RAM 中 读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的第 3,4 字节写上、下限温度数据命令,紧 跟读命令之后,是传送两字节的数据 复制暂存 器 48H 将 E2PRAM 中第 3,4 字节内容复制到 E2PRAM 中 重调 E2PRAM 0BBH 将 E2PRAM 中内容恢复到 RAM 中的第 3,4 字节 读 供 电 方 式 0B4H 读 DS18B20 的供电模式,寄生供电时 DS18B20 发送“0” ,外接 电源供电 D

33、S18B20 发送“1” 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤: 1. 每一次读写之前都必须要对 DS18B20 进行复位; 2. 复位成功后发送一条 ROM 指令; 3. 最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。 复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1560 微秒左右后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 其工作时序包括初始化时序、写时序和读时序,具体工作方法如图 2.4,2.5,2.6 所示。 (1) 初始化时序 响应脉 冲60240 等待15-60 主机最小480 主机复位脉冲 最小480US 图 2.4 初始化时 总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主 机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少 480us,以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1