基于PROTEUS的单片机测温系统的仿真设计 - 图文

更新时间:2023-10-15 23:04:01 阅读量: 综合文库 文档下载

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

题 目:基于

本科毕业设计(论文)

PROTEUS的单片机测温系统的仿真设计

学 院: 机械电子工程学院 专 业: 测控技术与仪器 学 号: 学生姓名: 指导教师: 职 称:

二O一二 年 五 月 十八 日

1

南京林业大学本科毕业设计(论文)

摘 要

随着人们生活水平的不断提高,单片机控制无疑是人们追求目标之一,它给人们带

来了很大的方便,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。

本文从硬件和软件两方面来讲述温度测量过程,在控制过程中应用单片机AT89C52、数字温度传感器DS18B20、共阴极数码管、锁存器74HC573。主要是通过DS18B20数字温度传感器采集温度,以单片机为核心控制部件,并通过存储器进行存储、共阴极数码管显示实时温度的一种数字温度计。软件方面采用C语言来进行程序设计,使指令执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

本设计主要做了如下几方面的工作:一是确定系统的总体设计方案,包括其功能设计、组成与工作原理、设计说明;二是进行硬件电路设计,包括硬件电路构成及测量原理、温度传感器的选择、单片机的选择;三是进行了调试和仿真,获得仿真结果。

经实验测试表明,该系统测量精度高、抗干扰能力强,具有一定的参考价值。该系统设计和布线简单、结构紧凑、体积小、重量轻、性价比高、扩展方便,在大型仓库、工厂、智能化建筑等领域的温度检测中有广阔的应用前景。

关键词:温度测量;数字温度传感器DS18B20;AT89C52单片机;共阴极数码管显示。

南京林业大学本科毕业设计(论文)

Abstract

As people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, including digital thermometer is one example, but people on its demand is higher and higher, to work for modern, scientific research, life, providing better more convenient facilities should be, from most of the single chip microcomputer, all to digital control system, intelligent control direction, the temperature sensor application scope. The number of sensors in the list.

This article from two aspects of hardware and software to tell temperature measurement process, in the main process of single chip microcomputer control application AT89C52, digital temperature sensor DS18B20, cathode tube of digital, latches 74 HC573, mainly through digital temperature sensor DS18B20 collection temperature, with the single chip processor as the core to control components, and through the memory storage, liquid crystal display shows real-time temperature of a digital thermometer. Software using C language program to design, make the instruction execution speed, save storage space. In order to facilitate the expansion and the change, the software design using modular structure, make the program design logical relationship more concise and clear, make the hardware in the software under the control of the harmonious operation.

This design is the major of the following aspects of work: one is sure the design of the whole system solutions, including the function design, composition and working principle, design descriptions; 2 it is hardware circuit design, including hardware circuit structure and measuring principle, the temperature sensor of choice, the choice of the single chip microcomputer; 3 it is the testing and simulation, get the simulation results.

The test results show that the system measurement precision, strong anti-interference, concrete the certain reference value. The system design and wiring is simple, compact structure, small volume, light weight, high performance/price ratio, expansion of convenient, in the large warehouse, factory, intelligent building and other areas of temperature in detecting have broad application prospects.

Keywords: temperature measurement; Digital temperature sensor DS18B20; AT89C52 single chip microcomputer; The cathode tube of digital display.

南京林业大学本科毕业设计(论文)

目 录

摘要.........................................................................................................................................................Ⅰ Abstract...................................................................................................................................................Ⅱ 第一章 概 述 .................................................................................................................................. 1

1.1 课题研究的背景 ..................................................................................................................... 1 1.2 课题研究的意义 ..................................................................................................................... 1 1.3 课题设计的目的 ..................................................................................................................... 2 1.4 课题设计的任务及要求 ......................................................................................................... 2 第二章 系统总体设计 .......................................................................................................................... 3

2.1 系统的功能设计 ..................................................................................................................... 3 2.2 系统的组成与工作原理 ......................................................................................................... 3 2.3 系统设计说明 ......................................................................................................................... 4 第三章 系统硬件电路的设计 .............................................................................................................. 5

3.1 系统硬件电路构成及测量原理 ............................................................................................. 5

3.1.1 系统硬件电路构成 ...................................................................................................... 5 3.1.2 系统工作原理 .............................................................................................................. 6 3.2 单片机AT89C52 .................................................................................................................... 7

