最新单片机多点测温系统.docx
- 文档编号:28078818
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:42
- 大小:708.76KB
最新单片机多点测温系统.docx
《最新单片机多点测温系统.docx》由会员分享,可在线阅读,更多相关《最新单片机多点测温系统.docx(42页珍藏版)》请在冰豆网上搜索。
最新单片机多点测温系统
单片机多点测温系统
基于单片机多点测温系统的设计
摘 要
温度是工业生产中常见的和最基本的工艺参数之一,任何物理变化和化学变化的过程都与温度密切相关,在许多生产过程中常常需要测量和控制几十以至几百个点的数据。
如果用常规模拟仪表来完成这些任务,由于检测点太多会使仪表台数相应增多,系统可靠性随之下降,维修困难。
测量不精确是其主要方面,在这样的形式下,就需要一种能同时对多点温度进行测量,并能够进行数据传输。
本课题用本课题以AT89C51单片机系统为核心,DS18B20智能传感器作为检测仪,通过系统总线及通信协议将采集的数据传送到主控机,进行进一步的存档、处理。
主控机负责控制指令的发送,控制各个从机进行温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。
主控机与各从机之间能够相互联系、相互协调,从而达到系统整体统一、和谐的效果,进而达到对多点进行温度监控的目的的系统。
关键词:
AT89C51单片机;DS18B20智能传感器;温度测量
ManagementSystemForBookStorage
Abstract
Thetemperatureiscommonintheindustrialandtechnologicalparametersofthemostbasic,anyphysicalandchemicaltheprocessofchangeintemperatureiscloselyrelated,inmanyoftheprocessoftenrequiresgagingandcontrolsandhundredsofthedata.Ifyouusearegularinstrumenttofinishthetask,becausedetectionpointtoomuchwilltheinstrumentnumberofunitscorrespondingnumbersystemreliabilitycontinuetodecline,themaintenanceofdifficulties.Noaccuratesurveyisthemainaspects,insuchform,akindofenergyformoretemperaturemeasurementismadeandcanbeusedfordatatransmission.ThisissuewiththissubjectinamonolithicintegratedcircuitsAT89C51systematthecore,asintelligentsensorsDS18B20ignition-coilthroughsystermbusandcommunicationsprotocolwouldcollectdatatomaster,anyrecord,processing.Mastermachineinstructions.responsibleforcontrollingthecontrolofthedifferentfromtakingthecollection,datacollectionmeasuresandthemeasurement(includehistoricaldata)forthedisplayandstorage.Mastermachineandfromtheinterrelationsbetween,harmonyandachieveaunifiedsystem,harmony,andreachformoreforthepurposeofthemonitoringsystem.
Keywords:
AT89C51microcontroller;SmartSensorDS18B20;
Temperaturemeasurement
目 录
摘 要
Abstract
第一章引言0
1.1单片机发展的概述0
1.2课题意义0
1.3开发工具的选择1
第二章所用开发工具简介2
2.1Keil简介2
KEIL使用简单介绍2
2.2Protues简介5
2.3C51与C语言的异同7
第三章系统总体论证分析8
3.1系统分析8
3.2系统整体目标9
4.1系统硬件电路的构成及测量原理11
4.1.1系统硬件电路设计11
4.2.1单片机控制电路12
4.3温度采集模块16
4.3.1DS18B20介绍16
4.3.2DS18B20内部结构和工作原理18
4.4系统详细设计19
4.4.1键盘模块19
4.4.2液晶显示模块
20
5.1程序设计发开环境介绍23
5.2软件程序设计23
5.3相关程序的简单介绍24
5.3.1DS18B20测温程序设计24
1、DS18B20的控制指令如下:
24
5.3.2数码管显示程序27
1、显示器与单片机的接口程序如下:
27
5.4KEIL与Protues连调28
5.5误差分析30
参考文献32
第一章引言
1.1单片机发展的概述
单片机也叫做嵌入式微处理控制器,是指在一块芯片上集成了微处理器(CPU)、存储器、并行输入/输出接口、定时器/计数器和中断控制器等部件。
由于单片机具有体积小、成本低、性能稳定等优点,其开发应用已在工业测控、机电一体化、智能仪表、家用电航空航天及办公自动化等各个领域中占据了重要的地位。
美国Intel公司于1980年在MCS-48单片机的基础上推出了MCS-51系列单片机。
该系列单片机与前者相比,其结构更先进,功能更强大,并在原有基础上增加了更多的电路单元和指令。
它有四个8位并行端口,一个全双工串口,两个16位定时/计数器,5个中断源,两种省电模式;多达111条指令,有单独的乘除法指令,各有一个独立的64K程序存储器和数据存储器空间等。
最初的MCS-51系列单片机主要包括8031、8051、8751三个品种,其实他们早已被性能更加优良、与之兼容的产品所取代。
现在所说的C51单片机泛指与其兼容的所有采用MCS-51内核的单片机。
1.2课题意义
随着生活质量的提高,家庭工业生产和工艺制造等随处可见温度控制的身影,农业生产中的温室大棚温度控制,尤其在工业生产及现代化国防建设中,温度控制都起着重要的作用。
而单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个测控领域中广泛应用的器件。
采用单片机来对温度进行控制,不仅具有控制方便、简单和灵活性大、高精度等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
单片机的应用控制已出现在生产生活各个领域,其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中广泛应用的器件。
在当前节能降耗的大背景下,通过对温度进行测量、监控可以改善各种设备和系统的能源消耗不合理的状况,减少能源的浪费。
随着科技的进步及发展,温度传感器就有测量精度高、功能多样化等特点。
而温度传感器正从原有的模拟化、集成化朝着数字化,智能化方向跨越式发展。
随着现在地球“温室效应”的加剧,温度已然成为人们越来越普遍关注的问题。
目前市场主要使用单点和多点两种温度测量仪表。
单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。
其测温范围大都在-200℃一800℃之间,分辨率12位,最小分辨温度在0.001~0.01之间,自带LED显示模块,显示4位到16位不等。
而有的仪表还具有存储功能,可存储几百到几千组数据。
该类仪表可很好的满足单个用户单点测量的需要。
多点温度测量仪表,虽然相对与单点测量精度有一定的差距,实现了多路温度的测控,但价格昂贵。
针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。
1.3开发工具的选择
本系统开发使用的工具为KeiluVision2,Protues7.5sp2。
第二章所用开发工具简介
2.1Keil简介
KeiluVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,还能嵌入汇编,可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,能在很短的时间内就能学会使用keilc51来开发您的单片机应用程序。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
KEIL使用简单介绍
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
首先新建工程(Project-newproject),如图2.1.1所示
图2.1.1KEIL工程新建
文件保存类型为.uv2,如下图所示:
图2.1.2保存工程
点击保存后在跳出来的对话框中选择Ateml下面的89c51单片机。
如图2.1.3所示。
图2.1.3单片机类型选择
此时的工程管理窗口的文件页(Files)上会出现“Target1”,点击前面的+,接着选择SourceGroup1,右键单击会弹出快捷菜单,然后选择“AddFiletoGroup‘SourceGroup1’”这一命令,如图2.1.4所示。
出现了一个对话框,需要寻找并加入源文件,源文件后缀为.c或.asm,如图2.1.5所示。
打开空白c文件就可以开始编写程序了。
图2.1.4添加源文件
图2.1.5源文件
2.2Protues简介
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
下面介绍一下PROTEUS的编辑环境。
(1)工作界面
ProteusISIS的工作界面是一种标准的Windows界面,如图4.2.1所示。
包括:
绘图工具栏、标题栏、预览窗口、对象选择器窗口、预览对象方位控制按钮、主菜单、标准工具栏、图形编辑窗口、状态栏、对象选择按钮、仿真进程控制按钮。
图2.2.1ProteusISIS的工作界面
(2)主菜单
PROTEUS包括File、Edit、View等12个菜单栏,如图5.2所示。
每个菜单栏又有自己的菜单,PROTEUS的菜单栏完全符合WINDOWS操作风格。
图2.2.2ProteusISIS的菜单栏
(3)工具栏
工具栏包括菜单栏下面的标准工具栏和右边的绘图工具栏,标准工具栏的内容与菜单栏的内容一一对应,绘图工具栏有丰富的操作工具,选择不同的按纽会得到不同的工具。
2.3C51与C语言的异同
C语言编属于高级语言,具有可移植性,能够结构化编程。
使用标准C语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于标准C语言的部分也很少需要修改,而且程序很容易读懂。
C语言编写程序结构清晰,移植性好,容易维护和修改。
汇编语言针对不同的操作系统平台,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。
但是汇编语言是针对专门的控制器的,所以运行速度可以精确到一个指令周期。
汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难读懂。
汇编语言编写代码实时性强,能够直接控制硬件的工作状态,但是不具有可移植性,维护和修改困难。
而软件keil正是利用了c语言这一优点,并融入丰富的库函数,来实现51单片机的各种应用程序的先决条件。
C51数据类型与标准C数据类型的最大不同之处:
位型
图2.1c51的数据类型
第三章系统总体论证分析
3.1系统分析
本系统硬件设计包含两部分内容:
一是系统扩展,即单片机内部的资源,包括存储器(ROM和RAM)、输入输出接口、定时器/计数器、串行口、中断系统等不能满足应用系统的要求时,必须进行外部扩展,选择适当的芯片,设计相应的电路;
二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器等,并设计合适的接口电路。
系统扩展及其模块设计的注意事项:
(1)尽量选取标准、典型、模块化的电路,提高系统设计的成功率。
(2)硬件结构应结合软件设计一并统筹考虑。
考虑的思路是:
软件能实现的功能尽可能由软件完成,这样能够简化硬件结构。
但同时要考虑到软件实现时的延时以及CPU的时间占用问题。
(3)整个系统中的有关器件要尽可能做到匹配,比如选择CMOS芯片单片机构成低功耗系统时,系统中的所有芯片都应该选择低功耗的器件;选择晶振频率较高时,存储器的存取时间有限,就该选择允许存取速度较高的芯片。
(4)可靠性及抗干扰性设计是硬件系统设计不可缺少的部分,主要包括芯片、器件选择、去耦合滤波等。
(5)单片机外接电路较多时,应考虑其带载能力(驱动能力)。
驱动能力不足时,系统便会不可靠工作,解决的办法是增设驱动器或减少芯片功耗。
(6)系统硬件设计在满足系统功能要求的基础上,应适当留有余地,以备以后修改、扩展之需。
综上所述,硬件设计如下:
本系统采用目前较为普及的AT89C51单片机作为系统的核心。
它不但便于实现设计的要求指标,同时还具有较高的性能/价格比。
其他元器件的选择也比较固定,电路设计方面也与教科书中内容相近。
从整体系统来看地址译码方法也只能采用地址译码法。
但在键盘接口、存储器扩展、总线驱动器、可靠性设计等方面还需要多加考虑。
(1)键盘接口
由于要求频率任意可调,即要求按键数较多,于是采用矩阵式键盘以节省I/O口。
矩阵式键盘适用于按键数量较多的场合,系统采用了行列式键盘设计即矩阵键盘,用I/O线组成行、列结构,按键设置在行列的交点上,4×4的行列结构可构成16个键的键盘。
按键的识别方法有两种,一种为扫描法,另一种为反转法。
此设计采用了行列式及与之相适应的行列扫描法。
(2)为增加对数码管显示器的驱动能力及稳定性,在它与AT89C51之间采用了MAX7221显示驱动芯片实现稳定驱动。
(3)可靠性方面
在使用本系统时,可能会受到多种干扰的影响,这将直接影响到系统的稳定性,为此,本系统适当加入去耦电容,制版时使在电路板周围的地线形成环形抗干扰填充区。
以减少干扰,保证精度。
3.2系统整体目标
本系统的实现目标:
(1)实时巡检功能
本系统能检测多路温度,检测温度允许范围0℃~99℃。
同时根据检测环境,检测点数能够扩展。
(2)巡检循环
应用8位LED显示,通过按键的控制,可以在屏幕中不断跳转显示检测的当前温度值。
(3)系统统一设置温度修正值,并显示当前的温度、时间等信息,人机界面有好。
3.3系统的实现方案
温度测量是通过DS18B20对温度进行采集,并存储在可擦写的EPROM中,但接受到主控机的命令后,将采集的温度送至51单片机的P1口,再通过串口送至液晶显示器上将温度显示出来,并达到轮循的效果由于该温度控制采用数字输出形式,因此不需要A/D转换器。
单片机主要是对温度传感器DS18B20进行编程,由于AT89系列单片机与MCS一51系列单片机兼容,所以,本系统中的单片机选用AT89C51。
图3.2系统框图
以AT89C51单片机系统作为核心,对多点的温度进行实时控制巡检。
各检测单元能对温度进行实时或定时采集,测量结果利用单片机的串行口,总线和通信协议将采集到的数据传送至主控机,通过主控机把传送到的数据进行分析、存档、处理。
主控机控制各个检测单元进行温度采集,同时收集测量数据,并对测量结果(包括历史数据)进行整理、显示和打印。
主控机与各检测单元之间相互作用、相互联系,相互协调,从而使系统具有整体统一和谐的控制效果。
主控系统主要由单片机实施功能。
其包括的功能有:
温度值的读取与存储、时钟芯片时间值的读取与存储、LED液晶的显示以及关于是否进行声光报警的判断。
还有就是单片机与PC机之间的通信、数据的传输也是靠单片机实现的。
从机系统的主要功能就是将外界的模拟信号变为可以传输的数字信号。
而温度传感器DS18B20本身包括寄生电源、温度传感器,64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM)、存储与控制逻辑、用于存储用户设定的温度上下限值的TH和TL触发器、结构寄存器,8位循环冗余校验码(CRC)发生器等八部分。
它通过程序语言可实现9位至12位的数字值读数方式,并在环境为93.7ms和750ms之间内,将温度值转化9位和12位的数字量。
而且DS18B20与单片机之间的通信是利用ONEWIRE方式,只要在编程方面多注意这个传感器的时序问题,能大大简化这个系统的硬件规模,并且能准确地读取温度信号,进而进行后续处理。
所以DS18B2O就作为一个从机系统完成其重要的功能,其可使系统结构更趋简单,同时,可靠性更高。
第四章系统硬件电路的设计
4.1系统硬件电路的构成及测量原理
4.1.1系统硬件电路设计
图4.1.1理想型的系统硬件结构
系统的硬件部分的原理图由上下两级计算机组成,分别称之为上位机和下位机。
系统硬件结构如图所示。
其中上位机是普通的PC机,主要完成数据管理及对下位机的控制,而下位机是以AT89C51单片机为核心的单片机控制系统。
下位机主要由五个部分组成,
第一部分为单片机控制系统,它是以AT89C51单片机为核心的微型计算机系统,是整个测量系统的核心部分它控制各个部分按一定的要求进行工作。
第二部分为键盘与显示接口电路部分,完成各种命令、参数的输人以及各种状态、数据的显示输出,构成人机对话通道。
第三部分是多通道测量电路部分,在单片机的控制下完成对多路通道的定时检测。
第四部分为通信接口电路部分主要用于信号变换。
由于单片机的通信规范与机的通信规范不一致,所以需要进行信号变换,使上位机与下位机之间能进行正常通信。
第五部分为电源部分,它为整个单片机测量系统提供几种电压的直流能源同时也为温度传感器提供恒流电源。
4.251单片机实验板及相关信息
4.2.1单片机控制电路
单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的
微型机,这些部件包括中央处理器CPu、数据存储器RAM、程序存储器ROM、
定时器/计数器和多种UO接口电路。
图4.2.1AT89C51基本结构
AT89C51的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
算.术逻辑单元ALu能对数据进行加、减、乘、除等算术运算;“与’、“或”、“异或”等逻辑运算以及位操作运算。
控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DP双和程序寄存器PC等。
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgram--mableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
其片内含4kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),四个8位并行I/O口,一个全双工串行口,两个16位定时/计数器,5个中断源,提供两个中断优先级,21个特殊功能寄存器,可寻址各64KB的外部程序存储器和数据存储器,有位寻址功能和较强的布尔数据处理能力,有两种软件可选的低功耗运行方式(空闲和掉电方式)。
器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51具有PDIP(双列直插式)、TQFP(薄四方扁平式)、PLCC(特殊引脚式)三种封装形式,由于在实验开发中使用PDIP较多故选取此类封装的单片机作说明。
图4.2.2AT89C51的PDIP封装引脚图
AT89C51的引脚除了VCC和GND之外,按其功能可分为以下三类:
1)时钟电路引脚XTAL1和XTAL2:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2)I/O端口引脚:
1 P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
2 P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
3 P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
4 P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 多点 测温 系统