基于单片机的温度控制系统的毕业设计.docx
《基于单片机的温度控制系统的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统的毕业设计.docx(18页珍藏版)》请在冰豆网上搜索。
![基于单片机的温度控制系统的毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-2/8/ad025c4c-e254-4d36-8676-dc791f0b2b6b/ad025c4c-e254-4d36-8676-dc791f0b2b6b1.gif)
基于单片机的温度控制系统的毕业设计
前言
二十一世纪是科技高速发展的信息时代,电子技术,微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量.因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用的词语,同时它们在各行各业中也发挥着重要的作用.如在日趋发达的工业之中,利用测量与控制温度来保证生产的正常运行.在农业中,用于保证蔬菜大棚的恒温保产等.温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个很重要而普遍的参数.温度的测量及控制对保证产品质量,提高生产效率,节约能源,生产安全,促进国民经济的发展起到非常重要的作用.由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位.而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要.在单片机温度测量系统中的关键是测量温度,控制温度和保持温度,温度测量是工业对象中主要的被控参数之一.因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中得到了广泛的应用,尤其在电力工程,化工生产,机械制造,冶金工业等重要工业领域中,担负着重要的测量任务.在日常生活中,也可广泛实用于地热,空调器,电加热器等各种家庭室温测量及工业设备温度测量场合.但温度是一个模拟量,如果采用适当的技术和元件,将模拟的温度量转化为数字量虽不困难,但电路较复杂,成本较高.
目录
1.设计要求
2.设计理论基础
2.1AT89C51单片机的介绍
2.2ADC0809模数转换器
2.3数码显示管LED
2.4运算放大器Lm358
2.5温度传感器Ad590
2.6光电隔离器
3.系统设计
3.1组成系统的硬件模块
3.2单片机的选择
3.3温度采样部分
3.4模数转换部分
3.5模数转换技术
3.6显示部分
4.系统主程序
5总结
6.参考文献
1.设计要求
培养目的、设计方法和功能要求
本课题要求采用单片机控制技术、A/D转换技术和传感器技术等设计制作温度测控电路。
使学生进一步熟悉数字电路、模拟电路、传感器、单片机编程等知识,提高实际动手和设计能力。
主要技术指标:
测量范围:
温度:
0-100℃,精确度±1%;
电流输出:
4-20mA,精度:
±1%,负载电阻≥500Ω;
4位数码显示;
轮流显示和变送;
交流供电。
文献阅读
文献阅读:
应查阅中外文文献10篇以上;了解国内外研究现状、研究方向、进展情况、存在问题和参考依据等;
论文或设计说明:
8000字以上。
2.设计理论基础
1、AT89C51单片机的介绍
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
1、•与MCS-51兼容
2、4K字节可编程FLASH存储器
3、寿命:
1000写/擦循环
4、数据保留时间:
10年
5、全静态工作:
0Hz-24MHz
6、三级程序存储器锁定
7、128×8位内部RAM
8、32可编程I/O线
9、两个16位定时器/计数器
10、5个中断源
11、可编程串行通道
12、低功耗的闲置和掉电模式
13、片内振荡器和时钟电路
管脚说明:
1.VCC:
供电电压。
2.GND:
接地。
3.P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
4.P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
5.P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
6.P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在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分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
2.2ADC0809模数转换器
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
是目前国内应用最广泛的8位通用A/D芯片
1.主要特性
1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时) 4)单个+5V电源供电 5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度 7)低功耗,约15mW。
2.内部结构
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
3.外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。
下面说明各引脚功能。
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路 ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
2.3数码显示管LED
LED显示器是单片机应用系统中常见的输出器件,而在单片机的应用上也是被广泛运用的.如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择.LED数码管显示清晰,成本低廉,配置灵活,与单片机接口简单易行.LED数码管作为显示字段的数码型显示器件,它是由若干个发光二极管组成的.当发光二极管导通时,相应的一个点或一个笔画发亮,控制不同组合的二极管导通,就能显示出各种字符,常用的LED数码管有7段和"米"字段之分.这种显示器有共阳极和共阴极两种.共阴极LED显示器的发光二极管的阴极连在一起,通常此共阴极接地.当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示.同样,共阳极LED显示器的发光二极管的阳极接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示.本次设计所用的LED数码管显示器为共阳极.LED数码管的使用与发光二极管相同,根据材料不同正向压降一般为1.5~2V,额定电流为10MA,最大电流为40MA.静态显示时取10MA为宜,动态扫描显示可加大脉冲电流,但一般不超过40MA.
2.4运算放大器Lm358
LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
特性:
内部频率补偿 直流电压增益高(约100dB) 单位增益频带宽(约1MHz) 电源电压范围宽:
单电源(3—30V); 双电源(±1.5一±15V) 低功耗电流,适合于电池供电LM358
·低输入偏流 低输入失调电压和失调电流 共模输入电压范围宽,包括接地 差模输入电压范围宽,等于电源电压范围 输出电压摆幅大(0至Vcc-1.5V)
2.5温度传感器Ad590
AD590电流输出型两端温度传感器AD590是AD公司利用PN结构正向电流与温度的关系制成的电流输出型两端温度传感器.(热敏器件)AD590是美国模拟器件公司生产的单片集成两端感温电流源.它的主要特性如下:
1,流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:
mA/K式中:
—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K.2,AD590的测温范围为-55℃~+150℃.3,AD590的电源电压范围为4V~30V.电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K.AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏.4,输出电阻为710MW.5,精度高.AD590共有I,J,K,L,M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃.AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,在8051的各种课本中常看到它,相当常用到.其规格如下:
温度每增加1℃,它会增加1μA输出电流.可量测范围-55℃至150℃.供应电压范围+4V至30V.AD590的接脚图及零件符号如下图所示:
AD590的输出电流值说明如下:
其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Io=(273+25)=298μA.Vo的值为Io乘上10K,以室温25℃而言,输出值为2.98V(10K×298μA).量测Vo时,不可分出任何电流,否则量测值会不准.电路分析AD590的输出电流I=(273+T)μA(T为摄氏温度),因此量测的电压V为(273+T)μA×10K=(2.73+T/100)V.为了将电压量测出来又需使输出电流I不分流出来,我们使用电压追随器其输出电压V2等于输入电压V.由于一般电源供应较多零件之后,电源是带杂讯的,因此我们使用齐纳二极体作为稳压零件,再利用可变电阻分压.
2.6光电隔离器
光电隔离器,简称光耦.光耦合器以光为媒介传输电信号.它对输入,输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用.目前它已成为种类最多,用途最广的光电器件之一.光耦合器一般由三部分组成:
光的发射,光的接收及信号放大.输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出.这就完成了电—光—电的转换,从而起到输入,输出,隔离的作用.由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力.又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力.所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比.在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大增加计算机工作的可靠性.
2.光耦合器的性能及类型用于传递模拟信号的光耦合器的发光器件为二极管,光接收器为光敏三极管.当有电流通过发光二极管时,便形成一个光源,该光源照射到光敏三极管表面上,使光敏三极管产生集电极电流,该电流的大小与光照的强弱,亦即流过二极管的正向电流的大小成正比.由于光耦合器的输入端和输出端之间通过光信号来传输,因而两部分之间在电气上完全隔离,没有电信号的反馈和干扰,故性能稳定,抗干扰能力强.发光管和光敏管之间的耦合电容小(2pf左右),耐压高(2.5KV
左右),故共模抑制比很高.输入和输出间的电隔离度取决于两部分供电电源间的绝缘电阻.
3.系统设计
3.1组成系统的硬件模块
3.2单片机的选择
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。
只要程序长度小于4K,四个I/O口全部提供给用户。
可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,8751/87C51等51系列的6MHz~12MHz更具有灵活比性,系统能快能慢。
AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
3.3温度采样部分
温度采样单元,如3-2,用于采集被控对象的温度参数,它由温度电压转换,小信号放大及A/D转换三部分组成.其中,将温度转化为电量的温度电压转换由温度传感器-热敏电阻实现,小信号放大由桥式放大电路实现,A/D转换选择模数转换器ADC0809,将采集到的温度模拟信号转换为AT89C51能够处理的二进制数字信号.
温度传感器:
广义来讲,一切随温度变化而物体性质亦发生变化的物质均可作为温度传感器.例如,我们平常使用的各种材料,元件,其性质或多或少地都会随其所处的环境温度变化而变化,因而它们几乎都能作为温度传感器使用.但是,一般真正能作为实际中可使用的温度传感器的物体一般需要具备下述条件:
1.物体的特性随温度的变化有较大的变化,且该变化量易于测量.2.对温度的变化有较好的一一对应关系,即对除温度外其他物理量的变化不敏感.3.性能误差及老化小,重复性好,尺寸小.4.有较强的耐机械,化学及热作用等的特点.5.与被检测的温度范围和精度相适应.6.价格适宜,适合于批量生产
3.4模数转换部分
模数转换是将模拟输入信号转换为N位二进制数字输出信号的技术.采用数字信号处理能够方便地实现各种先进的自适应算法,完成模拟电路无法实现的功能,因此,越来越多的模拟信号处理正在被数字技术所取代.与之相应的是,作为模拟系统和数字系统之间桥梁的模数转换的应用日趋广泛.为了满足市场的需求,各芯片制造公司不断推出性能更加先进的新产品,新技术,令人目不暇接.
a/d转换电路的设计
3.5模数转换技术
本次设计还涉及到数模转换技术,而模数转换技术包括采样,保持,量化和编码四个过程.1.采样就是将一个连续变化的模拟信号x(t)转换成时间上离散的采样信号x(n).根据奈奎斯特采样定理,对于采样信号x(t),如果采样频率fs大于或等则可以无失真地重建恢复原始信号x(t).于2fmax(fmax为x(t)最高频率成分),实际上,由于模数转换器器件的非线性失真,量化噪声及接收机噪声等因素的影响采样速率一般取fs=2.5fmax.通常采样脉冲的宽度tw是很短的,故采样输出是断续的窄脉冲.2.要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程.3.量化是将连续幅度的抽样信号转换成离散时间,离散幅度的数字信号,量化的主要问题就是量化误差.假设噪声信号在量化电平中是均匀分布的,则量化噪声均方值与量化间隔和模数转换器的输入阻抗值有关.4.编码是将量化后的信号编码成二进制代码输出.这些过程有些是合并进行的,例如,采样和保持就利用一个电路连续完成,量化和编码也是在转换过程中同时实现的,且所用时间又是保持时间的一部分.
3.6显示部分
主机处理的温度信息显示在LED数码管上.下图则为温度控制系统的单片机显示部分.而显示部分在整个的设计过程中的作用也是很大的.
4.系统主程序
#include
sbitst=P3^0;
sbiteoc=P3^1;
sbitoe=P3^2;
sbitale=P3^3;
sbitshuchu=P3^4;
bitt;
unsignedintshuju,i,j,k,n,m,y,x,z,yo,sheding,shiji;
chara[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x98};
voiddelay(inti)//延时程序
{
intk;
while(i-->0)
{for(k=125;k>0;k--);}
}
voiddisplay()//显示程序
{
j=shuju*2*99/100/5%100/10;
k=shuju*2*99/100/5%10;
P2=0xf1;
P0=a[i];
delay(5);
P2=0xf2;
P0=a[n];
delay(5);
P2=0xf4;
P0=a[j];
delay(5);
P2=0xf8;
P0=a[k];
delay(5);
}
voidadc()//adc0809启动程序
{
st=ale=0;
st=ale=1;
st=ale=0;
while(eoc==1);
oe=1;
shuju=P1;
oe=0;
}
voidkey()//按键
{
if(P2_6==0)
{
if(P2_6==0)
{
shuchu=0;
if(P2_4==0)
{
if(x++>8)
{i++;x=0;}
}
if(i>9)i=0;
if(P2_5==0)
{
if(y++>8)
{n++;y=0;}
}
if(n>9)n=0;
}
}
}
voidmain()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;
EA=1;
TR0=1;
x=y=0;
n=i=5;
while
(1)
{
adc();
key();
display();
sheding=i*10+n;
shiji=j*10+k;
if((sheding>shiji)&&P2_6==1)
{
if(sheding-shiji>30)
{
shuchu=t;
yo=10;
}
if(sheding-shiji>1&&sheding-shiji<30)
{
shuchu=t;
yo=5;
}
}
}
}
voidtimer()interrupt1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
z++;
if(z{t=1;}
if(z>yo)
{t=0;}
if(z>10)
{z=0;}
}
5.总结
近两个月的毕业设计即将结束,这意味着我们的大学生活也要结束了,但我们的学习没有结束,在本次设计中,我们所学过的理论知识接受了实践的检验,增强我的综合运用所学知识的能力及动手能力,为以后的学习和工作打下了良好的基础,通过两个月的设计,我也有很深的感触:
当今社会在飞速发展,科学技术发展的速度更是迅猛无比,尤其是单片机技术在未来社会发展中一定会起着十分重要的作用,而通过本次设计无论是从硬件实现还是到整个程序的完成,无不是对我个人专业能力的一次提高和体现.而本次设计主要是完成两方面工作,软件程序设计和硬件电路板设计.软件设计包括用单片机设计语言设计控制系统并仿真,实现.硬件设计包括绘制电路原理图,生成图后制作电路板,插件焊件,再做硬件测试.通过这些都使我对采用单片机设计方法有了更深的理解和掌握,同时也让我把所学的知识广泛的应用到了实践中,充分的做到了理论与实践相结合.无论从专业知识,动手能力,还是毅志品质,都使我受益非浅.当然,这与老师和同学的热心帮助也是分不开的.大学生活虽然结