首页 基于单片机的温度控制系统

基于单片机的温度控制系统

举报
开通vip

基于单片机的温度控制系统目录 1引言……………………………………………………… 2系统总体设计………………………………………… 2.1 元器件基本知识…………………………………………… 2.1.1 单片机 AT89S51………………………………………… 2.1.2 模数转换器 ADC0809…………………………………… 2.1.3 温度传感器 AD590……………………………………… 2.1.4 数码管LED显示器……………………………………… 2.2 原理图……………………………………………………… 2.2.1 原理图………………………...

基于单片机的温度控制系统
目录 1引言……………………………………………………… 2系统总体 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ………………………………………… 2.1 元器件基本知识…………………………………………… 2.1.1 单片机 AT89S51………………………………………… 2.1.2 模数转换器 ADC0809…………………………………… 2.1.3 温度传感器 AD590……………………………………… 2.1.4 数码管LED显示器……………………………………… 2.2 原理图……………………………………………………… 2.2.1 原理图…………………………………………………… 2.2.2 功能……………………………………………………… 3软件详细设计………………………………………… 3.1流程图……………………………………………………… 3.2原代码……………………………………………………… 4实验过程中经验及心得……………………………… 4.1实验过程中出现的问题及解决方法……………………… 4.2 ADC0809的CLK信号与单片机的经典接法……………… 参考文献……………………………………………… 1引言 随着社会主义现代化的发展,在科学技术突飞猛进的今天,人工智能起不不可忽视的作用。尤其是各种智能化的仪器、仪 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 在农、工业的广泛应用给社会带来了极大的便利。本文就是一个利用温度来实现简单智能控制的例子。它完成了从温度的采集、转换、显示以及控制的一系列任务。由于时间关系,本文并未深入探讨温度的具体实例。例如根据温度来控制热水器、电风扇等与温度有关的设备。但是它提供了一个通过温度来控制设备的基本思想和原理。相信能在实际应用中为我们的生活带来更大的便利。 98年,Prote公司推出了给人全新感觉的Proel98。Protel98以其出众的自动布线能力获得了业内人士的一直好评。 99年,Protel公司又推出了最新一代的电子线路设计系统——Protel99。在Protel99中加入了许多全新的特色。 2系统总体设计 2.1 元器件基本知识 2.1.1 单片机AT89S51 a.主要特性 ● 与MCS-51单片机产品兼容 ● 4K字节在系统可编程Flash存储器 ● 1000次擦写周期 ● 全静态工作:0Hz—33MHz ● 32个可编程I/O口线 ● 2个16位定时器/计数器 ● 6个中断源 ● 全双工UART串行通道 ● 低功耗空闲和掉电模式 ● 掉电后中断可唤醒 ● 看门狗定时器 ● 双数据指针 ● 灵活的ISP编程(字或字节模式) ● 4.0---5.5V电压工作范围 b.内部结构 图3-1 是单片机AT89S51的内部结构总框图。它可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。 ● CPU由运算器和控制逻辑构成。其中包括若干特殊功能寄存器(SFR) ● AT89S51时钟有两种方式产生,即内部方式和外部方式。(如图3-2所示) ● AT89S51在物理上有四个存储空间:片内/片外程序存储大路、片内/片外数据存储器。片内有256B数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和ROM,并且和有64KB的寻址范围。 ● AT89S51内部有一个可编程的、全双工的串行接口。它串行收发存储在特殊功能寄存器SFR的串行数据缓冲器SBUF中的数据。 图2-1 AT89S51 内部结构框图 ● AT89S51共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能(图3-3),用于特殊信号的输入输出和控制信号。 ● AT89S51内部有两个16位可编程定时器/计数器T0、T1。最大计数值为216-1。工作方式和定时器或计数器的选择由指令来确定。 图2-2 AT89S51的时钟电路 图2-3 P3口引脚的特殊功能 ● 中断系统允许接受5个独立的中断源,即两个外部中断,两个定时器/计数器中断以及一个串行口中断。 c.外部特性(引脚功能) AT89S51芯片有40条引脚,双列直插式封装引脚图如2-4所示: ● Vcc(40):电源+5V ● Vss(20): 接地 ● XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。 ● P0口(39—32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。 ● P1口(1—8):准双向通用I/O口。 ● P2口(21—28):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用。 ● P3口(10—17):多用途口,既 图3-4 AT89S51引脚图 可作普通I/O口,也可按每位定义的 第二功能操作。 ● ALE/~PROG(30):地址锁存信号输出端。在访问片外丰储器时,若ALE为有效高电平,则P0口输出地址低8位,可以用ALE信号作外部地址锁存信号。公式(2—1)fALE=1/6fOSC ,也可作系统中其它芯片的时钟源。第二功能~PROG是对EPROM编程时的编程脉冲输入端。 ● RST/VPD(9):复位信号输入端。AT89S51接能电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。当主电源Vcc发生故障,降低到低电平 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 值时,VPD将为RAM提供备用电源,发保证存储在RAM中的信号不丢失。 ● ~EA/Vpp(31):内部和外部程序存储器选择线。~EA=0时访问外部ROM 0000H—FFFFH;~EA=1时,地址0000H—0FFFH空间访问内部ROM,地址1000H—FFFFH空间访问外部ROM。 ● ~PSEN(29):片外程序存储器选通信号,低电平有效。 2.1.2 模数转换器AD0809 a.主要特性 ● 8路8位A/D转换器,即分辨率8位。 ● 具有转换起停控制端。 ● 转换时间为100μs ● 单个+5V电源供电 ● 模拟输入电压范围0~+5V,不需零点和满刻度校准。 ● 工作温度范围为-40~+85摄氏度 ● 低功耗,约15mW。 b.内部结构   ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图3-5所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。 图2-5 ADC0809内部结构框图 c.外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如图3-6所示。下面说明各引脚功能。 ●IN0~IN7:8路模拟量输入端。 ●2-1~2-8:8位数字量输出端。 ●ALE(22):地址锁存允许信号,输入,高电平有效。 ●START(6): A/D转换启动信号,输入,高电平有效。 ●EOC(7): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平 (转换期间一直为低电平)。 图2-6 ADC0809引脚图 ●OE(9):数据输出允 许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ●CLK(10):时钟脉冲输入端。典型值为640KHZ。 ●REF(+)、REF(-):参考电压输入端。 ●Vcc(11):电源,+5V。 ●GND(13):地。 ●ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。如表2-1所示。 表2-1 ADDA、ADDB、ADDC模拟通道地址码 d.ADC0809的工作过程 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 2.1.3 温度传感器 AD590 a.主要特性 AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下: ● 流过器件的电流(A)等于器件所处环境的热力学温度(开尔文)度数,即: A/K 公式(2-2) 式中: —流过器件(AD590)的电流,单位为A; T—热力学温度,单位为K。 ● AD590的测温范围为-55℃~+150℃。 ● AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变化,电流 变化1A,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 ● 输出电阻为710M。 ● 精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。 ● AD590的输出电流值说明如下: 其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Iout=(273+25)=298μA。 b.内部结构   集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测: 公式(2-3) 式中:K—波尔兹常数; q—电子电荷绝对值。 集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0℃时输出为0,温度25℃时输出2.982V。电流输出型的灵敏度一般为1A/K。 c.外部特性(引脚功能) ● Vcc(0):电源4—30v ● GND(1):接地。 图2-7 AD590引脚图 d.典型应用电路 AD590产生的电流与绝对温度成正比,它可接收的工作电压为4 V-30V检测的温度范围为-55℃-+150℃,它有非常好的线性输 出性能,温度每增加1℃,其电流 增加1uA 图2-8是AD590用于测量热力学 温度的基本应用电路。因为流过AD590的电流与热力学温度成正比, 当电阻10k时,输出电压VO随温 度的变化为10mV/K。 图2-8 AD590其本应用电路   ● Vo的值为电流I乘上10K,以室温25℃而言,输出值为10K×298μA=2.98V    ●  测量Vo时,不可分出任何电流,否则测量值会不准。   由于AD590的增益有偏差,电阻也有误差,因此应对电路进行调整。 表2-2 AD590温度与电流的对应关系表 摄氏温度(单位:℃) AD590电流(单位:uA) 经10KΩ电压(单位:V) -10 263.2 2.632 0 273.2 2.732 10 283.2 2.832 20 293.2 2.932 30 303.2 3.032 40 313.2 3.132 50 323.2 3.232 60 333.2 3.332 100 373.2 3.732 2.1.4 数码管LED显示器 a.综合知识 ● 数码显示器有静态和动态显示两种显示方式。 ● LED显示器工作在静态显示方式时,其阴极点(或阳极)连接在一起接地(或+5V),每一个的段选线(a,b,c,d,e,f,g,p)分别与一个8位口相连。 ● LED显示 器工作在动态显示方式时,段选码端口I/O1用来输出显示字符的段选码,I/O2输出位选码。 I/O1不断送待显示字符的段选码,I/O2不断送出不同的位扫描码,并使每位显示字符显示一段时间,一般 为1—5mS。利用眼睛 的礼视觉惯性,从显示器上便可以见到相当稳定的数字显示。 b.引脚功能 如图2-9所示: ● 段选(a,b,c,d,e,f,g,p):对应8个发光二极管,接I/O口,共阴(或共阳)时接地(或+5V),根据条件控制发光二极管的亮或灭。 ● 位选(A,B,C,D):共阴(或共阳)时接地(或+5V)分别用选中对应位的LED 图2-9 4位LED引脚图 2.2 原理图及功能 2.2.1 原理图 图2-10 4位温度显示器原理图 2.2.2 功能 利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后送入数码管显示。再根据限定条件来控制发光二极管的亮与灭。 3软件详细设计 3.1 流程图 图3-1主程序流程图 图3-2 中断服务程序流程图 3.2 源代码 /************************************************************ * 毕业设计—四位温度显示器 * * 指导老师:刘东红 * * 姓 名:何夏栋 * * 准考证号:010403160298 * * * ************************************************************/ #include #define uchar unsigned char #define uint unsigned int uchar 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=P3^0; sbit OE=P3^1; sbit EOC=P3^2; sbit LED=P3^4;/*当温度超过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=273.2-temp; sflag=1; } if(temp>=273.2) { temp=temp-273.2; sflag=0; } if(sflag==0) dispbuf[3]=10; else dispbuf[3]=11; if(sflag==0 && temp>=10 && temp<=30) /*温度大于10小于30灯亮*/ LED=0; else LED=1; temp*=10; i=0; while(temp/10) /*分位显示*/ { dispbuf[i]=temp%10; temp=temp/10; i++; } dispbuf[i]=temp; ST=1; ST=0; P1=dispcode[dispbuf[dispcount]]; P2=dispbitcode[dispcount]; if(dispcount==1)/*加小数点*/ { P1=P1 | 0x80; } if(dispcount==2 && P1==dispcode[0]) /*测量温度是一位数,取掉十位的0*/ { P1=dispcode[10]; } dispcount++; if(dispcount==4) dispcount=0; } } 4实验过程中经验及心得 4.1 实验过程中出现的问题及解决方法 在实验过程中,我遇到我很多问题。有小的,也有大的;有的很容易就解决了,有的则想很久都不能明白;有的需要查资料就可以解决,有的则需请教老师才得以搞定。正是这些多多少少,大大小小的问题,随着一个个的解决,才使的我一步步的进步。在此,我列出在我实验过程中遇到的问题,以及解决方法。 表4-1实验过程中出现的问题及解决方法 序号 出现问题 解决方法 ① 用Protel画原理图时的诸多小问题及画好的原理图如何copy到Word 仔细查阅资料 ② 硬件电路完全焊接好,仔细检查后才发现40Pin的IC插座,有一Pin折弯并未穿过电路板 更换电路板以及IC插座,重新焊接;养成走一步,检查一步的习惯 ③ 手工焊接想减少元器件,去掉了reset信号的器件。结果电路无法工作 加上reset信号应有的元器件,且连接正确 ④ 电路刚开始工作,4位LED就冒烟,随着一声响就报废 应加限流电阻 ⑤ ADC0809的CLK信号用软件还是用硬件来提供 详见5.2 ADC0809的CLK信号与单片机的经典接法 ⑥ 4位LED显示的数据,自己都不明白是什么 更改软件数据N次,重新烧片子N次,经过N天才想明白是数据未确定精度。通过软件确定精度 ⑦ 接下来遇到的基本都是软件问题 经过无数次的更改软件,无数次的重新烧写程序,离实验结果就一步步接近了 ⑧ 单片机控制的发光二极管亮一段时间后就熄灭 限流电阻太大,最后改用100Ω的电阻,工作正常 4.2 ADC0809的CLK信号与单片机的经典接法 因为在整个的实验过程中,为了节约成本,电路板上的所有元器件都是自己手工焊接的。所以,在最开始考虑ADC0809的CLK信号时,我是用软件做的。 在软、硬件刚做好时,出现的很多问题,是根本无法判断是软件有问题,还是硬件有错误。但我始终都不想再改动硬件。后来,我在书上看到: ADC0809的CLK----外部时钟输入端。时钟频率高,A/D转换速度快。允许范围为10----1280KHz ,典型值为640KHz ,此时转换时间为100uS。通常由MCS—51型单片机ALE端直接或分频后与0809 CLK 端相连接。当MCS---51型单片机无读写外RAM操作时,ALE信号固定为CPU时钟频率的1/6,若晶振为6MHz,则1/6为1MHz时,A/D转换时间为64uS。(节选自参考文献【5】P266页) 这样做和用软件实现比较,不但节省了人力,而且缩短了软件代码长度,减轻了CPU的负担,提高了工作效率。和硬件比较,更节省成本,而且拥有和硬件一样快的工作效率。 参考文献 【1】​ 侯伯亨 李伯成 《十六位微型计算机原理及接口技术》 西安电子科技大学出版社 【2】​ 张友德等 《单片机微机原理、应用和实验》 复旦大学出版社 【3】​ 夏路易等 《电路原理图与电路板设计教程 Protel 99SE》北京希望电子出版社 【4】​ 马忠梅等 《单片机的C语言应用程序设计(第3版)》 北京航空航天大学出版社 【5】​ 张志良 《单片机原理与控制技术》 机械工业出版社 【6】​ 严蔚敏 《数据结构》 清华出版社 【7】 王 闵 《计算机组成原理》 电子工业出版社 【8】 方 敏 《操作系统教程》 电子科大出版社 【9】 刘 坚 《数据与计算机通信》 高等教育出版社 【10】还有很多来自网络上已无法说明具体出处的宝贵的资料
本文档为【基于单片机的温度控制系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_530614
暂无简介~
格式:doc
大小:296KB
软件:Word
页数:20
分类:互联网
上传时间:2011-05-17
浏览量:32