多路温度检测系统的设计.docx
- 文档编号:9794426
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:38
- 大小:1MB
多路温度检测系统的设计.docx
《多路温度检测系统的设计.docx》由会员分享,可在线阅读,更多相关《多路温度检测系统的设计.docx(38页珍藏版)》请在冰豆网上搜索。
多路温度检测系统的设计
密级:
公开
科学技术学院
NANCHANGUNIVERSITYCOLLEGEOF
SCIENCEANDTECHNOLOGY
学士学位论文
THESISOFBACHELOR
(2008—2012年)
题目多路温度检测系统的设计
学科部:
信息学科部
专业:
自动化
班级:
081班
学号:
学生姓名:
指导教师:
起讫日期:
2011.11—2012.6
多路温度检测系统的设计
专业:
自动化学号:
学生姓名:
指导教师:
摘要:
本论文主要介绍多路温度的自动巡检、报警等,包括单片机AT89C51、A/D转换ADC0831、温度传感器、放大器OP07E以及硬、软件的设计。
本课题以高性能微处理器AT89C51单片机为核心,通过温度传感器Pa-t传感器,将检测到的数据输入0P07E放大器放大100倍,再将放大后的信号输入到ADC0831,经过A/D转换之后,其值由AT89C51处理,最后将其显示在D4,D3,D2,D1共四个七段数码管上。
本系统能够根据主控机的指令对温度进行实时巡检采集数据,并对数据进行存储和显示,本系统还包含了报警电路,当温度高于或者低于某一个设定值时,启动温度异常报警等。
而在软件上,本系统采用C语言编程,并且利用proteus进行仿真完成。
关键词:
温度自动巡检;AT89C51;ADC0831;温度传感器;
Multipletemperaturesensingsystemdesign
Abstract:
Thispaperintroducesthemulti-channeltemperatureoftheautomaticdatalogging,alarm,etc.,includingthemicrocontrollerAT89C51,A/DconverterADC0831,temperaturesensor,amplifierOP07Eandhardwareandsoftwaredesign.
Thetopicstolowvoltage,high-performancemicroprocessorAT89C51microcontrolleristhecoretemperaturesensorPa-tsensorthedetecteddatainput0P07Eamplified100times,andthenamplifiedthedatainputtotheADC0831,afterA/Dconversion,thevalueoftheAT89C51,atlast,toappearintheD4,D3,D2,D1offourseven-segmentdigitaltube.Thesystemiscapableofinstructiononthetemperatureofthehostcomputerforreal-timeinspectiondatacollection,anddatastorageanddisplay,thesystemalsoincludesanalarmcircuit,whenthetemperatureisaboveorfallsbelowasetvalue,thestarttemperatureabnormalalarm.Insoftware,thesystemusestheCprogramminglanguage,anduseproteussimulationtocomplete.
Keywords:
temperatureautomaticinspection;AT89C51;ADC0831;temperaturesensor;
第一章绪论
1.1引言
温度在现实生活中是一个很重要的物理参数,也是在实际应用中使用最多的参数,而随着社会的进步和工业技术的发展,人们也越来越重视温度因素。
因为它涉及到人们的日常生活、科学研究、工业生产、农业生产等领域,如家禽家畜等养殖业在温室环境下,可以保证家禽家畜的合适生长环境,使其健康生长和预防瘟疫的发生;当今大型仓库、大型粮库的监测与控制现状等。
可以说几乎80%的部门都不得不考虑着温度的因素。
围绕温度检测、控制等,市面上从而出现了温度检测仪表等,因为温度在现实生活中的重要性,使得这些测量工具得到了广泛应用。
随着科学技术的发展,这类仪表的发展也日新月异。
特别是随着计算机技术的迅猛发展,以单片机为主的嵌入式系统已广泛应用于工业控制领域,形成了智能化的测量控制仪器,其实时性高、精度高,能够综合处理多点温度等,从而引起了仪器仪表结构的根本性变革,也使得其有了更广泛的应用前景。
目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。
在这样的形式下,开发一种能够同时测量多点,并且实时性高,能够综合处理多点温度信息的测量系统就很有必要。
1.2主要研究的内容
以AT89C51单片机为核心,完成4路温度的巡回检测,温度传感器采用Pa-t传感器,测量范围为0……120℃,放大器采用OP07E,温度信号输入采用差动放大形式,A/D转换器采用串行ADC0831,用4位LED显示器巡回显示各路温度,其中第1位为序号,第2至4位为该路的温度值。
每路温度信号对应2个报警指示灯(1红1黄),当温度高于上限时红灯亮,低于下限时黄灯亮。
各路温度的上、下限值可在线设置。
1.3基本要求
1)以AT89C51单片机为核心(晶振11.0592MHZ),设计温度巡回检测系统。
2)完成4路温度检测、放大及A/D转换的设计。
3)完成4路温度的巡回显示,当按下[检测]键时,只显示本路温度,不巡回显示,再次按下[检测]键,进入报警温度设置,当按下[恢复]键时,恢复巡回显示。
4)完成4路温度的报警。
5)完成4路温度报警上、下限的设置。
6)键盘采用中断方式。
7)程序设计语言采用C语言。
8)在Proteus中进行仿真。
第二章多路温度检测系统硬件结构和模块化设计
2.1温度检测系统的总体结构
温度检测系统硬件结构主要包括:
传感器、放大器、A/D转换、单片机、显示、报警以及按键等。
其系统硬件结构图如下:
图1系统硬件设计框图
2.2AT89C51
目前国内市场上可供选择的单片机的类型有很多种,以MCS-51、MCS-96为主流系列。
其中MCS-51系列性能高价格便宜,开发用的仿真机研究较早并日趋完善,生产厂家较多,支持芯片种类繁多,适合不同应用场合的新机种不断涌现,使得MCS-51系列单片机在国内成为开发中小型嵌入式系统的首选。
AT89C51是带4K字节闪烁可编程可擦除只读存储器的低电压、高性能8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供。
1)主要特性:
①与MCS-51兼容;②4K字节可编程闪烁存储器;③32可编程I/O线④128×8位内部RAM;⑤全静态工作:
0Hz-24MHz;⑥5个中断源;⑦数据保留时间:
10年;⑧寿命:
1000写/擦循环;⑨两个16位定时器/计数器;⑩三级程序存储器锁定,可编程串行UART通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
2)管脚说明
图2AT89C51引脚图
P0:
P0为一个8位漏极开路型双向I/O端口,P0口可作通用I/O口使用,但在端口进行输入操作前,应先向端口的输出锁存器写“1”。
在CPU访问片外存储器时,P0口自动作为地址/数据复用总线使用,分时向外部存储器提供低8位地址和传送8位双向数据信号。
在对EPROM编程时,由P0口输入指令字节,而在验证程序时,P0输出指令字节(验证时应外接上拉电阻)。
P0口能以吸收电流的方式驱动8个LS型TTL负载。
P1:
P1是一个内部带上拉电阻的8位准双向I/0端口,当P1输出高电平时,能向外部提供拉电流负载,因此,不需要外接上拉电阻。
当端口用作输入时,也应该先向端口的输出锁存器写入“1”,然后再读取端口数据。
在对EPROM编程和验证程序时,它用来输入低8为地址,P1口能驱动4个LS型TTL负载。
P2:
P2为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3:
P3管脚是一个内部带上拉电阻的8位多功能双向I/O端口,可接收输出4个TTL门负载。
无论P3口作通用输入口还是作第二输入功能口使用,相应位的输出锁存器和第二输出功能端都应置“1”。
P3也可作为AT89C51的第二功能口,如表2-1所示。
表1P3口第二功能
端口引脚
第二功能
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(外部数据存储器“读”控制输出信号)
P3口的第二功能是作为控制端口使用的。
由于单片机没有专设的控制信号引脚,单片机在进行外部存储器和I/O端口扩展时所需要的控制信号必须由P3口提供,P3口第二功能相当于PC机中CPU的控制线引脚。
RST:
复位功能,单片机上电后,在该引脚上出现两个机器周期宽度以上的高电平,就会使单片机复位。
备用功能,在主电源掉电期间,该引脚Vpd可接+5v电源,当Vcc下降到低于规定的电平,而Vpd在其规定的电压范围内时,Vpd就向片内RAM提供备用电源,以保持片内RAM中信息不丢失,以便电压恢复正常后单片机能正常运行。
ALE/PROG:
为低8位地址锁存使能输出编程脉冲输入端,当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号,即读选信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
VCC:
供电电压。
GND:
接地。
2.3模数转换器ADC0831
ADC0831是美国国家半导体公司生产的一种8位分辨率、双通道带有串行接口的A/D转换芯片。
由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。
ADC0831的工作过程:
首先将ADC0831的时钟拉低,再将片选端CS置低,启动A/D转换。
接下来在第一个时钟的下降沿到来时,ADC0831的数据输出端被拉低,准备输出转换数据。
从时钟的第二个下降沿到来开始,ADC0831开始输出转换数据,直到第九个下降沿为止,共8位,输出的顺序从最高位到最低位。
ADC0831启动程序:
/***0831初始化和数据读取***/
ucharreadad0831()
{
uchari=0,tmp=0;
DO1=1;
CS1=1;
delayUs();
CLK1=0;
CS1=0;
delayUs();
CLK1=1;
delayUs();
CLK1=0;
delayUs();
CLK1=1;
delayUs();
CLK1=0;
delayUs();
for(i=0;i<=7;i++)
{
tmp<<=1;//左移一位
if(DO1)
tmp++;
CLK1=1;
delayUs();
CLK1=0;
delayUs();
}
CS1=1;
returntmp;
}
芯片接口说明
图3ADC0831引脚图
CS:
片选使能,低电平芯片使能。
VREF:
参考电压输入端,接+5V。
GND:
芯片参考0电位。
CLK:
芯片时钟输入(复用)。
V
(+):
接电源正极。
V
(-):
接电源负极。
D0:
A/D转换数据输出端。
技术指标:
①8位分辨率;②一般功耗为15mW;③转换时间为32us;④5V电源供电时输入电压为0~5V之间。
2.4数码显示器
发光二极管简称为LED,由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。
磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
不同的半导体材料中电子和空穴所处的能量状态不同。
当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。
常用的是发红光、绿光或黄光的二极管。
发光二极管的核心部分是由P型半导体和由N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。
本次设计选用的是四位一体共阳极数码管。
这类数码管可以分为共阳极和共阴极,共阳极就是把所有LED的阳极连接到共同节点com,而每个LED的阴极非别为a、b、c、d、e、f、g及dp;共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp。
数码管使用条件:
①段及小数点上加限流电阻;②使用电压:
段、小数点,根据发光颜色决定;③使用电压:
静态:
80mA,动态:
平均电流4—5mA,峰值电流:
100Ma。
2.5放大器OP07
OP07是一种高精度单片运算放大器,具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长期稳定等特点。
可广泛应用于稳定积分、精密绝对值电路、比较器及微弱信号的精确放大,尤其适应于宇航、军工及要求微型化、高可靠的精密仪器仪表中。
OP07作为一种低噪声高精度运算放大器,特别适合做前级放大器。
具有以下特点:
1)低的输入噪声电压幅度—0.35μVP-P(0.1Hz~10Hz)。
2)极低的输入失调电压—10μV。
3)极低的输入失调电压温漂—0.2μV/℃。
4)具有长期的稳定性—0.2μV/MO。
5)低的输入偏置电流—±1nA。
6)高的共模抑制比—126dB。
7)宽的共模输入电压范围—±14V。
8)宽的电源电压范围—±3V~±22V。
9)可替代725、108A、741、AD510、1875等电路。
2.6键盘
键盘选用四个不锁存式按键,一端与地相接另一端与单片机直接相连,当第一个按键按下时产生一个低电平,系统进入单路温度检测,当再次按下第一个按键时,系统进入此路最高温度报警值的设定,第二个和第三个按键分别是温度加一键和减一键,当按下第四个按键时,系统恢复四路温度检测。
按键的作用只是简单的实现接点的接通或断开,按键的去抖动、按键的编码的形成和按键的识别等均由软件来完成。
第三章多路温度检测系统软件设计
3.1编程语言的选择
软件开发的过程中,对编程语言的选择有着重要的意义。
目前一般有汇编语言、C语言、C++等。
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。
它既可以用来编写系统软件,也可以用来编写应用软件。
C语言有高级语言的先进思想又能直接对存储器进行操作,能进行位运算,生成目标代码质量高,程序执行效率高。
C语言用函数作为程序模块,以实现程序的模块化,语言简洁、紧凑,具有结构化特点。
C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好等。
基于以上考虑,决定采用C语言作为此系统的编程语言。
3.2系统软件总体设计
整个温度检测系统是在程序控制下工作的,该系统的软件全部采用C语言编写,以提高系统的可移植性和实用性。
其设计方法与硬件设计相对应,同样采用模块化的设计思想,将该部分设计划分为相应的程序模块,分别进行设计、编译和调试,最后通过主程序和中断处理程序将各程序模块连接起来。
这样有利于程序修改和调试,增强了程序的可移植性。
整个软件系统主要有以下几部分:
主程序:
主要完成系统初始化、中断优先级设定以及判断调用各模块程序,即主要实现各程序模块的连接。
数据采集:
主要完成对ADC0831的初始化以及对温度的采集等。
温度显示:
主要完成将单片机处理后的数据通过数码管显示。
键盘:
实现单路温度检测和上限温度值的设定等。
3.3系统软件主流程
图4软件主流程图
3.4系统按键程序流程
系统按键程序主要分为以下几部分:
系统初始化程序、显示程序、键盘处理程序。
初始化程序主要送入各种命令字以及开中断,放在主程序中;显示程序编为显示子程序;键盘处理程序放在中断服务程序中。
相应的程序流程如图3-2所示,其中键盘处理程序采用中断方式,通过定时器1中断实现。
图5按键程序流程图
第四章多路温度检测系统仿真
4.1Proteus简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、AVR、ARM、8086PIC10/12/16/18/24/30/DsPIC33和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Proteus与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。
因此在仿真和程序调用时,关心的不再是某些语句执行时单片机寄存器和储存器内容的改变,而是从工程的角度直接看程序运行和电路工作过程和结果。
Proteus主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES主要用于印制电路板的设计。
本次课题设计主要用的是ISIS部分。
ProteusISIS是一种操作简便而又功能强大的原理图编译工具,它运行于Windows操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点有:
1)实现了单片机仿真和SPICE电路仿真结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统仿真、RS232动态仿真、I
C调试器、SPI调试器、键盘和LCD系统仿真等功能;有各种虚拟仪器。
如示波器、逻辑分析仪、信号发生器等。
2)支持主流单片机系统的仿真。
目前支持的单片机类型有68000系列、8051系列、ARM系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、PIC24系列、BSTAMP系列、Z80系列、HC11系列以及各种外围芯片。
3)提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各种变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境。
如KeiluVision3等软件。
4)具有强大的原理图绘制功能。
4.2Proteus的工作过程
运行Proteus的ISIS程序后,进入该仿真软件的主界面。
在工作前,要设置VIEW菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。
通过工作栏中的P(从库中选择元件命令)命令。
在pickdevices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Definecodegenerationtools菜单命令下,选择程序编译的工具、路径、扩展名的项目:
在source菜单的Add/removesourcefiles命令下,加入单片机硬件电路的对应程序:
通过debug菜单的相应命令仿真程序和电路的运行情况。
Proteus提供了比较丰富的测试信号用于电路的测试。
对于单片机硬件电路和软件的调试,Proteus提供了两种方法:
一种是系统总执行效果;一种是对软件的分部调试以看具体的执行情况。
对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 检测 系统 设计