3.2.1 AT89C52的主要性能参数 ....................................................................................... 7 3.2.2 功能特性概述 ............................................................................................................ 7 3.2.3 引脚功能说明 ............................................................................................................ 7 3.2.4 时钟振荡器 ................................................................................................................ 9 3.2.5 AT89C52软件编程模式 ......................................................................................... 9 3.2.6 单片机最小系统设计 .............................................................................................. 10 3.2.7 关于单片机上拉和阻值选择的问题 ....................................................................... 11 3.3 数字温度传感器DS18B20 .................................................................................................. 12

3.3.1 DS18B20技术性能描述 ......................................................................................... 12 3.3.2 数字温度传感器DS18B20的简单介绍 ................................................................ 13 3.3.3 AT89C52单片机与DS18B20的接口 .................................................................... 17 3.3.4 DS18B20使用中注意事项 ..................................................................................... 19 3.4 温度显示方式 ....................................................................................................................... 19

南京林业大学本科毕业设计(论文)

3.4.1 液晶显示 .................................................................................................................. 20 3.4.2 74HC573锁存器 ........................................................................................................ 21 3.4.3 数码管显示 ................................................................................................................ 24 3.4.4 数码管跟液晶显示的选择………………………………………………………….27

第四章 系统的软件设计 .................................................................................................................... 29

4.1 系统的总体设计思路 ........................................................................................................... 29 4.2 系统的程序设计 ................................................................................................................... 29

4.2.1 主程序 ...................................................................................................................... 29 4.2.2 读出温度子程序 ...................................................................................................... 30 4.2.3 温度转化命令子程序 .............................................................................................. 30 4.2.4 计算温度子程序 ...................................................................................................... 31

第五章 PROTEUS软件仿真 ........................................................................................................... 32

5.1 PROTEUS 仿真器与集成开发环境KEIL .......................................................................... 32

5.1.1 PROTEUS 仿真器 .................................................................................................. 32 5.1.2 集成开发环境KEIL4 ................................................................................................ 32 5.2 绘制温度测量系统仿真电路图 ........................................................................................... 33 5.3 实现温度测量系统的仿真 ................................................................................................... 34 第六章 结束语 .................................................................................................................................. 35 致谢……………………………………………………………………………………………………36 参考文献 .............................................................................................................................................. 37 附录1:程序清单 ............................................................................................................................... 38 附录2:设计图纸 ............................................................................................................................... 43

南京林业大学本科毕业设计(论文)

第一章 概 述

1.1 课题研究的背景

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。温度传感器的发展大致经历了以下3个阶段1.传统的分立式温度传感器,主要是能够进行非电量和电量之间转换。2.模拟集成温度传感器。3.智能温度传感器。

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温精确,其输出温度采用数字显示,主要用于对测温比较精确的场所,或者科研实验室使用,该设计控制器使用单片机AT89C52,测温传感器使用DS18B20,用共阴极数码管实现温度显示,并用74HC作为锁存器,能准确达到以上要求。

1.2 课题研究的意义

温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误可能引起生产安全、产品质量、产品产量等一系列问题,因此对温度检测的意义就越来越大。现代电子工业的飞速发展对自动测试的要求越来越高,采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。针对以上情况,在控制成本的前提下,通过本设计设计一款能够实时检测温度,又具有对系统设定不同的温度的温度测量系统功能。

本文给出了一个简单的单片机系统,该系统是单片机AT89C52采集温度信号并显示的实例,主要叙述了其硬件和软件设计的原理。温度传感器选用目前常用的数字温度传感器DS18B20,采用74HC573锁存并用共阴极数码管显示,用示波器导出图像曲线,最后使用proteus仿真。

1

南京林业大学本科毕业设计(论文)

1.3 课题设计的目的

1.加强对单片机和C51语言的认识,充分掌握和理解各部分设计的工作原理、设计过程,选择适合的芯片器件,模块化编程等多项知识;

2.用单片机模拟实现具体应用,使个人设计能够真正实现; 3.把理论知识和实践相结合,在实践中锻炼; 4.提高利用已学知识分析和解决问题的能力。

1.4 课题设计的任务及要求

本次毕业设计的任务是针对实际要求,灵活应用所学知识,结合教材以及参考资料,用AT89C52单片机模拟实现温度实时测量及显示等功能,以达到巩固单片机基础知识、掌握单片机系统开发过程和提高动手实践能力的目的。

毕业设计的设计要求:

1.使用数字温度传感器DS18B20实现温度数据的采集、传输; 2.使用双个共阴极数码管实现所采集温度的显示; 3.使用74HC作为锁存器存储数据; 4.使用示波器进行温度变化曲线展示; 5.设计正确的原理图和编写正确的程序代码; 6.实现proteus仿真。

2

南京林业大学本科毕业设计(论文)

第二章 系统总体设计

2.1 系统的功能设计

系统要完成的设计功能如下:

