温度控制系统906153149.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
温度控制系统906153149

温度控制系统 简介: 本设计是采用AD590温度传感器进行温度采集,测试温度范围位0~100摄氏度,经ADC0804由模拟信号转为数字信号,经单片机对温度进行处理,并采用了四位数码管进行带两位小数点的显示。该设计包括恒流补偿电路,ADC0804模数转化、单片机及显示模块组成。 设计框图如下: 单片机 传感器 运算放大电路 模数转换电路 显示电路 恒流补偿 电 路 AD590基本知识 恒流补偿电路是由AD590及运算放大器组成的电流转换为电压的电路。 AD590的主要特性如下:流过器件的电流(mA)等于器件所处环境的热力学温度,AD590的测温范围为-55℃到+150℃。AD590的电源电压范围为4V-30V。电源电压可在4V-6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。输出电阻为710MW。 AD590温度与电流的关系如右表所示 摄氏温度 AD590电流 0℃ 273.2 uA 10℃ 283.2 uA 20℃ 293.2 uA 30℃ 303.2 uA 40℃ 313.2 uA 50℃ 323.2 uA 60℃ 333.2 uA 100℃ 373.2 uA 可知AD590的输出电流I=(273+T)μA(T为摄氏温度),因为测量电压较方便所以这里应把电流转化为电压再经AD转换。所以需一电流转化为电压的恒流补偿电路。 为了使温度与电压的关系成过原点的线性关系,变换电路采用了恒流补偿电路恒流由稳压管组成电流为273uA从而实现电压平移。最终输出电压U0= 50×(i- 273)/1000,或uo=T/20。那么AD转换输出的数字量就和摄氏温度成线形比例关系。 模数转换电路 电路采用的是AD0804进行AD转换。ADC0804 为 8 位模/数转换电路,分辨率为1/28,其转换结果与模拟输入电压的关系写为 。(Vref=5V) (1)、复位中断触发信号 一般情况下,启动A/D转换前应该复位这个信号,等待新转换后的数据再由ADC0804输出数据,这样才可以读到新的转换结果,时序图如图A所示。 (2)、启动ADC0804的A/D转换 ADC0804在片选信号为低电平时启动A/D转换,时序图如图B所示 。 原理分析 (3)读取转换结果 在A/D转换结束以后,ADC0804的 引脚将给出一个低脉冲,如果把这个引脚直接连接到单片机的外部中断引脚P3.2或P3.3,这个低脉冲将引起单片机中断,单片机可以在中断处理程序中读取ADC0804的转换结果。 ADC0804与单片机接口设计电路 单片机处理及显示 此模块是对模数转换输出的数字信号进行处理,转换为温度,用四位共阴数码管带两位小数点显示。模块由STC单片机,74HC573锁存器及四位数码管组成。 概述 单片机及显示电路如图所示 图中P1口作为数码管的段码控制。P2口低四位作为数码显示的位选信号P2-0控制最低位,P2_1控制小数点后一位,P2_2控制各位,P2—3控制最高位十位。P0口是接收AD转换输出的数据。74hc573作为锁存输出。 分析 总结 通过这次的小制作,我发现在现实设计中还需要注意很多的细节,包括程序设计和硬件设计都要我们小心仔细,一个地方出错就可能会整个系统失效。在硬件设计时,由于电路的虚焊和漏焊,在调试过程中引来很大的麻烦.在调试程序时,我发现数码管不显示,原因是写错了一条指令while(int0==1)写成了while(int0=1),所以程序陷入了死循环不执行显示程序。还有在写显示程序由于显示的时间短,AD不断转换导致显示不稳定。于是在写驱动数码管的程序加了个For循环控制显示时间,这样就是AD隔一段时间再采集温度,显示稳定。经过几天的努力之后终于把电路调试成功,在个人动手能力和程序调试方面都有了一定的提高 程序代码 #includereg51.h #includeabsacc.h #includectype.h #includeINTRINS.H #define TIMER 0X10 sbit CS=P3^3; unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; //led字模 void delay(void); void main (void) {unsigned char x,y1=0,y2=0,y3=0,y4=0,t; unsigned int i,W;

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档