1、毕业设计说明书第一章 序论1.1 课题研究的意义温度是工业生产中主要的参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。单片机在工业生产中的应用尤其广泛,温度采集系统则是单片机在工业生产中的一个典型的应用。采用单片机对温度进行采集不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,单片机已经以其体积小、功能强、价格低、使用灵活等特点显示出了明显的优势和广泛的应用前景。作为一名测控技术与仪器专业的学生,理应对单片机有更深的了解,此次针对 89C5
2、1 型单片机在温度控制方面的应用,对温度恒定系统进行了分析并给出了具体的解决方案。1.2 课题研究的背景和当今发展趋势数据采集系统始于20世纪50年代,1965年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员操作,并且测试任务由测试设备高速自动控制完成。由于该种数据采集系统具有高速属性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机融为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。
3、从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了,通用的数据采集与自动化测试系统。该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。例如:国际标准 ICE625(GPIB)接口总线系统就是一个典型的代表。这类系统主要用于实验室,在工业生产现场也有一定的应用。时至今日,由于集成电路制造技术的不断提高,出现了高性能、高可靠性的数据采集系统。现代的数据采集系统,在系统初始化、编程、修改、扩充等方面,变得比过去更加容易。A/D 变换器
4、的技术发展,允许以更高的分辨率,更快的采集速度和更低的成本,实现更精密的测量。目前,数据采集系统的一种较为肯定的发展趋势是:把个人计算机同数据采集系统结合起来,实现测量和控制任务的自动化随着科学技术的发展和数据采集技术的广泛应用,对数据采集系统的各项指标,如采样率、分辨率、存储深度、数字信号处理的、抗干扰能力等方面提出了越来越高的要求,这时超高速数据采集系统应运而生。单片机的发展方向是不断强化控制功能(即将更多的外围电路单元集成到CPU)、低功耗(一边电池供电)、低成本(例如在 CPU 芯片内,按用途分别集成成不同的电路,形成系列化产品,这样既能满足了不同领域的需求又降低了成本)单片机主要面向
5、工业控制,工作环境比较恶劣,如高温、强电磁干扰,甚至含有腐蚀性气体,再太空中工作的单片机控制系统,还必须具备抗辐射能力,因而决定了单片机 CPU 与通用微机 CPU 具有不同技术的特征和发展方向:1抗干扰性强 2 可靠性高 3 控制能里往往很强指令系统比微机系统简单 5 更新换代速度比通用微机吃力慢的多。本文是基于单片机热敏电阻电路设计第二章总体设计1 系统功能温度采集电路89C51AD 转换LED 显示温度计算2 需求设计分析2.1 总体需求结合当前我的设计及设计情况,具体以下任务需求:利用 AT89C51 单片机和负温度系数热面电阻的组合编程实现温度实时测量和 LED 显示。温度的测量范围
6、为-20到 80,当按下显示温度的键时,通过检查热敏电阻两端电压,经过计算得到实时电压,再显示出来。2.2 硬件的需求基于设计需要并从经济角度考虑,我选择了 89C51 单片机作为硬件支持,它是一个低电压,高性能 CMOS8 位单片机大有 4K 字节的可以反复擦写的程序寄存器(PENROM)。和 128 字节的存取数据存储器(RAM),这种器件采用 ATMEL 公司的高密度、不容易丢失存储技术生产,并且能够与 MCS-51 系列的单片机兼容。片内含有 8 位中央处理器和闪烁存储单元,由较强的功能的 89C51 单片机能够被应用到控制领域中。2.3 软件的需求选定了硬件后就需要编写软件了,本设计
7、选用的编程软件为 C 语言。同硬件的设计一样,软件也是分块进行的。主要包括以下部分的程序:系统初始化程序、键盘扫描程序、A/D 转换程序、温度计算程序、各部分程序由主程序(main.c)调用,组成一个整体。2.4 单片机选择AT89C51 作为温度测试系统设计的核心器件。该器件时 INTEL 公司生产的MCS-51 系列单片机中的基础产品,采用了可靠的 CMOS 工艺制造技术,具有高性能的 8 位单片机,属于标准的 MCS-51 的 CMOS 产品。不仅结合了 HMOS 的高速和高密度技术及 CHMOS 的低功耗特征,而且继承和扩展了 MCS-48 单片机的体系结构和指令系统。(1) 中央处理
8、器 ATC51 简介 AT8951 的特点AT89C51 具有以下几个特点:AT80C51 与 MCS-51 系列的单片机在指令系统和引脚上完全兼容;片内有 4K 字节在线可重复编程快擦写程序存储器;全静态工作,工作范围:0Hz24MHz;三级程序存储器加密;1288 位内部 RAM;32 位双向输入输出线;两个十六位定时器、计数器五个中断源,两级中断优先级;一个全双工的异步串行口;间歇和掉电两种工作方式。 AT89C51 的功能描述AT89C51 时一种低损耗、高性能、CMOS 八位微处理器,片内有 4K 字节的在线可重复编写程序、快速擦除速写入程序的储存器,能重复写入/擦除1000 次,数
9、据保存时间为 10 年。它与 MCS-51 系列单片机在指令系统和引脚上完全兼容,不仅可以完全替代 MCS-51 系列单片机,而且能使系统具有许多 MCS-51 系列产品没有的功能。AT89C51 可构成正真的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于 4K,四个 I/O 口全部提供给用户。可用 5V 电压编程,而且擦鞋时间仅需 10 毫秒,仅为8751/87C51 的擦出时间的百分之一,与 8751/87C51 的 12V 电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V-6V) ,全
10、静态工作,工作频率宽在0Hz-24MHz 之间,比 8751/87C51 等 51 系列的 6MHz-12MHz 更具有灵活性,系统能快能慢。AT89C51 芯片提供三级程序存储器加密,提供了方便灵活而可靠的加密手段,能完全保证程序或系统不被仿制。P0 口时三态双向口,通称数据总线口,因为只有该口直接用于对外部存储器的读/写操作。AT89C51 引脚功能3 传感器工作原理与性能3.1 传感器的工作原理传感器的核心元件是热敏电阻。热敏电阻时双端温度敏感原件。当温度发生变化时热敏电阻的阻值也发生变化,在不同温度下,热敏电阻都有一个固定的阻值与温度相对应,并且只要热敏电阻没有损坏,这种对应关系具有重
11、复性。热敏电阻阻值随温度变化的响应值是高度的非线性响应。在热敏电阻的量程范围内,温度较小的变化都会引起热敏电阻阻值相对较大的变化,绝大数热敏电阻具有负温度系数特性,即随着温度的升高,电阻值下降;其特性曲线如下图 3.1 热敏电阻温度特性曲线热敏电阻的阻值-温度特性曲线是一条指数曲线,非线性度较大,因此在使用时要进行线性化处理,线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。为此常在要求不高的一般应用中,作出在一定的温度范围内温度与阻值成线性关系的假定,以简化计算。热敏电阻的应用是为了感知温度为此给热敏电阻以恒定的电流,测量电阻两端就得到一个电压,然后就可以通过下列公式求得温度:T = T
12、0 KVT其中:T-被测温度T0-与热敏电阻特性有关的温度参数K-与热敏电阻特性有关的系数VT-热敏电阻两端的电压根据这一公式,如能测得热敏电阻两端的电压V T,再知道参数T 0和系数K,则可计算出热敏电阻的环境温度,也就是被测的温度。3.2 传感器的特性Radios Shack 热敏电阻(#271-110A)就具有负温度系数特性。这种传感器工作在低温端时,负温度系数引起电阻阻值的相对变化大约是-5%。随着温度的升高,负温度系数也有所下降,热敏电阻工作在量程的高温端时,负温度系数引起电阻阻值的相对的变化只有大约-2%。热敏电阻的有效输出为电阻值,由于 A/D 转换器转换的是电压信号,因此首先要
13、将热敏电阻的电阻转换为电压信号,这一转换通常可以用电流源构成的激励电路来完成。将热敏电阻安装在电流源所在支路中,在热敏电阻两端会产生与其成比例的电压值。由于电流过电阻会产生热效应,我们要注意不能由于热效应而是热敏电阻自身产生很大的热量,从而引起热敏电阻的阻值的变化。一般情况下,当电流足够一小时,电流流过热敏电阻所产生的热量可以忽略不计。我们假定热敏电阻的耗散常数为典型值,一般在 1MV/左右,为了使测量精度保证在 1.0以内,电流源的电流必须足够小,以保证电流流过热敏电阻产生的热量在 1mW 以下。根据以上分析,当电流源值不超过 10uA 时,可以满足以上要求,总而言之,只要电流源的电流足够小
14、,热敏电阻两端的电压就与其阻值成比例关系而不会由于电阻的热效应引起太大的测量误差。接下来用放大器 AD524 读取热敏电阻两端的电压差值,并且设置合适的增益,将电压差值调节与 A/D 转换器转换范围相匹配。热敏电阻的激励电路与信号调节电路如 3-3所示。本系统采用的是 Radios Shack 271-110A 型热敏电阻,温度变化与热敏电阻阻值变化为非线性的关系,其不同温度的阻值如下图表所示:Radio Shack 271-110A 型热敏电阻在其温度范围内的输出值:温度 热敏电阻阻值 温度 热敏电阻阻值-50 329.2 25 10.00-45 247.5 30 8.313-40 188.
15、4 35 6.941-35 111.3 40 5.828-25 86.39 45 4.912-20 67.74 50 4.161-15 53.39 55 3.537-10 42.45 60 3.021-5 22.05 65 2.5890 27.28 70 2.2295 22.05 75 1.92410 17.96 80 1.66915 14.68 85 1.45120 12.09 90 1.108表 3-23.3 放大电路设计3.3.1 放大电路的原理传感器辅助电路两端电压变化很小,有时不足以驱动下一级电路,所以要对其进行放大,使信号足以驱动下一级电路。热敏电阻的电流源电路由一个参考电压,一个
16、运算放大器级三个电阻组成。这些原件可以提供 0.001mA 的电流。0.001mA 的电流流过热敏电阻,使得其两端的电压值为热敏电阻阻值的 1/100000。在-50时,热敏电阻两端的 电压为3.292V,当温度达到 100时,电压为 0.0675975V。该电压输入到仪用放大器AD524BD 中,由于热敏电阻上有大小为 1V 的浮地电压,因此仪用放大器可以读出热敏电阻两端的电压,该电压值其实是热敏电阻两端的电压差值,抵消了 1V浮地电压。只要输入电压不超过仪用放大器的工作电压容限,热敏电阻两端的电压都能测出来。将仪用放大器的第 6 个管脚接地,就可以将信号的参考点准确接地,图中用仪用放大器的
17、增益设为 10,因此,它的输出为热敏电阻两端电压的 10 倍,也就是说,对于理想的仪用放大器,在-50时,其速出为32.92V。当温度为 100时,其输出为 0.075957V。仪用放大器的工作电压输入容限为10V,A/D 转换器的最大输入时 0-5V,而温度为-50时,32.92V 的输出已经大大超出了放大器的工作容限,因此噶温度测量系统能有效地测量的温度下线为-10,此时仪用放大器送到 A/D 转换器的输出为 4.245V 在放大器的工作容限之内。温度量程的上限对应于最小的电压值,因此不受放大器工作电压容限及 A/D 转换器量程的影响。 d 14 K C 2 3-3 放大器的原理图3.4
18、A/D 转换电路设计3.4.1 A/D 转换电路左右该系统的核心部分是单片机,单片机只能处理数字信号。通过传感器再放大所采集的信号为模拟电压信号,直接送入单片机是无法进行处理的。所以加入一块 A/D 转换芯片 ADC0809 来进行摸-数转换,得到的数字信号被送入单片机进行处理。3.4.2 ADC0809 芯片功能与性能指标ADC0809 的管脚图ADC0809 采用双列直插式封装,共有 28 条引脚,个管脚的功能分为四组简述如下:(一).模拟信号输入 IN0-IN7IN0-IN7 为 8 路模拟电压输入线,加在模拟开关上,工作时采用时分割的方式轮流进行 AD 转换。(二). 地址输入和控制线
19、地址输入和控制线共 4 条,其中 ADDA、ADDB、和 ADDC、为地址输入线(Address A),用于选择 IN0IN7 上那条路模拟电压送给比较器进行 AD 转换。ALE(Address Lock Enable)为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,ADDA、ADDB、ADDC 三条地址上地址信号得以锁存,经译码器控制八路模拟开关工作。(三). 数字量输出及控制线(11 条)STRT 为“启动脉冲”输入线,该线正脉冲由 CPU 送来,宽度应大于 100s以上应清零,下降沿启动 ADC 工作。EOC 为转换结果输出线,该线高电平表示AD 转换已经结束,数字量以锁入“
20、三态输出锁寄存器”。D0-D7 为数字量输出线,D7 为最高位。EOUT 为“输出允许”线,高电平时能是 D0-D7 引脚上输出处转换后数的字量。(四). 电源线及其他(5 条)CLOCK 为时钟输出线,用于 ADC0809 提供逐次比较所需,一般为 60kHz 时钟脉冲。VDD 为+5V 电源输入线,GND 为地线。+VREF 和-VREF 为参考输入线,用于给电阻网络供给标准电压。+VREF 常和 VDD相连,-VREF 常接地。3.43 ADC0809 应用说明(一). ADC0809 内部带有输出锁存器,可以与 AT8951 单片机直接相连(二). 初始化时,使 ST 和 OE 信号全
21、为低电平。(三). 送要转换的那一通道的地址到 A,B,C 端口上。(四). 在 ST 端给出一个至少有 100s 宽的正脉冲信号。(五). 是否转换完毕,我们根据 EOC 信号来判断。(六). 当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片机了。3.5 ADC0809 与单片机的接口设计3.5.1ADC0809 与 89C51 接口电路图 1 2 3 4 5 6 7 8D 9 Z C 1 2 4 5 86 4 B C E 9 图 3-4 ADC0809 与单片机的接口图如图所示为单片机与 ADC0809 的接口连接图。0809 的数据输出口 2.1-2.8分别与单片
22、机 P1 口 P1.0P1.7 连接,作为数据总线。单片机 O1 口每秒针对0809 数据输出口进行 5 次读书操作,读取的数据被送入单片机通过 PID 核心算法进行处理分析。因为系数只用到 ADC0809 输入口的 1N-0 口,所以 ADD-A、ADD-B、ADD-C 都是接低电平。0809 的 EOC 管脚与单片机 P3.3 连接,当 EOC变为高电平时,这时给 OE 为高电平,转换的数据3.6LED 显示设置3.6.1 LED 显示器结构与原理LED 显示器是由发光二极管显示字段组成的显示器件。该系统中采用的是七段 LED。这种显示器有共阴极和共阳极两种,该系统选用的是共阴极七段LED
23、 显示器。七段 LED 显示器中有 8 个发光二极管,其中 7 个发光二极管构成 7 笔字形“8”。一个发光二极管构成小数点。七段 LED 显示器的管脚如图42 所示。从 ag 管脚输入不同的 8 位二进制数,可显示不同的数字或字符。LED 的电流通常较小,一般均需在回路中接上限流电阻。3.62LED 显示器的显示方式该系统共用六个七段 LED 显示器,采用动态显示方式。LED 动态显示是将所有位的段选线并接在一个 I/O 口线上,共阴极端分别由相应的 I/O 口线控制。在任一时刻,只有一位 LED 是点亮的,但只要扫描的频率足够高(一般大于 25Hz),由于人眼的视觉暂留特性,直观上感觉却是
24、连续点亮的。如图 42 所示:所有位的段选线并接在 8255 的 PA 口线上,共阴极端分别由 PB 口中的 PB0PB5 控制。在任一时刻,PB0PB5 中只有一条线是低电平,即只有一只 LED 被选通,此时刻单片机的 P0 口通过 8255 的 PA 口将相应的数据传输给被选通的 LED,使LED 点亮。下一时刻另一只 LED 被选通,单片机同样传输给其相应数据使其点亮。如此逐一进行扫描,6 只 LED 显示器逐一被点亮,由于扫描频率很高,所以视觉上 6 只 LED都被点亮了,并无闪烁。这样系统就实现了显示功能。4 单片机串行通信MCS-51 单片机内部有一个全双工的串行通信口,即串行接收
25、和发送缓冲器(SBUF ) ,这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为 99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的 RS-232 接口。RS-232 是早期为公用电话网络数据通信而制定的标准,其逻辑电平与TTLCMOS 电平完全不同。逻辑“0”规定为+5 15V 之间,逻辑“1”规定为-5-15V 之间。由于 RS-232 发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信
26、号系统中,其标准建议的最大通信距离为 15 米。但实际应用中我们 bit/s 的速率下可以达到 300 米。RS-232 规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换,实现逻辑电平转换可以采用 MAX232 芯片。采用 MAX232 芯片的转换接口 MAX232 是 MAXIM 公司生产的,包含两路驱动器和接收器的 RS-232 转换芯片。芯片内部有一个电压转换器,可以把输入的+5V 电压转换为 RS-232 接口所需的10V 电压,尤其适用于没有12V 的单电源系统。单片机串口通信程序的实现方法,实际应用中,单片机通信程序一般采用中微机通信,微机作为主控方。当单片机收到微机发送的地址信号时,便转入中断程序,向微机发送数据。