结的温度计实训_第1页
结的温度计实训_第2页
结的温度计实训_第3页
结的温度计实训_第4页
结的温度计实训_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

27/25PN结的温度计实训毕业论文摘要温度传感器是实现温度检测和控制的重要器件。在种类繁多的传感器中,温度传感器是应用最广泛、发展最快的感器之传一。温度传感器是通过物体随温度变化而改变某种特性来间接测量的。不少材料、元件的特性都随温度的变化而变化,所以能作温度传感器的材料相当多。温度传感器随温度而引起物理参数变化的有:膨胀、电阻、电容、而电动势、磁性能、频率、光学特性及热噪声等等。随着生产的发展,新型温度传感器还会不断涌现。关键词:温度传感器;ADC0809;单片机;LM358AbstractTemperaturesensorisanimportanttemperaturemeasurementandcontroldevices。Inawidevarietyofsensors,temperaturesensorsarethemostwidelyused,oneofthefastestgrowingofthesensor.Temperaturesensorbyanobjectchangeswithtemperaturechangesomefeaturestoindirectmeasurement。Manymaterials,devicecharacteristicschangewiththetemperaturechange,sothematerialcanbequitealotoftemperaturesensors.Temperaturesensorwithtemperaturechangescausedbyphysicalparametersare:expansion,resistance,capacitance,andelectromotiveforce,magnetic,frequency,opticalpropertiesandthermalnoiseandsoon.Withthedevelopmentofproduction,thenewsensorwillcontinuetoemerge。Keywords:Temperaturesensor;ADC0809;Soc;LM358目录TOC\o"1—4"\h\z\u引言ﻩPAGEREF_Toc265266486\h11.温度传感器的基本概念ﻩ5266487\h21.1温度传感器的定义ﻩPAGEREF_Toc265266488\h21。2温度传感器的物理原理 PAGEREF_Toc265266489\h21.2。1基本物理原理 PAGEREF_Toc265266490\h21。2.2温度传感器应满足的条件 PAGEREF_Toc265266491\h31。3温度传感器的种类及特点 PAGEREF_Toc265266492\h31.3。1接触式温度传感器 PAGEREF_Toc265266493\h31。3.2非接触式温度传感器ﻩPAGEREF_Toc265266494\h31.4温度传感器的主要发展方向ﻩPAGEREF_Toc265266495\h42.整体设计思路ﻩPAGEREF_Toc265266496\h42.1方案设计与论证 PAGEREF_Toc265266497\h42。2基本设计要求ﻩPAGEREF_Toc265266498\h42.3系统基本方案 PAGEREF_Toc265266499\h42。4操作设计ﻩPAGEREF_Toc265266500\h53。主要芯片介绍ﻩPAGEREF_Toc265266501\h53.1AT89S52介绍 PAGEREF_Toc265266502\h53.1.1主要性能ﻩPAGEREF_Toc265266503\h53.1.2功能特性描述 PAGEREF_Toc265266504\h53。2A/D0809芯片介绍ﻩPAGEREF_Toc265266505\h83。2.1主要性能ﻩPAGEREF_Toc265266506\h83.2.2功能特性描述 PAGEREF_Toc265266507\h83。3LM358芯片介绍ﻩPAGEREF_Toc265266508\h93。3。1主要性能 PAGEREF_Toc265266509\h93。3。2功能特性描述ﻩPAGEREF_Toc265266510\h104.硬件电路设计 PAGEREF_Toc265266511\h114.1ADC0809与MCS—51的接口方法 PAGEREF_Toc265266512\h114。2硬件原理图ﻩPAGEREF_Toc265266513\h124。3印制电路板PCB图ﻩPAGEREF_Toc265266514\h135。软件设计部分ﻩPAGEREF_Toc265266515\h145。1程序流程图ﻩPAGEREF_Toc265266516\h145.2源程序ﻩPAGEREF_Toc265266517\h146.总结ﻩPAGEREF_Toc265266518\h24谢辞 PAGEREF_Toc265266519\h25参考文献 PAGEREF_Toc265266520\h26附录 PAGEREF_Toc265266521\h27引言在当今信息化时代发展过程中,各种信息的感知、采集、转换、传输和处理的功能器件—-传感器或智能传感器,已经成为各个应用领域中不可缺少的重要技术工具。获取各种信息的传感器无疑掌握着这些领域和系统的命脉。传感器是信息采集系统的首要部件,是现实现代化测量和自动控制(包括遥感、遥测、遥控)的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质与技术基础。现在传感器与信息技术、计算机技术并列成为支撑整个现代信息产业的三大支柱,可以设想如果没有高度保真和性能可靠的传感器,没有先进的传感器技术,那么信息的准确获取就成为一句空话,信息技术和计算机技术就成为无源之水。目前从宇宙探索、海洋开发、环境保护、灾情预报到包括生命科学在内的每一项现代科学技术的研究以及人民群众的日常生活等等,无一不与传感器技术紧密联系着。传感器(SENSOR)是由敏感元件和转换元件组成的可将电量或非电量转换为可测量的电量的检测装置.如果把计算机比作人的大脑,通讯是神经网络,那么传感器就是人的感觉器官,它所采集的信息对于计算机大脑的思维及处理结果具有决定性的意义.传感器是信息采集系统的首要部件,是实现现代化测量和自动控制的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质与技术基础。在信息技术不断发展,人类文明不断进步的时代,越来越多的电子产品开始占们的日常工作和生活。可见,应用、研究和开发传感器和传感器技术是信息时代的必要要求.因此,毫无夸张地说:没有传感器及其技术将没有现代化科学技术的迅速发展.本次设计的目的就是让我们在理论学习的基础上,通过完成一个传感器件的设计,使我们学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高.1.温度传感器的基本概念1。1温度传感器的定义温度是一个基本的物理量,自然界中的一切过程无不与温度密切相关。从17世纪初人们开始利用温度进行测量。在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、红外传感器和微波传感器。温度传感器是五花八门的各种传感器中最为常用的一种,现代的温度传感器外形非常得小,这样更加让它广泛应用在生产实践的各个领域中,也为我们的生活提供了无数的便利和功能.温度传感器有四种主要类型:热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器。IC温度传感器又包括模拟输出和数字输出两种类型。温度计通过传导或对流达到热平衡,从而使温度计的示值能直接表示被测对象的温度。一般测量精度较高。在一定的测温范围内,温度计也可测量物体内部的温度分布。但对于运动体、小目标或热容量很小的对象则会产生较大的测量误差,常用的温度计有双金属温度计、玻璃液体温度计、压力式温度计、电阻温度计、热敏电阻和温差电偶等。它们广泛应用于工业、农业、商业等部门。在日常生活中人们也常常使用这些温度计。随着低温技术在国防工程、空间技术、冶金、电子、食品、医药和石油化工等部门的广泛应用和超导技术的研究,测量120K以下温度的低温温度计得到了发展,如低温气体温度计、蒸汽压温度计、声学温度计、顺磁盐温度计、量子温度计、低温热电阻和低温温差电偶等。低温温度计要求感温元件体积小、准确度高、复现性和稳定性好。1.2温度传感器的物理原理1.2。1基本物理原理*随物体的热膨胀相对变化而引起的体积变化;*蒸气压的温度变化;*电极的温度变化*热电偶产生的电动势;*光电效应*热电效应*介电常数、导磁率的温度变化;*物质的变色、融解;*强性振动温度变化;*热放射;*热噪声.1.2.2温度传感器应满足的条件*特性与温度之间的关系要适中,并容易检测和处理,且随温度呈线性变化;*除温度以外,特性对其它物理量的灵敏度要低;*特性随时间变化要小;*重复性好,没有滞后和老化;*灵敏度高,坚固耐用,体积小,对检测对象的影响要小;*机械性能好,耐化学腐蚀,耐热性能好;*能大批量生产,价格便宜;*无危险性,无公害等1。3温度传感器的种类及特点1.3.1接触式温度传感器1)常用热电阻范围:-260~+850℃;精度:0.001℃.改进后可连续工作2000h,失效率小于1%,使用期为10年。2)管缆热电阻测温范围为-20~+500℃,最高上限为1000℃,精度为0。5级。3)陶瓷热电阻测量范围为–200~+500℃,精度为0。3、0.15级.4)超低温热电阻两种碳电阻,可分别测量–268.8~253℃-272。9~272.99℃的温度。5)热敏电阻器适于在高灵敏度的微小温度测量场合使用。经济性好、价格便宜。接触式温度传感器的特点:传感器直接与被测物体接触进行温度测量,由于被测物体的热量传递给传感器,降低了被测物体温度,特别是被测物体热容量较小时,测量精度较低。因此采用这种方式要测得物体的真实温度的前提条件是被测物体的热容量要足够大。1.3。2非接触式温度传感器l)辐射高温计用来测量1000℃以上高温。分四种:光学高温计、比色高温计、辐射高温计和光电高温计。2)光谱高温计前苏联研制的YCI—I型自动测温通用光谱高温计,其测量范围为400~6000℃,它是采用电子化自动跟踪系统,保证有足够准确的精度进行自动测量。3)超声波温度传感器特点是响应快(约为10ms左右),方向性强。目前国外有可测到5000℉的产品。4)激光温度传感器适用于远程和特殊环境下的温度测量。如NBS公司用氦氖激光源的激光做光反射计可测很高的温度,精度为1%。美国麻省理工学院正在研制一种激光温度计,最高温度可达8000℃,专门用于核聚变研究.瑞士BrowaBorer研究中心用激光温度传感器可测几千开(K)的高温。接触式温度传感器的特点:非接触式温度传感器主要是利用被测物体热辐射而发出红外线,从而测量物体的温度,可进行遥测。其制造成本较高,测量精度却较低。优点是:不从被测物体上吸收热量;不会干扰被测对象的温度场;连续测量不会产生消耗;反应快等。1.4温度传感器的主要发展方向(1)超高温与超低温传感器,如+3000℃以上和–250℃以下的温度传感器.(2)提高温度传感器的精度和可靠性.(3)研制家用电器、汽车及农畜业所需要的价廉的温度传感器。(4)发展新型产品,扩展和完善管缆热电偶与热敏电阻;发展薄膜热电偶;研究节省镍材和贵金属以及厚膜铂的热电阻;研制系列晶体管测温元件、快速高灵敏CA型热电偶以及各类非接触式温度传感器。(5)发展适应特殊测温要求的温度传感器。(6)发展数字化、集成化和自动化的温度传感器。2.整体设计思路2。1方案设计与论证热电偶传感器有自己的优点和缺陷,它灵敏度比较低,容易受到环境干扰信号的影响,也容易受到前置放大器温度漂移的影响,因此不适合测量微小的温度变化。热电偶虽然有测温范围宽的优点,但其热电势较低;热敏电阻的工作温度范围窄,但灵敏度高,有利检测微小温度变化,由于它们输出都是非线性的,给使用带来一定的困难。而PN结温度传感器和它们相比,最大的优点是输出特性呈线性,且测量精度高。PN结测温传感器是利用半导体材料和器件的某些性能参数对温度依赖性,实现对温度的检测、控制和补偿等功能。基于这些方面的考虑,我们最终选择了PN结作为测温的元件。2.2基本设计要求本次设计是基于PN结的温度传感器设计,测量范围:0~100°C,数码管显示温度变化,测量误差精确到1~0.5°C,能设置温度上下限和实现报警功能。2.3系统基本方案测温工作原理:传感器通过外界温度的变化,使得加在其两端的电压发生变化,当温度上升时,其两端的电压会下降,并且通过温度与电压的比例关系,将电压值送到ADC0809进行AD转换,将转换输出的0、1代码送到S51单片机处理后送到数码管显示,通过数码管显示当前温度。图2.1测温原理图2.4操作设计(1)4个按键分别控制复位、温度上下限报警设置、时间设置、加减计数(2)上电并下载程序后,数码管显示当前周边环境温度值(3)超过设置的温度上下限之后,蜂鸣器鸣响实现报警功能(4)2个电位器:分别为调节运放大增益和基准电压。3。主要芯片介绍

