当前位置:文档之家› 数字温度计毕业论文

数字温度计毕业论文

理工类专业

规范格式

2009 届毕业设计(论文)

材料

系、部:

学生姓名:

指导教师:

职称

专业:

班级:

学号:

2009年5月

材料清单

1、毕业设计(论文)课题任务书

2、指导教师评阅表

3、答辩及最终成绩评定表

4、毕业设计说明书

5、附录材料

2009 届毕业设计(论文)课题任务书

1

系:电气与信息工程系专业:电气自动化技术指导教师学生姓名

课题名称基于单片机并行口的数字温度计的设计

内容及任务

设计任务:

设计一个基于AT89S52单片机的数字温度计。

设计内容:

1、利用AT89S52单片机、DS18B2O,LCD显示器等器件构成数字温度计;

2、编制数字温度计运行的程序;

3、数字温度计应能准确测量被测温度;

4、数字温度计功能说明及总体方案介绍;

5、数字温度计的工作原理;

6、数字温度计硬件系统设计;

7、数字温度计元件清单;

8、单元电路及芯片介绍;

9、程序流程图;

10、数字温度计软件系统程序清单;

11、硬、软件的调试。

拟达到的要求或技术指标1、利用AT89S52单片机、DS18B2O,LCD显示器等器件构成数字温度计;

2、编制数字温度计运行的程序;

3、数字温度计应能准确测量被测温度;

进起止日期工作内容备注

2

2009/3/27~2009/3/29

2009/3/30~2009/4/2

2009/4/3~2009/4/9

2009/4/10~2009/4/24

2009/4/25~2009/5/9

2009/5/10~2009/5/16

2009/5/17~2009/5/19

2009/5/20~2009/5/23 学生收集资料、熟悉毕业设计(论文)课题

总体方案设计

硬件系统设计及电路制作

软件系统设计

系统调试

编写毕业设计(论文)说明书

教师评阅设计(论文),学生进行总结、准备答辩

毕业设计(论文)答辩

0.5周

0.5周

1 周

2 周

2 周

1 周

0.5周

0.5周

主要参考资料[1] 李朝青,单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998

[2] 李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994

[3] 阎石.数字电子技术基础(第三版).北京:高等教育出版社,1989

[4] 廖常初.现场总线概述[J].电工技术,1999.

教研室

意见

年月日

系主管领导

意见

年月日

3

湖南工学院2009 届毕业设计(论文)指导教师评阅表

系:电气与信息工程系

学生姓名学号班级 1

专业电气自动化技术指导教师姓名

课题名称基于单片机并行口的数字温度计的设计

评语:(包括以下方面,①学习态度、工作量完成情况、材料的完整性和规范性;②检索和利用文献能力、计算机应用能力;③学术水平或设计水平、综合运用知识能力和创新能力;)

该生毕业设计态度端正,能很好地领会毕业设计任务书的具体要求和任务,具备一定的搜集资料的能力,能够按时、按质、按量完成指导教师下达的毕业设计任务,具有较强的计算机应用能力,毕业设计文档资料齐全,文档格式符合规范要求。毕业设计达到了一定的水平,同意该生参加毕业答辩!

是否同意参加答辩:是□否□指导教师评定成绩分值:

指导教师签字:年月日

4

5

湖南工学院2009 届毕业设计(论文)答辩及最终成绩

评 定 表

系(公章):电气与信息工程系

说明:最终评定成绩=a+b ,两个成绩的百分比由各系自己确定,但应控制在给定标准的10%左右。

学生姓名

学号

班级

1

答辩

日期 课题名称

基于单片机并行口的数字温度计的设计

指导 教师

成 绩 评 定

分值

评 定

小计

教师1

教师2

教师3

教师4

教师5

课题介绍 思路清晰,语言表

达准确,概念清楚,论点正确,实验方法科学,分析归纳合理,结论严谨,设计(论文)

有应用价值。

30

思维敏捷,回答问题有理论根据,基本概念清楚,主要问题回答准确大、深入,知识面宽。

必 答 题 40

自 由 提 问