1.实现对外界环境温度参数的实时采集,测量空间的温度:根据测量空间或设备的实际需要,由温度传感器对关键温度敏感点进行测量,由单片机对其数据进行循环检测、显示、存储,实现温度的测量。

2.实现对所采集的温度进行仿真显示。

3.在PROTEUS软件下仿真:在PROTEUS环境下实现硬件和软件的调试,并进行仿真。 4.软件编程应具有功能强大、便于操作和执行速度快等特点。要求达到的技术指标: 测温范围:-55℃~125℃ 测温精度:正负0.5℃

2.2 系统的组成与工作原理

以单片机为控制核心,采用温度测量技术,以温度传感器作为测量元件,构成温度测量系统。该系统可分为温度测量电路以及显示电路,见图2.1。选用的主要器件有:单片机AT89C52,温度传感器DS18B20,共阴极数码管,示波器等。

数据采集 AT89C52 单片机 图2.1 硬件结构图

数据处理显示 本系统以单片机AT89C52为核心,数据采集、显示都要通过单片机。数据采集通过单总线的温度传感器DS18B20完成;由共阴极数码管实时显示接收的数值;当温度变化时在示波器中显示变化曲线。

2.3 系统设计说明

本设计是一个数字温度测量及控制系统,能测量环境中的温度,并能在超限的情况下

3

南京林业大学本科毕业设计(论文)

报警,保证环境保持在限定的温度中。

该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送AT89C52单片机上,经过单片机处理,将把温度首先锁存在锁存器中,段锁存用来给出显示的数字,位锁存用来给出哪几格数码管显示,然后再在在显示电路上显示,本系统显示器为2个共阴极数码管显示模块,检测范围-55℃~125℃。

系统的核心器件是单片机,它是整个系统的心脏,由它来接受信号并控制协调各功能模块的正常工作,考虑到系统的功能和经济性因素,采用的是当今流行的性价比比较高的AT89C52。所以温度控制系统采用AT89C52八位机作为微处理单元进行控制,温度传感器把采集的信号再加上单片机里的数据处理获得测温的数据显示。

根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C52为测量控制系统的核心来完成数据采集、处理、显示等功能。选用智能数字温度传感器DS18B20,与传统的热敏电阻等测温元件相比,它省去了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。

4

南京林业大学本科毕业设计(论文)

第三章 系统硬件电路的设计

3.1 系统硬件电路构成及测量原理

由于系统要对环境温度进行测量,因此采用单片机对单总线系统进行现场监控是非常经济实惠的方案,其硬件连接非常简单,可用单片机并口P1、P2、P3中的任一端口与单总线来实现双向数据传输。

3.1.1 系统硬件电路构成

本系统以单片机为核心,组成一个集温度的采集、显示、存储为一身的闭环系统,其原理框图如图3.1所示。温度传感器采集温度信号,温度传感器有模拟输出和数字输出传感器两种形式,这里选用具有数字输出的DS18B20;单片机是系统的核心,选用AT89C52;系统采用共阴极数码管显示温度值;使用锁存器74HC来存储数据,示波器来显示曲线。

整个电路图的结构是比较简单的:直接使用AT89C52单片机、温度传感器DS18B20、共阴极数码管、锁存器74HC、示波器和一排上拉电阻构成。

由于AT89系列单片机与MCS-51系列单片机兼容。所以,本系统中的单片机选用AT89C52。整个电路图的关键是AT89C52的P0口接上一组排阻。AT89C52单片机的几个端口,P0作为地址数据总线时,T1和T2是一起工作的,构成推挽结构。高电平时,T1打开,T2截止;低电平时,T1截止,T2打开。这种情况下不用外接上拉电阻。当T1打开,T2截止,输出高电平的时候,因为内部电源直接通过T1输出到P0口线上,因此驱动能力(电流)可以很大,可以驱动8个TTL负载。

温度传感器的作用是采集环境温度。由于智能温度传感器DS18B20既能对温度进行测量,又能把温度的二进制值转换成十进制值,所以本设计选用智能温度传感器DS18B20。传感器和数字转换电路都被集成在一起,每个DS18B20都具有唯一的64位序列号,并且DS18B20只有一个数据输入/输出口,因此,多个DS18B20可以并联到2或3根线上,CPU只需一根端口线就能与诸多DS18B20进行通信,而它们只需简单的通信协议就能加以识别,这样就节省了大量的引线和逻辑电路。由于该温度计采用数字输出形式,故不需要A/D转换器。单片机主要是对温度传感器DS18B20进行编程,读取温度传感器的温度值,并把温度值通过显示器显示出来。

5