3.1AT89S52介绍

3.1.1主要性能与MCS—51产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。3.1。2功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案.AT89S52具有以下标准功能:8k字节Flash,256字节RAM。32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式.空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程FlashAT89S52P0口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1"时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).此外,P1.0和P1。2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示.在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1。1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1。5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号.P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下所示:在flash编程和校验时,P3口也接收一些控制信号.端口引脚第二功能P3。0RXD(串行输入口)P3。1TXD(串行输出口)P3。2INTO(外中断0)P3。3INT1(外中断1)P3.4TO(定时/计数器0)P3。5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST—-复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG--当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的.要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲.对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作.该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效.PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号.EA/VPP-—外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。3.2A/D0809芯片介绍3。2。1主要性能(1)8位逐次逼近型A/D转换器,所有引脚的逻辑电平与TTL电平兼容。(2)带有锁存功能的8路模拟量转换开关,可对8路0~5V模拟量进行分时切换。(3)输出具有三态锁存功能。(4)分辨率:8位,转换时间:100μs。(5)不可调误差:±1LBS,功耗:15mW。(6)工作电压:+5V,参考电压标准值+5V。(7)片内无时钟,一般需外加640KHz以下且不低于100KHz的时钟信号。3。2.2功能特性描述图3.1各引脚的功能如下:IN0~IN7:8个通道的模拟量输入端.可输入0~5V待转换的模拟电压。D0~D7:8位转换结果输出端。三态输出,D7是最高位,D0是最低位。图2-3A/DC0809引脚A、B、C:通道选择端。当CBA=000时,IN0输入;当CBA=111时,IN7输入。图2-3A/DC0809引脚ALE:地址锁存信号输入端。该信号在上升沿处把A、B、C的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。START:启动转换信号输入端.从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。脉冲宽度应不小于100~200ns.EOC:转换结束信号输出端。启动A/D转换时它自动变为低电平.OE:输出允许端。CLK:时钟输入端。ADC0809的典型时钟频率为640kHz,转换时间约为100μs。REF(-)、REF(+):参考电压输入端.ADC0809的参考电压为+5V。VCC、GND:供电电源端.ADC0809使用+5V单一电源供电.当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平。在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束.OE为低电平时,D0~D7为高阻状态,OE为高电平时,允许转换结果输出。ADC0809是CMOS的8位模/数转换器,采用逐次逼近原理进行A/D转换,芯片内有模拟多路转换开关和A/D转换两大部分,可对8路0~5V的输入模拟电压信号分时进行转换。模拟多路开关由8路模拟开关和3位地址锁存译码器组成,可选通8路模拟输入中的任何一路,地址锁存信号ALE将3位地址信号ADDA、ADDB、ADDC进行锁存,然后由译码电路选通其中的一路,被选中的通道进行A/D转换。A/D转换部分包括比较器、逐次逼近寄存器(SAR)、256R电阻网络、树状电子开关、控制与时序电路等。另外ADC0809输出具有TTL三态锁存缓冲器,可直接连到CPU数据总线上。ADC0809的多路转换:在实时控制与实时检测系统中,被控制与被测量的电路往往是几路或几十路,对这些电路的参数进行模/数、数/模转换时,常采用公共的模数、数模转换电路.因此,对各路进行转换是分时进行的。此时,必须轮流切换各被测电路与模数、数模转换电路之间的通道,以达到分时切换的功能。ADC0809转换时序:首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。然后输入启动转换控制信号START(不小于100ns),启动A/D转换。转换结束,数据送三态门锁存,同时发出EOC信号,在允许输出信号控制下,再将转换结果输出到外部数据总线.3.3LM358芯片介绍3。3。1主要性能LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。LM358的封装形式有塑封8引线双列直插式和贴片式。3.3。2功能特性描述图3.2*内部频率补偿ﻫ*直流电压增益高(约100dB)ﻫ*单位增益频带宽(约1MHz)