30

合 计 100

答 辩 评 分

分值:

答辩小组长签名: 答辩成绩a :

×40%= 指导教师评分

分值:

指导教师评定成绩b : ×60%=

最终评定成绩:

分数: 等级:

答辩委员会主任签名:

年 月 日

2009 届毕业设计说明书

基于单片机并行口的数字温度计的设计

系、部:电气与信息工程系

学生姓名:

指导教师:

职称副教授

专业:电气自动化

班级:

完成时间:

6

摘要

本文将介绍一种基于单片机控制的数字温度计,就是用单片机实现温度测量,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于AT89S52单片机的数字温度计的设计用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求,可以用于温度等非电信号的测量,主要用于对测温比较准确的场所,或科研实验室使用,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。

关键词温度计;单片机;数字控制;DS18B20

7

ABSTRACT

This article will introduce the single-chip microcomputer-based control of a digital thermometer is used to achieve single-chip temperature measurement, the traditional detection of most of the temperature thermistor for temperature sensor, but the poor reliability of thermistors, temperature measurement accuracy of low - , and must go through a special interface circuit to convert the digital signal processed by the single chip. The use of digital temperature sensor DS18B20 to AT89S52 microcontroller-based design of digital thermometer with LCD digital control to the serial transmission of data, temperature display, accurate to achieve the above requirements, can be used for temperature measurement and other non-electrical signal, mainly used for more accurate temperature measurement sites, or research laboratory use, can work independently of the single-chip temperature detection, temperature control system has been widely used in many areas

Key words Thermometer;Single-chip;Digital Control;DS18B20

8

目录

1绪论 (11)

1.1前言 (11)

1.2数字温度计设计方案论证 (11)

1.2.1方案一 (11)

1.2.2方案二 (11)

1.3方案二的总体设计框图 (11)

1.3.1 主控制器 (12)

1.3.2 温度传感器 (12)

2硬件电路设计 (17)

2.1主要芯片介绍 (17)

2.1.1 AT89S52的介绍 (17)

2.1.2 AT89S52各引脚功能介绍 (17)

2.2主板电路 (20)

2.3显示电路 (21)

3软件设计 (22)

3.1主程序流程图 (22)

3.2读出温度子程序流程图 (23)

3.3温度转换命令子程序流程图 (24)

3.4计算温度子程序流程图 (24)

3.5显示数据刷新子程序流程图 (25)

4P ROTEUS仿真调试 (26)

4.1P ROTEUS软件介绍 (26)

4.2P ROTEUS界面介绍 (27)

4.2.1 原理图编辑窗口 (27)

4.2.2 预览窗口 (27)

4.2.3 模型选择工具栏 (28)

4.2.4 元件列表 (28)

4.2.5 方向工具栏 (29)

4.2.6 仿真工具栏 (29)

9

4.3本次设计仿真过程 (30)

4.3.1 创建原理图 (30)

4.3.2 绘制的仿真原理图如 (31)

4.3.3 系统调试 (32)

4.3.4 开始仿真 (33)

4.4总结与体会 (34)

参考文献 (35)

致谢 (36)

附录1程序清单 (37)

附录2元器件清单 (45)

附录3原理图 (46)

附录4PCB图 (47)

10

1 绪论

1.1 前言

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机已经在测控领域中获得了广泛的应用

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用LCD数码管以串口传送数据,实现温度显示,能准确达到以上要求。

1.2 数字温度计设计方案论证

1.2.1 方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

1.2.2 方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

1.3 方案二的总体设计框图

温度计电路设计总体设计方框图如图1.1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,用LCD液晶显示屏以串口传送数据实现温度显示:

11

12

图1.1 总体设计方框图

1.3.1 主控制器

单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

1.3.2 温度传感器

DS18B20温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。 DS18B20的性能特点如下:

●独特的单线接口仅需要一个端口引脚进行通信;

●多个DS18B20可以并联在惟一的三线上,实现多点组网功能; ●无须外部器件;

●可通过数据线供电,电压范围为3.0~5.5V; ●零待机功耗;

