嵌入式温度控制与显示器设计.docx
- 文档编号:6782538
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:75
- 大小:3.55MB
嵌入式温度控制与显示器设计.docx
《嵌入式温度控制与显示器设计.docx》由会员分享,可在线阅读,更多相关《嵌入式温度控制与显示器设计.docx(75页珍藏版)》请在冰豆网上搜索。
嵌入式温度控制与显示器设计
毕业设计(论文)
嵌入式温度控制与显示器
学院:
信息科学技术学院
专业:
姓名:
指导老师:
自动化
学号:
职称:
教授
中国·珠海
二○二○年五月
Xx学院毕业设计
诚信承诺书
本人郑重承诺:
我所呈交的毕业设计《嵌入式温度控制与显示器》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。
承诺人签名:
日期:
年月日
嵌入式温度控制与显示器
摘要
本文主要是针对生产或生活需要的恒温系统而展开的一系列设计研究。
该设计以嵌入式中的单片机STC89C52RC为控制核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器和电制冷器等几个方面出发,详细研究和设计了基于单片机的温度控制的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。
给出了一套合理的基于单片机的温度控制器软硬件解决方案。
关键字:
温度检测温度显示DS18B20单片机温度控制
Embeddedtemperaturecontrolanddisplay
ABSTRACT
Thisarticlemainlyonproductionorlivingneedsthesystemofthermostatandlaunchedaseriesofdesignstudies.TheSTC89C52RCsingle-chipdesignforthecontrolofthecore,fromthetemperaturedetectionDS18B20dataacquisition,theadjustmentsettings,LEDdigitaltubedisplaycircuit,alarmandoutputcontrolseveralaspects,suchaselectricheaterandelectriccooler,thedetailedstudyanddesignbasedonsinglethetemperaturecontrolmachineinallpartsofthedesignofthesingle-chipmicrocomputeranditsperipheralcircuits,andprocedurescombinedwithaclassicalgorithm.Givenareasonabletemperaturecontrollerbasedonsingle-chiphardwareandsoftwaresolutions.
Keywords:
Single-chipComputerSingle-chipDisplayerSensorTemperatureMeasurement
1绪论
1.1课题设计背景及意义
嵌入式在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度控制和温度检测、显示。
基于单片机的温度监控系统较传统的温度控制系统具有更高的智能性,并且系统的功能更加易于扩展和升级,是一种低成本的温度控制、检测方案。
采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
本次设计采用MCS-51系列单片机与各种外围电路构成单片机温度自动检测和控制系统,实现对温度的实时检测、控制和显示。
通过本次设计掌握温度检测控制系统的硬件设计方法和软件编写方法。
熟悉Protel软件的使用方法,熟悉PCB板的制作。
通过课题的研究进一步巩固所学的知识,同时学习课程以外的相关知识,培养综合应用知识的能力。
锻炼动手能力与实际工作能力,将所学的理论与实践结合起来。
1.2行业技术发展趋势
近年来,在温度检测技术领域中,多种新的检测原理与技术的开发应用己取得了具有实用性的重大进展。
新一代温度检测元件正在不断出现和完善化,主要包括以下几种。
(1)晶体管温度检测元件
(2)集成电路温度检测元件(3)核磁共振温度检测器(4)热噪声温度检测器(5)石英晶体温度检测器(6)光纤温度检测器(7)激光温度检测器。
目前国内外的温度控制方式越来越趋向于智能化,温度测量首先是由温度传感器来实现的。
测温仪器由温度传感器和信号处理两部分组成。
温度测量的过程就是通过温度传感器将被测对象的温度值转换成电的或其它形式的信号,传递给信号处理电路进行信号处理转换成温度值显示出来。
温度传感器随着温度变化而引起变化的物理参数有:
膨胀、电阻、电容、热电动势,磁性能、频率、光学特性及热噪声等等。
随着生产的发展,新型温度传感器还会不断出现,目前,国内外通用的温度传感器及测温仪大致有以下几种:
热膨胀式温度计、电阻温度计、热电偶、辐射式测温仪表、石英温度传感器测温仪。
1.3课题设计的主要内容
该设计是以单片机STC89C52RC为控制核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器及制冷等几个方面出发,详细研究和设计了基于单片机的温度控制的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。
在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成A/D转换器能接收的模拟量,再经过采样/保持电路进行A/D转换,最终送入单片机及其相应的外围电路,完成监控。
但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。
本文介绍单片机结合DS18B20环境温度控制器设计,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。
本次设计主要是对加热和制冷设备的温度控制,其主要任务如下:
用单片机对温度进行实时检测、显示和控制,以解决日常生活中及工业对温度的显示及控制问题。
其温度显示为“-XXC”,精度为±0.50℃,测温范围-55℃~+125℃,采用LED显示,不单符合家庭使用更适合工业的使用。
2系统的总体设计
嵌入式单片机的温度控制系统需要完成温度的检测并可以通过按键设定调整最高温度和最低温度值、能够显示当前温度值、最高设定温度和最低设定温度值,同时要实现当温度超过设定上限温度时,启动制冷器件降温,温度超过设定最高温度时报警;当温度低于设定下限温度时,启动电热器件加热,温度低于设定最低温度时报警等功能。
需要系统包括单片机最小系统电路和按键电路、LED显示电路、温度检测部分、报警和控制输出等主要部分,系统地总体设计如下图所示:
图2-1系统整体设计框图
3系统的主要硬件介绍
3.1单片机介绍
3.1.1单片机概述
单片微机(Single-ChipMicrocomputer)简称单片机,通常统称微控制器(Micro-Controller简写μC)或微型处理部件(MicroControllerUnit简写MCU)。
一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。
二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。
单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。
从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时代。
单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、Pentium、PⅢ高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。
例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。
1.单片机的结构与组成
目前,单片机的系统结构有两种类型:
一种是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。
另一种是采用和PC机的冯.诺依曼(VonNeumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EEPROM、OTP、ROM和FLASH等类。
EEPROM型内存编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EEPROM型单片机价格很高。
具有ROM型(掩膜型)内存的单片机价格最低,它适用于大批量生产。
由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高。
OTP型(一次可编程)单片机介于EEPROM和ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。
OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎。
Flash型(闪速型)单片机允许用户使用编程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。
Flash型单片机,即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势。
随机内存(RAM):
用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。
RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失。
最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。
单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的内存,但通常存储空间很小。
2.中央处理器(CPU)
是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。
CPU就像人的大脑一样,决定了单片机的运算能力和处理速度。
并行输入/输出(I/O)口:
通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定。
现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。
I/O是单片机的重要资源,也是衡量单片机功能的重要指针之一。
串口输入/输出口:
用于单片机和串行设备或其它单片机的通信。
串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现。
不同的单片机可能提供不同标准的串行通信接口,如UART、SPI、
、MicroWire等。
3.定时器/计数器(T/C)
单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。
4.系统时钟
通常需要外接石英晶体或其它振荡源来提供时钟信号输入,也有的使用内部RC振荡器。
以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。
3.1.2单片机编程语言介绍
对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASIC。
BASIC通常附在PC机上,是初学编程的第一种语言。
一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。
BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。
BASIC为简化使用变量,所有变量都用浮点值。
BASIC是用于要求编程简单而对编程效率和运行速度要求不高的场合。
PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。
它很像PASCAL,是一种结构化语言,但它使用关键词去定义结构。
PL/M编译器好像汇编器一样可产生紧凑代码。
PL/M总的来说是“高级汇编语言”,可详细控制着代码的生成。
但对51系列,PL/M不支持复杂的算术运算、浮点变量而无丰富的库函数支持。
学习PL/M无异于学习一种新语言。
C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。
C语言结构是以括号{}而不是子和特殊符号的语言。
C可以进行许多机器级函数控制而不用汇编语言。
与汇编相比,有如下优点:
对单片机的指令系统不要求了解,仅要求对51的内存结构有初步了解寄存器分配、不同内存的寻址及数据类型等细节可由编译器管理程序有规范的结构,可分为不同的函数。
这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机不同较快地移植过来。
51的汇编语言非常像其它汇编语言。
指令系统比第一代微处理器要强一些。
51的不同存储区域使得其复杂一些。
尽管懂得汇编语言不是你的目的,看懂一些可帮助你了解影响任何语言效率的51特殊规定。
例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。
要求使用浮点和启用函数时只有具备汇编编程经验才能避免生成庞大的、效率低的程序,这需要考虑简单的算术运算或先算好的查表法。
最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。
由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
3.1.3系统选择
本系统以MCS-51单片机成员中的STC89C52RC为控制核心。
STC89C52RC单片机是宏晶科技推出的新一代超强干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可选择。
STC89C52RC具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
宏晶科技公司的STC89C52RC单片机,是功能强大、低价位产品,可为您提供许多高性价比的应用场合,它灵活应用于各种控制领域。
STC89C52RC的优点:
(1)超强抗干扰:
1.高抗静电(ESD保护);
2.轻松过2KV/4KV快速脉冲干扰(EFT测试);
3.宽电压,不怕电源抖动;
4.宽温度范围,-40℃~85℃。
(2)三大降低单片机时钟对外部电磁辐射的措施:
1.禁止ALE输出;
2.如选6时钟/机器周期,外部时钟频率可降一半;
3.单片机时钟振荡器增益可设为1/2gain。
(3)超低功耗:
1.掉电模式:
典型功耗<0.1μA>;
2.正常工作模式:
典型功耗4mA-7mA;
3.掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。
(4)加密性强。
(5)在系统可编程,无需编程器,无需仿真器。
(6)可送STC-ISP下载编程器,1万片/人/天。
(7)可供应内部集成MAX810专用复位电路的单片机,只有D版本才有内部集成专用复位电路,原复位电路可以保留,也可以不用,不用时RESET脚接1K电阻到地。
其引脚结构如图3-1所示。
STC89C52RC的特点:
1.增强型6时钟/机器周期,12时钟/机器周期8051CPU。
2.工作电压:
5.5V-3.4V(5V单片机)/3.8V-2.0V(3V单片机)。
3.工作频率范围:
0-40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz。
4.用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节。
5.片上集成1280字节/512字节RAM。
6.通用I/O口(32/36个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)。
a)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
b)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器;
c)可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片。
7.EEPROM功能。
8.看门狗。
9.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路。
10.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用。
11.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒。
12.通用异步串行口(UART),还可用定时器软件实现多个UART。
13.工作温度范围:
0--75℃/-40--+85℃。
14.封装:
LQFP-44,PDIP-40,PLCC-44,PQFP-44。
其引脚结构如图3-1所示:
图3-1STC89C52RC引脚结构
其内部结构如图3-2所示:
图3-2STC89C52RC内部结构
3.1.4STC89C52RC引脚功能介绍
1.电源引脚Vcc和GND
Vcc:
电源电压,GND(10脚):
接地端。
2.时钟电路引脚XTALl和XTAL2
XTAL2(18脚):
接外部晶体和微调电容的一端。
在内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
要检查单片机的振荡电路是否正确工作,可用示波器查看XTAL2端是否有脉冲信号输出。
XTAL1(19脚):
接外部晶体的微调电容的另一端。
在片内它是振荡电路反相放大器的输入端。
若需采用外部时钟电路时,该引脚输入外部时钟脉冲如图3-3,3-4所示。
图3-3STC89C52RC单片机晶振接法图3-4外部时钟电路
3.控制信号引脚RST
RST(9脚)“RST”是复位信号输入端,高电平有效。
当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。
4.I/O(输入/输出)P0、P1、P2和P3
标准51单片机,如8031、8051、STC89C51RC、STC89C52RC等有4个I/O(输入/输出)口,分别为:
P0口:
P0口是一个漏极开路的8位双向I/O口。
作为漏极八路的输出端口,每次能驱动8个LS型TTL负载。
当P0口作为输入口使用时,其先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,叫做为高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址、数据复用。
这种情模式下,P0具有内部上拉电阻。
在Flash编程时,P0口也接受指令字节,在编程校验时输出指令字节,程序校验时,也需要外部上拉电阻。
本设计利用P0口向数码管输出位和段的数据,使数码管显示温度当前值、最高设定值和最低设定值。
P1口:
P1口是一个带上拉电阻的8位准双向I/O端口每一位能驱动(吸收成输出电流)4个LS型TTL负载。
对P1端口写“1”时,内部上拉电阻端口拉高,此时可以作为输入口使用。
在Flash编程和校验时,P1口接受低8位地址字节。
如表3-1
表3-1
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
本设计利用P1口控制3个发光二极管,当温度传感器检测到得温度高于最高设定值或低于最低设定值,系统就会光报警(P1.0口、P1.1口、P1.3口)。
当温度传感器异常时,P1.0点亮LED1;当温度传感器检测到得温度高于最高设定值,P1.1点亮LED2;当温度传感器检测到得温度低于最低设定值,P1.2点亮LED3。
P1口并根据采集来的温度高低对电机进行相应的控制(P1.4口控制加热电机、P1.5口控制制冷电机)。
P2口:
P2口是一个带内部接上拉电阻的8位准双向埠。
P2口的每一位能驱动4个LS型TTL负载。
对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流在访问外部程序存储器时,P2口送出高八位地址。
本设计利用P2.2口来控制和接收温度传感器传来的数据,并利用P2.3口控制蜂鸣器的开和关。
P3口:
P3口是一个带内部接上拉电阻的8位准双向埠。
P3口的每一位能驱动(吸收或输出电流)4个LS型TTL负载。
P3口与其它的I/O埠有很大区别,它除作为—般准双向I/O口外,每个引脚还具有专门的功能,见表3-2。
本设计利用P3口来扫描按键和它的第二功能。
表3-2端口引脚功能
引脚号
第二功能
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(外部数据存储器读选通)
P1口也是一个准双向口,作通用I/O口使用。
其电路结构见图3-5。
5.特殊功能寄存器
特殊功能寄存器(SFR)的地址空间如表3-3所示
表3-3STC89C52RC特殊寄存器映像及复位值
0F8H
0F0H
0E8H
0E0H
0D8H
0D0H
0C8H
0C0H
0B8H
0B0H
0A8H
0A0H
98H
90H
88H
80H
0FFH
0F7H
0EFH
0E7H
0DFH
0D7H
0CFH
0C7H
0BFH
0B7H
0AFH
0A7H
9FH
97H
8FH
87H
B
00000000
ACC
00000000
PSW
00000000
T2CON
00000000
T2MOD
××××××00
RCAP2L
00000000
RCAP2H
00000000
TL2
00000000
TH2
00000000
IP
××000000
P3
11111111
IE
0×000000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 温度 控制 显示器 设计