*电源电压范围宽:单电源(3-30V);双电源(±1。5一±15V)

*低功耗电流,适合于电池供电

*低输入偏流

*低输入失调电压和失调电流

*共模输入电压范围宽,包括接地

*差模输入电压范围宽,等于电源电压范围

*输出电压摆幅大(0至Vcc-1。5V)

参数描述:*输入偏置电流45nA*输入失调电流50nA*输入失调电压2.9mV*输入共模电压最大值VCC~1.5V*共模抑制比80dB*电源抑制比100dB

4.硬件电路设计4。1ADC0809与MCS—51的接口方法ADC0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。由于ADC0809无片内时钟,时钟信号可由单片机的ALE信号经D触发器二分频后获得。ALE引脚得脉冲频率是8051时钟频率的1/6。该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,二分频后为500Hz,符合ADC0809对频率的要求.由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A、B、C相连。通道基本地址为0000H~0007H。其对应关系如表4.1所示。表4.1地址码输入通道CBA000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7图4。1ADC0809与MCS—51接口电路4.2硬件原理图图4.24。3印制电路板PCB图图4.35.软件设计部分5.1程序流程图各功能图5.15.2源程序#include〈reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodedata_disp[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0——9staticuchardisp[4]={0,0,0,0};staticuchartemp=0;staticuintT1_H=500,T1_L=100;/////T1_H1,T1_H2:一通道高温(上限)报警温度设定值./////T1_L1,T1_L2:一通道低温(下限)报警温度设定值.uintBUT3=0;ucharda1,da2,RE1=0;uintdp1,dp0,Tadc,adc,quick;bitflag=1;bitflag1=1;sbitBUT1=P3^1;ﻩ//按键1sbitBUT2=P3^2;//按键2sbitEOC=P2^0;//转化完成标志sbitOE=P2^1; //允许输出数据sbitST=P2^2;ﻩ//开始AD转化sbitTTA=P2^5;//TTC、TTB、TTA为通道地址IN0(TTC=0,TTB=0,TTA=0)、IN1(001)、IN2(010)、IN3(011)、IN4(100)、IN5(101)、IN6(110)、IN7(111)、sbitTTB=P2^6;//sbitTTC=P2^7;//sbits1=P3^4; //位选sbits2=P3^5;sbits3=P3^6;sbits4=P3^7;sbitCLK=P3^0;//产生900KHZ频率sbitAA1=P2^3;// 接蜂鸣器sbitAA2=P2^4;//2通道温度指示灯(黄灯)ﻩvoidtime_1();//定时器、中断初起化voiddelay(uintn);//nus的延时程序voiddisplay();//AD转换后的数据处理voidtun_tt();ﻩ//各功能间转换程序voidwei_3();//AD数据位选程序voidwei_4();//AD数据位选设置程序voidwarning_T1();//IN0通道的高、低温(上、下限)报警温度处理voidRE_RE();//设置状态下按键数秒内无动作则保存后自动返到初起显示程序uintADC0809();//数据采集///////////////////////////////////////////////////////voiddelay(uintn){ ucharj; for(j=0;j<n;j++);}/////////////////////////////////////////////////////voidCLK_500KHZ()interrupt1{ﻩTH0=(65536-1)/256;ﻩTL0=(65536-1)%256; CLK=~CLK;}//////////////////////////////////////////////voidzhongduan_1()interrupt2{ BUT3++;ﻩRE1=0;} ﻩ/////////////////////////////////////////////////////voidttime1()interrupt3 { TH1=0x3c;//50msﻩTL1=0xb0; RE1++; temp++; if(temp==10||temp==20) {ﻩ flag=!flag;ﻩ}ﻩif(temp==20) {ﻩ temp=0; }ﻩif((temp==4)||(temp==8)||(temp==12)||(temp==16)||(temp==20)) { flag1=!flag1; }}////////////////////////////////////////////////voidtime_1(){ TMOD=0x11;//选用定时器0和1 TH1=0x3c; TL1=0xb0;ﻩTH0=(65536—1)/256;ﻩTL0=(65536—1)%256;ﻩEA=1; TR1=1;ﻩTR0=1;ﻩET1=1; ET0=1;ﻩPT1=1;ﻩPT0=0;ﻩ EX1=1;ﻩPX1=1; IT1=1;//下降沿触发 }////////////////////////////////////////////voidtun_tt()//按键处理程序{ switch(BUT3)ﻩ{ case0: ///////////////////////////////////////ﻩ//IN0通道温度 ﻩ{ quick++; ﻩﻩﻩ ﻩif(quick>1)//数据跑动的速度 ﻩ{ dp0=ADC0809();//取ADC0809采集到的数据 ﻩadc=dp0*(8000/255);//采集到的数据做处理 ﻩquick=0;ﻩﻩ if(adc>Tadc) ﻩﻩ{ ﻩﻩ ﻩif(Tadc==9999) ﻩﻩ {Tadc=9999;}ﻩﻩﻩﻩelseﻩﻩﻩﻩﻩ{Tadc=Tadc+1;}ﻩ ﻩﻩ ﻩ } elseif(adc==Tadc)ﻩﻩ ﻩ{adc=Tadc;} else ﻩ{ ﻩﻩ Tadc=Tadc—1; ﻩ if(Tadc==0xffff) ﻩ {ﻩ ﻩ Tadc=9999;ﻩ }ﻩ ﻩ} } dp1=Tadc; ﻩda1=dp1/100;ﻩdelay(5);//转换后的数送给P0ﻩ da2=dp1%100; delay(5);//转换后的数送给P0ﻩ ﻩwarning_T1();//报警控制 display();ﻩ wei_3(); ﻩ break; ﻩ}ﻩ case1: ////////////////////////////////////设置IN0通道的高温(上限)报警温度 { ﻩﻩAA1=1;//蜂鸣器不响 AA2=0;//黄灯保持亮ﻩﻩﻩif(BUT2==0)ﻩ ﻩ{ﻩﻩﻩﻩT1_H++; if(T1_H==10000) ﻩ { ﻩﻩ ﻩT1_H=0;ﻩ ﻩ} ﻩﻩ ﻩwhile(BUT2==0) ﻩ { ﻩﻩﻩwei_3();ﻩ } }ﻩ ﻩif(BUT1==0) ﻩﻩ{ ﻩﻩT1_H——;ﻩ ﻩif(T1_H==0xffff)ﻩﻩ ﻩ{ﻩﻩ T1_H=9999; }ﻩ ﻩwhile(BUT1==0) {wei_3();} ﻩﻩ}ﻩ ﻩda1=T1_H/100;ﻩﻩﻩda2=T1_H%100;ﻩ ﻩﻩdisplay();ﻩ wei_4();ﻩﻩ RE_RE();//设置按键数秒内无动作则保存后自动返到时间显示程序 ﻩ break;ﻩ }ﻩﻩcase2: ///////////////////////////////////////设置期IN0通道的低温(下限)报警温度 { AA1=1;//蜂鸣器不鸣ﻩ ﻩAA2=flag1;//黄灯快速闪烁ﻩ ﻩif(BUT2==0)ﻩ ﻩ{ﻩ T1_L++;ﻩﻩ ﻩif(T1_L==10000) ﻩ{ T1_L=0; } ﻩﻩ ﻩwhile(BUT2==0)ﻩ{wei_3();} } if(BUT1==0)ﻩ ﻩ{ﻩ ﻩﻩT1_L——; ﻩif(T1_L==0xffff) ﻩﻩ {ﻩ ﻩ T1_L=9999; ﻩ }ﻩ while(BUT1==0)ﻩ{wei_3();}ﻩ ﻩ} ﻩ da1=T1_L/100; ﻩﻩda2=T1_L%100; ﻩﻩﻩdisplay(); wei_4(); RE_RE();//设置按键数秒内无动作则保存后自动返到时间显示程序ﻩﻩﻩﻩbreak; ﻩ}ﻩ default: { ﻩﻩﻩBUT3=0; ﻩ if((BUT1==0)&&(BUT2==0)) ﻩ {BUT3=0;} ﻩﻩbreak;ﻩ }ﻩ}}///////////////////////////////////////////////ﻩvoidmain()ﻩ//主程序{ time_1(); while(1)ﻩ{ tun_tt(); }}///////////////////////////////////////////voiddisplay()//AD数据处理{ﻩdisp[0]=da1/10;ﻩdisp[1]=da1%10;ﻩdisp[2]=da2/10; disp[3]=da2%10;}//////////////////////////////////////////ﻩ///////////////////////////voidwei_3()//AD数据位选程序{uinti;for(i=0;i<=4;i++){ if(i==0){s1=0;} else{s1=1;}ﻩﻩif(i==1){s2=0;} ﻩelse{s2=1;}ﻩﻩif(i==2){s3=0;}ﻩﻩelse{s3=1;}ﻩ if(i==3){s4=0;}ﻩ else{s4=1;} if(i==2)ﻩ{ﻩP1=data_disp[disp[i]]|0x80;ﻩ delay(50); } elseﻩ{ P1=data_disp[disp[i]]; delay(50);ﻩ} /*if(BUT3==2&&i==1) {ﻩP2=data_disp[disp[i]]|0x80;ﻩﻩdelay(50);ﻩ}ﻩelseﻩ{ P2=data_disp[disp[i]];ﻩdelay(50);ﻩ}*/ ﻩﻩ}}////////////////////////////////////////////////////voidwei_4()//AD数据位选设置程序{uinti;for(i=0;i〈=4;i++){ ﻩif(i==0){s1=0;} else{s1=1;} if(i==1){s2=0;} ﻩelse{s2=1;} if(i==2){s3=0;} else{s3=1;} if(i==3){s4=0;}ﻩ else{s4=1;}ﻩif(!flag1)ﻩ{ P1=0; ﻩdelay(50); }ﻩelseif(i==2) {ﻩP1=data_disp[disp[i]]|0x80; delay(50); } elseﻩ{P1=data_disp[disp[i]]; delay(50);}ﻩ }}////////////////////////////////////////////////////voidRE_RE()//设置按键数秒内无动作则保存后自动返到初起显示程序{ﻩif((BUT1==0)||(BUT2==0)) {ﻩRE1=0;ﻩ}ﻩif(RE1==200)//RE=xx表示n秒内设置按键无动作则执行返回ﻩ{ﻩBUT3=0; }ﻩif((BUT1==0)&&(BUT2==0))ﻩ{BUT3=0;}}/////////////////报警处理////////////////////////////////voidwarning_T1()//IN0通道的高、低温(上、下限)报警温度{ﻩif(dp1>=T1_H)//大于上限时做以下动作ﻩ{ﻩﻩAA1=flag;//蜂鸣器响起报警信号 ﻩAA2=flag1;//黄灯快速闪烁 ﻩ} elseif(dp1<=T1_L)//小于下限时做以下动作 {ﻩ AA1=0;////蜂鸣器长鸣 ﻩAA2=0;//黄灯亮 ﻩﻩ ﻩ} else { AA1=1;//蜂鸣器不响 AA2=0;//黄灯亮ﻩ }ﻩif(T1_H<=T1_L)//上限小于或等于下限时做以下动作ﻩ{ﻩ AA1=0;////蜂鸣器长鸣ﻩﻩAA2=1;//黄灯灭 }ﻩ}/////////////////////数据采集/////////////////////////////////uintADC0809()//数据采集{ ﻩﻩﻩTTA=0;TTB=0;TTC=0;//ﻩIN0通道地址数据码011ﻩﻩ ST=1;ﻩﻩdelay(20);//开始AD转换ﻩﻩ ST=0;ﻩﻩwhile(EOC==0); //等待AD数据转换是否完毕ﻩOE=1;ﻩﻩdelay(5);//转换完毕,送数允许位置1 ,即开始数据传输 adc=P0; ﻩOE=0ﻩ;//关闭数据通道传输口 ST=0;ﻩreturn(adc);ﻩ}6。总结通过本次实训我对数电、模电、传感器等知识有了更深入的了解,加深了自己对课本理论知识的理解与应用。在短短的两周里,同学们为了完成任务,很多人学会了熬夜.在平房、在宿舍,很晚了还能看到有些同学在焊板和调试,担心不能按时完成实训要求。我记得刚焊接好板时开始调试发现效果并不怎么理想时,心理失望的感觉真的很难受,还好经过自己和老师、同学的帮助自己最终查出了原因所在,克服了困难,解决了问题。从这个过程中我学会了合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论