●温度以9或12位数字; ●用户可定义报警设置;

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用3脚PR -35封装或8脚SOIC 封装,其内部结构框图如图2.2所示:

主 控 制 器

LCD

传 感 器

单片机复位

时钟振荡

13

图1.2 DS18B20内部结构

64位ROM 的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC 检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM 。高速暂存RAM 的结构为8字节的存储器,结构如图2.3.2所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图2.3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

I/O

C

64 位 ROM 和 单 线 接 口

高速缓存

存储器与控制逻辑

温度传感器

高温触发器TH 低温触发器TL

配置寄存器 8位CRC 发生器

Vdd

14

图1.3 DS18B20字节定义

由表1.1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC 码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB 形式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表1.2是一部分温度值对应的二进制温度数据。

表1.1 DS18B20温度转换时间表

温度 LSB 温度 MSB TH 用户字节1 TL 用户字节2 配置寄存器

保留 保留 保留 CRC

R0R1

000101

119101112分辨率/位温度最大转向时间/ms

93.75187.5375750

.

.

.

.

TM R11

R01111

.

.

.

.

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。

在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。

DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

15

表1.2 一部分温度对应值表

温度/℃二进制表示十六进制表示

07D0H

+125 0000 0111 1101

0000

0550H +85 0000 0101 0101

0000

+25.0625 0000 0001 1001

0191H

0000

00A2H

+10.125 0000 0000 1010

0001

0008H

+0.5 0000 0000 0000

0010

0000H

0 0000 0000 0000

1000

FFF8H

-0.5 1111 1111 1111

0000

FF5EH

-10.125 1111 1111 0101

1110

FE6FH

-25.0625 1111 1110 0110

1111

FC90H -55 1111 1100 1001

0000

16

2 硬件电路设计

2.1 主要芯片介绍

2.1.1 AT89S52的介绍

选用的AT89S52与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能列举如下:

(1)为一般控制应用的 8 位单片机

(2)晶片内部具有时钟振荡器(传统最高工作频率可至 33MHz)

(3)内部程式存储器(ROM)为 4KB

(4)内部数据存储器(RAM)为 128B

(5)外部程序存储器可扩充至 64KB

(6)外部数据存储器可扩充至 64KB

(7)32 条双向输入输出线,且每条均单独做 I/O 的控制

(8)5 个中断向量源

(9)2 组独立的 16 位定时器

(10)1 个全双工串行通信端口

(12)8751 及 8752 单芯片具有数据保密的功能

(13)单芯片提供位逻辑运算指令

2.1.2 AT89S52各引脚功能介绍

VCC:

ATAT89S52 电源正端输入,接+5V。

VSS:

电源地端。

XTAL1:

单芯片系统时钟的反向放大器输入端

XTAL2:

系统时钟的反向放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之间加入一个 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。

RESET:

17

AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。

EA/Vpp:

"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。

ALE/PROG:

ALE是英文"Address Latch Enable"的缩写,表示地址锁存器启用信号。ATAT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为ATAT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。

PSEN:

此为"Program Store Enable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。ATAT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。

PORT0(P0.0~P0.7):

端口0是一个8位宽的开路电极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0~A7,再配合端口2所送出的A8~A15合成一组完整的16位地址总线,而定位地址到64K的外部存储器空间。

PORT2(P2.0~P2.7):

端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL 负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在ATAT89S52扩充外接程序存储器或数据存储器时,也

18

提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。

PORT1(P1.0~P1.7):

端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL 负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX 功能,可以做外部中断输入的触发引脚。

PORT3(P3.0~P3.7):

端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。

其引脚分配如下:

P3.0:RXD,串行通信输入。

P3.1:TXD,串行通信输出。

P3.2:INT0,外部中断0输入。

P3.3:INT1,外部中断1输入。

P3.4:T0,计时计数器0输入。

P3.5:T1,计时计数器1输入。

P3.6:WR:外部数据存储器的写入信号。

P3.7:RD,外部数据存储器的读取信号。

19

相关主题
文本预览
相关文档 最新文档