




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1 绪论1.1概述.31.2 国内外研究状况及发展趋势.32 硬件设计2.1 系统总体方案设计.52.2 芯片选择.62.3芯片擦除.152.4复位电路.152.5 时钟电路.162.6 信号调理电路.172.7 A/D转换.182.8 LED显示.203 软件设计3.1流程图设计.223.2源代码语言.234章 结后语26附录.27内容摘要:随着微电子技术和通信技术的发展,远程监测和远程控制得到了广泛的应用,特别是在无人职守设备和远程智能家电等领域中的应用。本文详细阐述了基于单片机的温度控制系统的硬件组成、软件设计及相关的接口电路设计,并且充分考虑了系统的可靠性,采取了相应的措施予以保证。关键词:单片机 远程监控 温度控制Abstract:With the development of microelectronics and communicatiobs,remote monitoring and remote control have been widely used,especially in the fields such as remote state-monitoring of some devices which are controlled by nobody.The hardware and software of the tempeature control system and the design of relevant inteface circuit are described in this paper.The reliability of the system is specially considered,and a series of measures are realized.Key words:microcontroller remote monitoring and control temperature control system1 绪论1.1 概述 在工业生产中,电流、电压、温度、压力等都是常用的主要被控参数。其中,温度控制越来越重要。工业生产的领域中,越来越需要对环境中的温度进行检测了。以前温度控制系统的硬件电路一般采用模拟电路的形式,模拟电路的各控制环节一般由运算放大器、电压比较器、模拟集成电路和电容、电阻等外围器件组成,最大优点是系统反应速度快,能实现对系统的实时控制,但本系统中,由于温度变化时一个相对缓慢的变化,对温控系统的实时性要求不高,所以模拟电路的优势得不到体现,另由于模拟电路依靠元器件的电气关系来实现控制算法,很难实现复杂的控制算法,故我们摒弃了模拟电路的形式,采用单片机的形式。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且还可以大幅度提高被空温度的技术指标等,从而能大大的提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制温度,广泛用于工业控制中。 本次设计采用MCS-51系列单片机与各种外围电路构成单片机温度自动检测和控制系统,实现对温度的实时检测和控制。通过本次设计掌握温度检测控制系统的硬件设计方法和软件编写方法。熟悉Protel软件的使用方法。通过课题的研究进一步巩固所学的知识,同时学习课程以外的相关知识,培养综合应用知识的能力。锻炼动手能力与实际工作能力,将所学的理论与实践结合起来。1.2 国内外研究状况及发展趋势 随着国内外工业的日益发展,温度检测技术也有了不断的进步。温度测量系统主要由两部分组成,一部分是传感器,它将温度信号转换为电信号。另一部分是电子装置,它主要完成对信号的接收、处理、对测点进行控制、温度显示等功能。对应于不同的温度段及测量精度要求,测温装置也不尽相同,从传感器方面看,己出现有各种金属材料、非金属材料、半导体材料制成的传感器,也有红外传感器。仪器本身也趋向小型化,多采用集成度较高的芯片或元件组成电路。对于测点较多,并具有报警、巡测、控制等多功能测温装置,一般采用单片机电路。目前的温度检测技术原理很多,大致包括以下几种:(1)物体热胀冷缩原理(2)热电效应(3)热阻效应(4)利热辐射原理。传统的温度传感器(如,热电偶、铂电阻、双金属开关等)虽然有着各自不可替代的优点,但由于自身因自热效应影响了测量精度,从而制约了它们在微型化高端电子产品中的应用。与之相比较,半导体温度传感器具有灵敏度高、体积小、功耗低、时间常数小、自热温升小、抗干扰能力强等诸多优点,无论是电压、电流还是频率输出,在相当大的温度范围内( - 55150 )都与温度成线性关系,适合在集成电路系统中应用。目前,半导体温度传感器工作的温度范围还限于- 50150 。未来主要的研究方向将是如何扩大它的温度适用范围,以及智能化、网络化等方面。目前国内外的温度控制方式越来越趋向于智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。温度测量的过程就是通过温度传感器将被测对象的温度值转换成电的或其它形式的信号,传递给信号处理电路进行信号处理转换成温度值显示出来。温度传感器随着温度变化而引起变化的物理参数有: 膨胀、电阻、电容、热电动势,磁性能、频率、光学特性及热噪声等等。随着生产的发展,新型温度传感器还会不断出现,目前,国内外通用的温度传感器及测温仪大致有以下几种: 热膨胀式温度计、电阻温度计、热电偶、辐射式测温仪表、石英温度传感器测温仪2 硬件设计2.1系统总体方案设计 本温度控制系统是一个闭环反馈控制系统,它用温度传感器将检测到的温度信号经放大,AD转换后送入单片机中进行数据处理并显示当前温度值,用当前温度值与设定温度值进行比较。根据比较的结果得到控制信号用以控制继电器的通断,以实现对报警电路的控制。本课题设计的内容主要包括硬件设计和软件设计两部分。系统功能由硬件和软件两大部分协调完成,硬件部分主要完成主机电路、数据采集电路、键盘显示电路、报警电路的设计。软件程序编写主要用来实现对温度的检测、标度转换、LED显示、继电器控制等数据处理功能。 本次设计采用MCS-51单片机作为控制芯片,采用半导体集成温度传感器AD590采集温度信号。通过温度传感器将采集的温度信号转换成与之相对应的电信号,经过放大处理送入A/D转换器进行A/D转换,将模拟信号转换成数字信号送入到控制芯片进行数据处理。 本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成传感器信号的采集处理,信息的显示等;软件主要完成对采集的温度信号进行处理及显示控制等功能。系统结构框图如图所示:单片机LED显示A/D调理电路AD590继电器报警电路键盘设定图1系统结构框图2.2 芯片选择 (1)AT89S8252单片机又称单片温控制器,它把一个计算机系统集成到一块芯片上。根据本次设计的实际情况,本次设计中采用的是ATMEL公司的AT89S8252单片机。其主要性能如下:(1) 与MCS-51单片机产品兼容。(2) 8K字节片内可下载重编程的Flash存储器。SPI串行口用于下载程序。1000次擦写周期。(3) 2K字节EEPROM。100000次擦写周期。(4) 4.0-6.0V工作电压范围。(5) 全静态操作:024MHz。(6) 2568位内部RAM。(7) 32根可编程I/O口线。(8) 3个16位定时器/计数器。(9) 9个中断源。(10) 可编程的UART串行通信口。(11) SPI串行口。(12) 低功耗空闲和掉电模式。(13) 掉电后中断可唤醒。(14) 可编程的看门狗定时器。(15) 双数据指针。(16) 掉电标识符。功能特性描述:AT89S8252是一种低功耗、高性能CMOS 8位微控制器,具有8K字节的可下载、可编程、可擦除的Flash只读存储器和2K字节的EEPROM。它使用Atmel公司高密度非易失性存储器技术制造,与工业标准80C51产品指令和引脚完全兼容。片内Flash程序存储器既可通过SPI串行口在线编程,也可用传统的编程器进行编程。片内置通用8位CPU和Flash存储单元,功能强大的AT89S8252单片机可为您提供许多高性价比的应用场合,可灵活应用于各种嵌入式控制领域。AT89S8252具有以下标准功能:8k字节可编程Flash,2K字节EEPROM,256字节RAM,32位I/O口线,可编程看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S8252可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口和中断系统继续工作。掉电保护模式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。Flash每次可编程一个字节,这可通过SPI串口实现。如果没有激活加密位2,那么通过保持复位状态,可以使SPI总线成为一个串行编程接口,使程序存储器既可读也可写。图2 内部结构图3引脚结构图引脚部分说明:VCC : 电源, GND: 地。P0口: P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1口输出缓冲器能驱动4 个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部上拉电阻的原因,将输出电流(IIL)。表1 P1口功能表引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.4(第二功能口选择输入)P1.5MOSI(作为SPI通信口的主数据输出、从数据输入引脚)P1.6MISO(作为SPI通信口的主数据输入、从数据输出引脚)P1.7SCK(作为SPI通信口的主时钟输出、从时钟输入引脚)有些P1口还具有其他功能。P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。此外,P1.4、P1.5、P1.6和P1.7可以用作SPI第二功能口选择、数据输入/输出和时钟输入输出引脚,具体如上表所示。在flash编程和校验时,P1口也接收低8位地址字节。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口,P3口输出缓冲器能驱动4 个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。表2 P3口功能表引脚号第二功能P3.ORXD(串行输入)P3.1TXD(串行输出)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)P3口亦作为AT89S8252一些特殊功能(第二功能)使用,如上表所示。在flash编程和校验时,P3口也接收一些控制信号。RST复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。ALE/地址锁存允许控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,需要特别强调的是,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位的设置对微控制器处于外部执行模式下无效。是外部程序存储器读选通信号。当AT89S8252从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/VPP 访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。然而,需要特别强调的是,如果加密位LB1被编程,复位时内部会锁存端状态。为了执行内部程序指令,应该接VCC。在flash编程期间,也接收12伏VPP电压。XTAL1 振荡器反相放大器和内部时钟发生电路的输入端。XTAL2振荡器反相放大器的输出端。(2)AD590AD590集成温度传感器是将温敏电阻晶体管与相应的辅助电路集成在同一块芯片上,能直接给出正比于绝对温度的理想线形输出,一般用于-55+150之间的测量温度。温敏晶体管在管子的集电极电流恒定时,其基极发射极电压与温度成线形关系,由于生产厂家生产时采用激光微调来校正集成电路内的薄膜电阻,使其在摄氏零度(对应绝对温度为273.2K),输出电流微273.2uA,灵敏度微1uA/K。当其感受的温度升高或者降低时,则其电流就以1uA/K的速率增大或减小,从而将被测电流转换为电压,则可以用电压来表示其温度大小。为克服温敏晶体管vb电压产生时的离散性,采用了特殊的差分电路。集成温度传感器具有电压型和电流型两种。因此,它不容易受接触电阻、引线电阻、电压噪音的干扰,具有很好的线性特性。本设计采用AD590作为温度传感器,它只需要一个电源即可实现温度到电流的线性变换,然后再终端使用一只取样电阻,即可实现电流到电压的转换。它使用方便,并且具有较高的精度。图示为AD590的基本应用电路。 图4 AD590的基本应用电路图主要特性: (1) 流过器件的电流(A) 等于器件所处环境的热力学温度(开尔文) 度数: Ir/T=1A/K 式中,Ir流过器件(AD590) 的电流,单位为A;T热力学温度,单位为K; (2) AD590的测温范围为- 55+150; (3) AD590的电源电压范围为430 V,可以承受44 V正向电压和20 V反向电压,因而器件即使反接也不会被损坏; (4) 输出电阻为710 m; (5) 精度高,AD590在- 55+-150范围内,非线性误差仅为0.3。AD590温度传感器作为一个恒流源,在本设计的温度检测电路中在AD590的输出端接一取样电阻可将输出电流信号变化转换为电压信号变化。由于AD590温度传感器温度每变化1其输出电流变化1mA。所以在接上10K的取样电阻的情况下,温度每变化10,输出电压就将变化0.1V。(6)AD590的输出电流值说明如下:其输出电流是以绝对零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流为Iout=(273+25)=298A。下图为AD590温度与电流的对应关系表:摄氏温度()AD590电流(A)经10k电压(V)-20253.22.532-10263.22.6320273.22.73210283.2 2.83220293.22.93230303.23.03240 313.23.13250 323.23.23260333.23.332100373.23.732(3)ADC0809 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。主要特性:1)8路输入通道,8位AD转换器,即分辨率为8位。 2)具有转换起停控制端。 3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时) 4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 图6 外部特性图ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路,如表所示: ADDC ADDB ADDA 输入通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。工作过程:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。2.3 芯片擦除整个EPROM阵列电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S8252设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.4 复位电路 复位使单片机处于起始状态,并从该起始状态开始运行。AT89S8252的RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振动周期)以上高电平,则可使单片机复位。内部复位电路在每一个机器周期的S5P2期间采样斯密特触发器的输出端,该触发器可抑制RST引脚的噪声干扰,并在复位期间不产生ALE信号,内部RAM处于不断电状态。其中的数据信息不会丢失,也即复位后,只影响SFR中的内容,内部RAM中的数据不受影响。外部复位有上电复位和按键电平复位。由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开始运行。为了便于本设计运行调试,复位电路采用按键复位方式。按键复位电路如下图所示图7 按键复位电路图2.5 时钟电路 时钟电路是单片机的心脏,它控制着单片机的工作节奏。MCS-51单片机允许的时钟频率是因型号而异的,其典型值为12MHZ。AT89S8252内部有一个反相振荡放大器,XTAL1 和 XTAL2分别是该反向振荡放大器的输入端和输出端。该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。本设计采用的晶振频率为12MHZ。其时钟电路如图所示。51系列单片机还可使用外部时钟。在使用外部时钟时,外部时钟必须从XTAL1输入,而XTAL2悬空。 图8 时钟电路图2.6 信号调理电路 经过温度传感器采集输出的电压信号一般来说是非常微弱的,因此,在送往单片机处理之前应对该信号进行放大。本系统所采用的A/D转换器为ADC0809,由于ADC0809的输入信号应在05V之间,因此,经过放大电路放大的信号进入A/D转换器的电压信号应控制在05V之间,根据此原则可设计合适的放大倍数。信号调理电路主要由运算放大器0P07等组成。为了使温度检测电路的输出电压能够适合于A/D转换器的参考电压,利用超低温漂移高精度运算放大器0P07将温度电压信号进行放大到05V的范围之内,便于A/D进行转换,以提高温度采集电路的可靠性。本设计中,信号调理电路部分由集成运放OP07分别构成一个电压跟随器,电压比较器和一个同相输入放大器用于对AD590输出的小电压信号进行放大处理。信号调理电路如图所示 图9信号调理电路图在该放大电路中,电压跟随器起阻抗匹配的作用。反馈电阻为零时,放大倍数为1,电压跟随器的输入电压等于输出电压Vli=Vlo电压比较器用于对输出电压小信号电压进行调零,在上述电路图中的电压比较器部分由于R2=R4,R3=R5 可得电压比较器的输出电压Uo=Ui2-Ui1. 根据电压跟随器的输出电压调节电位计R9就改变电压比较器的输入电压Ui1。使得当温度为温度测量下限时电压比较器的输出电压为零。起放大作用的是同相输入放大器OP07。其放大倍数:A=1+R6/R7 因此放大器的输出电压Uo=A*Ui.2.7 A/D转换 ADC0809是一种8位逐次逼近式A/D转换器,其内部有一个8位“三态输出锁存器”可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可以认为是并行I/O接口芯片。故ADC0809可以和微机直接接口,本设计就是用AT8951和ADC0809直接相连的。 AT89C51与ADC0809的连接方法如图所示,AT89C51通过地址线P2.7和写控制信号线用一个或非门联合控制启动转换信号端(START)和地址锁存信号端(ALE)。地址线P2.7和读控制信号线用一个或非门联合控制输出允许控制端(EOC)。低三位地址线加到ADC0809的ADDA、ADDB、ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。转换结束信号EOC通过一个反相器接到INT1。图10 A/D转换电路图 AT89C51和ADC0809连接通常可以采用查询和中断两种方式。本系统采用中断方式传送数据,EOC线作为CPU的中断请求输入线。CPU线响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。其中和START的逻辑关系分别为:对ADC0809地址的确定:根据系统硬件连接图可知所选定模拟电压路数为IN0,其对应的地址为ABC=000,即P0.0、P0.1、P0.2=0 0 0;又P2.7=0时才能启动ADC0809工作和使AT89C51从ADC0809接收A/D转换电压的数字量。故确定ADC0809其中一个地址为: 0111 1111 1111 1000B=7FF8H ,其中“_ ”表示固定量。ADC0809的IN0和变送器输出端线连,故IN0上输入的0V5V范围的模拟电压经A/D转换后可由AT89C51通过程序从P0口输入到它的内部RAM单元。图11 ADC0809时序图ADC0809所需时钟信号可以由AT89C51的ALE信号提供。AT89C51的ALE信号通常是每个机器周期出现两次,故它的频率是单片机时钟频率的1/6。本系统AT89C51主频是12MHZ,ALE信号频率为2MHZ,使AT89C51的ALE上信号经过4分频后接到ADC0809的CLOCK输入端,就可获得500KHZ的A/D转换脉冲,当然,ALE上脉冲会在MOVX指令的每个机器周期少出现一次,但通常情况下影响不大。ADC0809时序图如上图所示。从时序图可以看出,在启动ADC0809后,EOC约在10us后才变为低电平,EOC线经过反相器和AT89C51线相连,这即是AT89C51采用中断方式来和ADC0809传送A/D转换后的数字量的。为了给OE线分配一个地址,把AT89C51RD和P2.7经或门和OE相连。平时,使OE处于低电平封锁状态,在响应中断后,AT89C51执行中断服务程序中如下两条指令就可以使OE变为高电平,从而打开三态输出锁存器,让CPU提取A/D转换后的数字量。AT89C51执行如下程序可以启动ADC0809工作。MOV DPTR , # 7FF8HMOVX A , DPTR; OE变为高电平,数字量送A2.8 LED显示 (1):数码管显示有动态和静态显示两种显示方式 (2):LED显示器工作在静态显示方式时,其阴极点(或阳极)连接在一起接地(或+5V),每一个的段选线(a,b,c,d,e,f,g,p)分别与一个8位口相连。 (3):LED显示器工作在动态显示方式时,段选码端口I/01用来显示字符的段选码,I/02输出位选码。I/01不断送待显示字符的段选码,I/02不断送出不同的位扫描,并使每位显示字符显示一段时间,一般为15ms。利用眼睛的礼视觉惯性,从显示器上便可以见到相当稳定的数字显示。其引脚功能如下: a:段选(a,b,c,d,e,f,g,p)对应8个发光二极管,接I/O口,共阴(或共阳)时接地(或+5V),根据条件控制发光二极管的亮或灭。 b:位选(A,B,C,D) 共阴(或共阳)时接地(或+5V)分别选中对应位的LED图12 LED显示电路图功能操作:利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,把转换的结果进行温度值变换之后送入数码管显示。再根据限定条件来控制发光二极管的亮与灭。3 软件程序设计3.1 流程图 主程序流程图如下: 图13 主程序流程图 中断服务程序流程图如下: 图13 中断服务程序流程图3.2 源代码语言 部分源代码语言如下:#include#define uchar unsigned char#define uint unsigned intuchar code dispbitcode =0xfe,0xfd,0xfb,0xf7;/*LED位选*/uchar code dispcode =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;/*0,1,2,9,正(不显),负*/uchar dispbuf =0,0,0,10,10,10,10,10;uchar dispcount=0;uchar getdata=0;unsigned long temp=0;uchar i;bit sflag=0; /*正负标志*/sbit ST=P30;sbit OE=P31;sbit EOC=P32;sbit LED=P34; /*当温度超过10度且低于30度时LED亮*/void main(void)LED=1;ST=0;OE=0;TMOD=0x10;TH1=(65536-4000)/256; /*T1工作于方式1下。每4mS采集一次数据,且刷新一次LED*/ TL1=(65536-4000)%256; TR1=1; ET1=1; EA=1; ST=1; ST=0; while(1) ; void t1(void) interrupt 3 using 0 TH1=(65536-4000)/256; TL1=(65536-4000)%256; if(EOC=1) /*转换完毕,显示*/ OE=1; Getdata=P0; OE=0; temp=getdata; temp+=168; if(temp=273.2) temp=temp-273.2; sflag=0; if(sflag=0) dispbuf3=10;else dispbuf3=11;if(sflag=0&temp=10&temp=30) /*温度大于10小于30灯亮*/ LED=0;else LED=1;temp*=10;i=0;while(temp/10) /*分位显示*/ dispbufi=temp%10; temp=temp/10; i+;dispbufi=temp;ST=1;ST=0;P1=dispcodedispbufdispcount;P2=dispbitcodedispcount;if(dispcount=1) /*加小数点*/ P1=P1|0x80;if(dispcount=2&P1=dispcode0) /*测量温度是一位数,取掉十位的0*/P1=dispcode10;dispcount+;if(dispcount=4) dispcount=0;4 结后语 本系统采用以AT89S8252单片机为CPU,AD590为温度传感器及ADC0809数模转换器等为主要元件构成的远程温度监控系统。由于所学知识有限,虽几个月来翻阅了不少的资料,另结合这段时间实习经历,才得以完成此毕业设计。在此还得特别感谢老师在本次论文设计中提供的一些宝贵资料,以及不断的教诲中,在此表示感谢。当然系统还有许多待完善之处,如温度精度的提高,单片机外围电路的更合理设计等。 总的来说,本系统在现今工业控制领域中还广泛使用中,在以后的道路中还将继续扮演着其角色。 前面说过的在当今工业控制领域中,不仅仅温度是重要的检测对象,压力、电流、电压等也是重要的检测对象。而本系统也可以进行稍加改造,以满足不同的需求,或把它们结合起来,进行多从监控等。当然具体电路得结合实际使用用途及环境决定等。参考文献:1:李玉峰,倪虹霞。MCS-51单片机原理与接口技术.2004 人民邮电出版社2:季国。芯源单片机教程. 芯源(中国)电子有限公司3:10位低功耗数字温度传感器的应用. 武汉力源电子股份有限公司4:夏路易,石综义。电路原理图与电路板设计教程Protel 99se.2002 北京希望电子出版社5:集成电路查询网6:还有很多网上收集的无法说明出处的宝贵资料等。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经贸合作协议履行保证承诺书(3篇)
- 小熊和森林的童话作文7篇
- 山西省部分学校2024-2025学年高二上学期10月月考地理试题(A卷)(解析版)
- 江西省上进联考2025-2026学年高三上学期7月第一次大联考地理试题(解析版)
- 我的第一次旅行经历写物6篇范文
- 客户数据安全守护承诺书3篇范文
- 2025年安徽白帝集团有限公司及所属子公司春季招聘8人模拟试卷附答案详解(典型题)
- 2025昆明市官渡区司法局辅助人员招聘(1人)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年广东佛山市南海区桂城街道公开招聘辅警1人模拟试卷附答案详解(模拟题)
- 企业文化建设方案模板企业价值观驱动
- 2025-2026学年苏教版(2024)小学科学二年级上册教学计划及进度表
- 线粒体基因糖尿病讲解
- 2024年注册安全工程师考试化工(初级)安全生产实务试题及答案
- 2025年度环评文件技术复核服务方案投标文件(技术方案)
- 急性胰腺炎的中医护理
- 2025至2030全球及中国汽油汽车喷油器行业项目调研及市场前景预测评估报告
- 老年慢性病护理
- 肺结核患儿的护理
- 冬季风力发电机组安装施工安全技术措施
- 瓷砖搬运培训课件
- 保险公司风控管理制度
评论
0/150
提交评论