1、西安文理学院课程设计报告 西安文理学院物理与机械电子工程学院 课程设计报告 专业班级 2011 级测控 技术与仪器 一班 课 程 单片机课程设计 题 目 基于 51 单片机的数字温度计的设计 学 号 0703110135 学生姓名 王 强 指导教师 陈 琦 2014 年 5 月 西安文理学院课程设计报告 西安文理学院物理与机械电子工程学院 课程设计任务书 学生姓名 王 强 专业班级 11 级测控一班 学 号 0703110135 指导教师 陈 琦 职 称 讲师 教研室 B0406 课 程 单片机课程设计 题 目 基于 51 单片机的数字温度计的设计 任务与 要求 1、 学会使用 51 单片机,
2、并对其内部结构进行深入的了解。 2、 了解 DS18B20 的原理以及使用方式。 3、 对于共阳极、共阴极数码管有个清楚的认识和掌握。 4、 测得的结果范围在 -55125 度,精度为 0.5。 开始日期 2014 年 5 月 12 日 完成日期 2014 年 5 月 25 日 2014 年 5 月 28 日 西安文理学院课程设计报告 基于 51 单片机的数字温度计的设计 摘 要 本设计主要介绍了一个基于 AT89C51 单片机的测温系统,详细描述了利用数 字温度传感器 DS18B20 开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电
3、路也一一进行了介绍 ,该系统可以方便的实现温度采集和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。 DS18B20 与 AT89C51 结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词: 单片机;数字 温度传感器;最简温度检测系统 ; 目录 目录 1 绪论 . 1 1.1 选题的目的和意义 . 1 1.1.1选题的目的 . 1 1.1.2选题的意义 . 1 2 数字温度计的设计方案 .
4、1 2.1 设计方案的确立及论证 . 1 2.2 系统器件选择 . 2 2.2.1 单片机的选择 . 2 2.2.2 温度传感器 的选择 . 2 3 系统硬件电路的设计 . 4 3.1 温度检测电路 . 4 3.2 显示电路 . 5 4 系统软件的设计 . 6 4.1 概述 . 6 4.1.1 温度数据的计算处理方法 . 7 4.2 主程序模块 . 7 4.3 读温度值模块 . 8 4.4 中断模块 . 9 4.5 数 码管驱动模块 . 10 5 实验仪器及元件清单 . 11 6 心得体会 . 13 致谢 . 15 参考文献 . 17 附录:源程序 . 19 西安文理学院课程设计报告 第 1
5、页 1 绪论 1.1 选题的目的和意义 1.1.1选题的目的 利用单片机 AT89S51 和温度传感器 DS18B20 设计一个设计温度计,能够测量 -55 125 之间的温度值,用 LCD液晶屏直接显示,测量精度为 0.5 。通过这次设计能够更加了解数字温度计的工作原理和熟悉单片机的发展和应用,巩固所学的知识。 1.1.2选题的意义 随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器 DS18B20 具有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。 又随着电子技术的发展,人们的生活日趋数字化,多功能的数
6、字温度计可以给我们的生活带来很大的方便;支持 “ 一线总线 ” 接口的温度传感器简化了数字温度计的设计,降低了成 本;以美国 MAXIM/DALLAS 半导体公司的单总线温度传感器 DS18B20 为核心,以 ATMEL公司的 AT89S51 为控制器设计的 DS18B20 温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。 本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计
7、算机技术)中,传感器属于信息技术的前沿尖端产 品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关。 2 数字温度计的设计方案 2.1 设计方案的确立及论证 基本功能要求: (1)温度测量范围: -55125 度 西安文理学院课程设计报告 第 2 页 (2)测量精度: 0.5 度 (3)显示方式:四位显示 (4)能够运用 Protues 仿真 2.2 系统器件选择 2.2.1 单片机的选择 对于单片机的选择,可以考虑使用 8031与 8051系列,由于 8031没有内部 RAM,系统又需要大量内存存储数据,因而不适用。 A
8、T89C51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可编程的 Flash 只读程序存储器 ,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程( ISP),也可用传统方法进行编程,所以低价位 AT89C51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池 供电。 2.2.2 温度传感器的选择 DS18B20 简单介绍 : D
9、ALLAS 最新单线数字温度传感器 DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。 DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为 -55 +125 摄氏度,可编程为 9位 12 位转换精度,测温分辨率可达 0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。被测温度用符号扩展的 16位数 字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个 DS18B20可以并联到 3 根或 2 根线上, CPU只需一
10、根端口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 DS18B20 的性能特点如下: 独特的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处西安文理学院课程设计报告 第 3 页 理器与 DS18B20的双向通讯 DS18B20支持多点组网功能,多个 DS18B20可以并联在唯一的三线上,实现组网多点测温 DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 适应电压范围更宽,电压范围:
11、3.0 5.5V,在寄生电源方式下可由数据线供电 测 温范围 55 125, 精度为 0.5 零待机功耗 测量结果直接输出数字信号,以“一线总线”穿行传送给 CPU,同时可传送 CRC校验位,具有极强的抗干扰纠错能力 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 以上特点使 DS18B20非常适用与多点 、远距离温度检测系统。 DS18B20内部结构主要由四部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。 DS18B20的管脚排列、各种封装形式如图 4.2 所示, DQ 为数据输入 /输出引脚。开漏单总线接口引脚。当被用着在寄
12、生电源下,也可以向器件提供电源 ; GND为 地信号 ; VDD为 可选择的 VDD引脚。当工作于寄生电源时,此引脚必须接地。 西安文理学院课程设计报告 第 4 页 外部封装形式 传感器电路图 3 系统硬件电路的设计 本设计由 DS18B20 温度传感器芯片测量当前的温度并将转换后的结果送入单片机。然后通过 A89C51 单片机驱动两位共阳极 8段 LED 数码管显示测量温度值。如附录中本设计硬件电路图所示,本电路主要有 DS18B20 温度传感器芯片,两位共阳极数码管, AT89C51单片机及相应外围电路组成。其中 DS18B20 采用“一线制”与单片机相连。 3.1 温度检测电路 DS18
13、B20 最大的特点是单总线数据传输方式, DS18B20 的数据 I/O 均由同一条线来完成。 DS18B20 的电源供电方式有 2 种 : 外部供电方式和寄生电源方式。工作于寄生电源 方式时 , VDD 和 GND 均接地 , 他在需要远程温度探测和空间受限的场合特别有用 , 原理是当 1 W ire 总线的信号线 DQ 为高电平时 , 窃取信号能量给 DS18B20 供电 , 同时一部分能量给内部电容充电 , 当 DQ 为低电平时释放能量为 DS18B20 供电。但寄生电源方式西安文理学院课程设计报告 第 5 页 需要强上拉电路 , 软件控制变得复杂 (特别是在完成温度转换和拷贝数据到 E
14、2PROM 时 ) , 同时芯片的性能也有所降低。外部电源供电方式是 DS18B20 最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点 温度监控系统。因此本设计采用外部供电方式。如下图所示: 温度传感器 DS18B20 的测量范围为 -55 +125,在 -10 +85时精度为0.5。因为本设计只用于测量环境温度,所以只显示 0 +85。 3.2 显示电路 本设计显示电路采用四位共阴极 LED 数码管来显示测量得到的温度值。 LED 数码管能在低电压下工作,而且体积小、重量轻、使用寿命长,因次本设计选用此数码管作为显示器件。 一个 LED 数码管只能显示
15、一位的字符,如果字符位数不止一位,可以用几个数码管组成,但要控 制多位的显示电路需要有字段控制和字位控制,字段控制是指控制所要显示的字符是什么,控制电路应将字符的七段码通过输出口连接到 LED 的 a g 引脚,是某些段点亮,某些段处于熄灭状态。字位控制是指控制在多位显示器中,哪几位发光或那几位不发光,字位控制则需要通过字位码作用于 LED 数码管的公共引脚,是某一位或某几位的数码管可以发光。 数码管显示电路分为动态显示和静态显示。 静态显示方式是指每一个数码管的字段控制是独立的,每一个数码管都需要配置一个 8 位输出口来输出该字位的七段码。因此需要显示多位时需要多个输出口,通常片内 并口不够
16、用,需要在片外扩展。 动态显示又称为扫描显示方式,也就是在某一时刻只能让一个字位处于选通状态,其他字位一律断开,同时在字段线上发出该位要显示的字段码,这样在某一时刻某一位数码管就会被点亮,并显示出相应的字符。下一时刻改变所显示的字位和字段码,点亮另一个数码管,显示另一个字符。绕后一次扫描轮流点亮其他数码管,只要扫描速度快,利用DS18B20 4.7K +5V +5V 西安文理学院课程设计报告 第 6 页 人眼的视觉残留效应,会使人感觉到几位数码管都在稳定的显示。 本设计采用数码管动态显示,电路如下图所示: 显示部分电路 图中由单片机 P0 口串接 74HC245 驱动四位共阴极 数码管,上拉电
17、阻排为 10K。 4 系统 软件 的设计 4.1 概述 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据 系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模