南京林业大学本科毕业设计(论文)

排阻电路

晶振电路

锁存电路 温度传感器 单 片 机

示波器

显示电路 图3.1 温度测量系统硬件电路原理图

3.1.2 系统工作原理

采用单总线技术设计的温度测量系统,整个系统以AT89C52单片机为主机,其它设备为从设备。本系统通过单总线可以挂接很多个智能温度传感器DS18B20,用于不同地方的温度测量。

该温度测量系统的工作原理就是进行单片机编程,是智能温度传感器DS18B20正常工作,去测量外界环境的实际温度,使用存储器存储数据,并由数字显示电路显示当时的温度值。

3.2 单片机AT89C52

3.2.1 AT89C52的主要性能参数

1.兼容MCS51指令系统;

2.8K字节可重复擦写Flash ROM; 3.1000次擦写周期; 4.时钟频率:0Hz-24MHz; 5.三级加密程序存储器; 6.256*8字节内部RAM; 7.32个可编程I/O口线;

8.3个16位可编程定时/计数器中断; 9.6个中断源;

10.可编程串行UART通道;

6

南京林业大学本科毕业设计(论文)

11.低功耗空闲和掉电模式。

3.2.2 功能特性概述

AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,三个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

3.2.3 引脚功能说明

AT89C52的引脚排列如图3.2所示。下面简要介绍本次设计需要用到的引脚的功能:

图3.2 引脚排列图

1.VCC:电源电压。 2.GND:地。

3.P0口:P0口是一组8位漏极开关型双向I/O口,也即地址/数据总线复用口。作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

4.P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同的是,P1.0和P1.1还可分别作为定时/

7

南京林业大学本科毕业设计(论文)

计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。

5.P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

6.EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。

7.XTAL1:振荡器反相放大器的内部时钟发生器的输入端。 8.XTAL2:振荡器反相放大器的输出端。

3.2.4 时钟振荡器

AT89C52中有一个用于构成内部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图3.3所示。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程度及温度稳定性,使用石英晶体,推荐电容使用30pF

10pF,如使用陶瓷谐振器择选择40pF

10pF。

由于外部时钟信号时通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

8

南京林业大学本科毕业设计(论文)

图3.3 内/外部振荡电路

3.2.5 AT89C52软件编程模式

AT89C52有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。其外部引脚状态如表3.1所示。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。

表3.1 空闲和掉电模式外部引脚状态

模式 空闲模式 空闲模式

程序存储器 内部 外部

ALE

1 1

PSEN

P0 1 数据 1 浮空

P1 数据 数据

P2 数据 地址

P3 数据 数据

空闲节电模式:

在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求终止。

终止空闲工作模式的方法是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,既刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断

9

南京林业大学本科毕业设计(论文)

服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是单片机进入空闲模式那条指令后面的一条指令。

3.2.6 单片机最小系统设计

目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求做很小集成度的最小系统应用在一些小的控制单元。其应用特点是: 1.全部I/O口线均可供用户使用;

2.内部存储器容量有限(只有8KB地址空间); 3.应用系统开发具有特殊性.

图3.4最小系统图

单片机最小系统如图3.4所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可用于数据的输入和输出,P3口具有第二功能为系统提供一些控制信号。时钟电路用于产生C51单片机工作所必须的时钟控制信号,内部电路在时钟

10

南京林业大学本科毕业设计(论文)

LATCH1=1; //段锁存 LATCH1=0;

DataPort=dofly_WeiMa[i+FirstBit]; //取位码 LATCH2=1; //位锁存 LATCH2=0;

DataPort=TempData[i]; //取显示数据,段码 LATCH1=1; //段锁存 LATCH1=0;

i++;

if(i==Num) }

/*------------------------------------------------ 定时器初始化子程序 ------------------------------------------------*/ void Init_Timer0(void) {

TMOD |= 0x01; //使用模式1,16位定时器,使用\符号可以在使用多个定时器时不受影响

//给定初值

i=0;

//TH0=0x00; //TL0=0x00;

EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 }

/*------------------------------------------------

41

南京林业大学本科毕业设计(论文)

定时器中断子程序 ------------------------------------------------*/ void Timer0_isr(void) interrupt 1 {

static unsigned int num; TH0=(65536-2000)/256; //重新赋值 2ms

TL0=(65536-2000)%6;

Display(0,8); // 调用数码管扫描 num++;

if(num==300) // { num=0;

ReadTempFlag=1; //读标志位置1 }

}

42

南京林业大学本科毕业设计(论文)

附录2:设计图纸

液晶LCD1602显示的测温电路;

用共阴极数码管显示的电路。

43

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

Top