欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    温度测量显示电路设计(共22页).doc

    • 资源ID:6693905       资源大小:108KB        全文页数:23页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    温度测量显示电路设计(共22页).doc

    精选优质文档-倾情为你奉上第一章 概 述1.1 设计内容以设计为主完成一个温度范围为0 - 50的温度测量显示电路的设计与制作。 1、主要设计内容:(1)系统原理框图设计与分析(包括传感器的选择与确定)。(2)系统方案设计、比较及选定(给出两种以上的方案比较)。(3)系统原理图设计(包含测量电路、放大电路、A/D转换及显示电 路等)。(4)确定原理图中元器件参数(给出测量电路、放大电路计算公式 与数据)。2、运用protel软件绘出系统原理电路图(鼓励能完成印刷电路板图 的绘制)。1.2 设计要求1)确定并分析系统设计要求;2)进行系统的方案设计;3)要绘制原理框图,绘制原理电路4)要有必要的计算及元件选择说明5)如果采用单片机,必需绘制软件流程图6)写说明书7)答辩 所设计的方案能满足题目要求并实现相应的功能,所编写的设计说明书应语句通顺,用词准确,层次清楚,条理分明,重点突出。第2章 硬件电路设计2.1 传感器的选择与确定2.1.1 方案一:热敏电阻该方案采用热敏电阻,热敏电阻价格比较便宜、灵敏度比较好,在实际应用的时候线性度较差,另外调试比较困难。不适合使用。故不使用热敏电阻。2.2.2 方案二:AD590 该方案采用AD590。 AD590拥有良好的线性关系,灵敏度较高、使用简单方便。但是这种传感器的价格比其他的两种都贵很多。故不选用。2.2.3方案三:DS18B20数字温度传感器DS18B20是美国DALLAS半导体公司智能温度传感器,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面拥有很大优势,给用户带来了更方便的使用和更令人满意的效果。经过上述三种方案的论证比较,综合考虑成本、性能等因素,最终选取方案三。2.2 系统方案的设计 2.2.1 方案一 该方案利用AVR单片机对输入信号进行模数转换输出数字信号控制数码管显示温度值。并且可以通过编写程序对输入信号进行分段线性化处理,使得测量精度大大提高,而且该电路无须外接译码器,结构简单。工作框图如图2.2.1图所示:负温度系数热敏电阻数码管显示ATmega8AVR单片机A/D线性化译码的显示电压电桥放大电路电阻编码图2.2.1 AVR单片机系统框图2.2.2 方案二 该方案以AT89S52为控制器,采用DS18B20温度传感器检测温度信号,利用红外遥控设置温度测量的上下限数值,并通过LCD液晶显示。工作框图如图2.2.2所示:AT89C52单片机 LCD液晶显示编码数字量DS18B20温度传感器调温限红外线调控图2.2.2 AT89C52单片机系统框图经过综合考虑,方案二成本比方案一低且测量温度方便简单,故此次数字温度计课程设计选取方案二。第3章 软件设计本系统由温度传感器DS18B20、AT89c52、LCD液晶显示电路、软件构成。DS18B20输出表示摄氏温度的数字量,然后用52单片机进行数据处理、译码、显示、报警等.系统框图如下图3.0所示:AT89C52单片机DS18B20传感器数码管显示 图3.0系统框图 3.1 微控制器原理 AT89C51是一种带4K字节FLASH(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称。AT89C2051是一种带2K字节闪存可编程可擦除的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多提供了一种灵活性高且价廉的方案。其主要特性是与MCS-51 兼容、4K字节可编程、FLASH存储器寿命1000、写/擦循环·数据保留时间:10年、全静态工作:0Hz-24MH、三级程序存储器锁定、128×8位内部RAM、32可编程I/O线、两个16位/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路单片机引脚图如下图3.1所示: 图3.1 AT89C52引脚图3.2 DS18B20传感器原理 DS18B20是数字温度传感器,该产品采用DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 测温范围 55+125,固有测温分辨率0.5。 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 工作电源: 35V/DC 在使用中不需要任何外围元件 测量结果以912位数字量方式串行传送 不锈钢保护管直径 6 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。温度传感器可编程的分辨率为912位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,温度计,或任何热敏感系统3.3 测温原理DS18B20低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。此外,用斜率累加器补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。3.4 温度数值分析利用的单片机的一个IO口,读取DS18B20的温度高位,温度低位。由上面的分析可知:温度高位的高5位的符号位、低3位是整数部分的高四位(整数部分的最高位永远为0),温度低温的高四位为整数部分的低四位,温度地位的低四位是小数部分用以下公式计算: 整数部分温度低位/16温度高位×16 小数部分十分位(温度低位&0x0f)×10/16由于DS18B30的集成度很高,使得设计的原理还是比较简单,设计的关键是了解DS18B20的时序,准确地获得温度高位和温度低位。 第4章 电路制作与调试4.1硬件制作与调试 本次设计应用Protel 绘制电路原理图,生成PCB图,然后焊接电路元件,最后用程序调试系统功能。硬件电路主要由单片机最小系统、DS18B20为核心的传感器电路、液晶显示电路、报警电路、红外遥控电路和供电电路组成。单片机最小系统:提供一个上电复位高电平,和12MHZ时钟振荡。DS18B20传感器电路:加电即可工作,DATA端加4.7K电阻作上拉电阻保证有足够大的灌拉电流。液晶显示电路:报警电路:利用5V蜂鸣器作报警提示。供电电路:利用7805组成线性稳压电源为整个系统供电。具体电路连接见附录SCH电路原理图,硬件接线正确,单片机能构正常工作,硬件调试成功。4.2 主程序流程图 温度显示小于0度,亮黄灯报警 温度显示大于50度,亮红灯报警 红外线远程控制,改变温度上下限值。主程序流程图如下图4.2.1所示: 开始读取温度Y黄灯报警小于0度NNY红灯报警大于50度N改变上下温限遥控信号数值送显4.2.1 主程序流程图开始发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束4.2.2 DS18B20工作流程图开始复位DS18B20,等待大于480us发送避开ROM信息指令,延时等待转换完成发送转换命令,开始转换开始读取温度,保存,发送读取指令,温度进制处理,化为十进制结束图4.2.3 温度读取流程图总结一周的课程设计结束了,在这次的课程设计中我学到了很多东西,也检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。看到课题的开始,不知从何入手,可是只要一步一步去做时,就会发现没有想象中的难度。在课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础最后谢谢我们的指导老师徐谦老师,谢谢他的指导还有同学们的合作,团队协作做出来的作品,每一部分都不可或缺,既要分工又要合作,这样才能有更佳的效果。 参考文献1测控电路(第2版),张国雄,机械工业出版社.2006。2模拟电子技术基础(第2版),童诗白,高等教育出版社.1988。3测试技术基础(第1版),韩峰,机械工业出版社.1998。4传感器原理及应用(第2版),王化祥,天津大学出版社.1999。附录1、 程序#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P27;/液晶使能端口sbit rw=P26;sbit e=P25;sbit P3_6=P36;sbit P1_0=P10;sbit P1_1=P11;/sbit P1_0 = P10;/sbit P1_1 = P11;void delay_ms(uchar ms) /延时 uint i,j; for(i=0;i<ms;i+) for(j=0;j<120;j+);void lcd_wcmd(uchar cmd) /液晶写指令rs=0;rw=0;e=0;P0=cmd;e=1;e=0;delay_ms(5);void lcd_wdat(uchar dat) /液晶写数据rs=1;rw=0;e=0;P0=dat;e=1;e=0;delay_ms(5);void lcd_dis(uchar post,uchar *p)lcd_wcmd(0x80 | post);/设置数据地址指针显示while(*p!='0')lcd_wdat(*p+);uchar code def_char0=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00; /字符void lcd_wcgram(uchar adress,uchar tmp)uchar i;for(i=0;i<8;i+)lcd_wcmd(adress+i);lcd_wdat(tmpi);void lcd_inti()delay_ms(15);lcd_wcmd(0x38);/16X2字符,5X7点阵,8位数据接口lcd_wcmd(0x38);lcd_wcmd(0x08);/关闭显示lcd_wcmd(0x01);/清屏lcd_wcmd(0x06);/设置光标工作方式lcd_wcmd(0x0c);/开显示,设置光标显示方式lcd_wcgram(0x48,def_char0); /载入用户自定义字符sbit DQ=P37; /18B20数据管脚/*ds18b20延迟子函数(晶振12MHz )*/ void delay_18B20(unsigned int i)while(i-);void reset() uchar x=0; DQ = 1; /DQ复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay_18B20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20); unsigned char rbyte()uchar i=0;uchar dat = 0;for (i=8;i>0;i-) DQ = 0; / 给脉冲信号 dat>>=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat); void wbyte(uchar dat) uchar i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat>>=1; uchar rTempetuare(uchar tmp)uchar a=0,b=0,temp,decimal;uint uival;reset();wbyte(0xCC); /跳过读序号列号的操作wbyte(0x44); /启动温度转?reset();wbyte(0xCC); /跳过读序号列号的操作wbyte(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=rbyte(); /读取温度值低位b=rbyte(); /读取温度值高位temp=b;temp&=0xf0;if(temp) /负温if(a=0)a=a+1; /bit7向bit8位产生进位b=b+1; else a=a+1; b=b;tmp0='-'elsetmp0=' 'temp=(b<<4)|(a>>4); /组合decimal=a&0x0f; /将小数点后的数据提取出来uival=decimal*625; tmp0='T'tmp1='='tmp2=0x20; /空格 tmp3=temp/100 | 0x30; /取百位tmp4=temp%100/10 | 0x30; /取十位tmp5=temp%100%10 | 0x30; /取个位tmp6=0x2e; /小数点tmp7=uival/1000 | 0x30; /十分位tmp8=uival%1000/100 | 0x30; /百分位tmp9=uival%1000%100/10 | 0x30; /千分位tmp10=uival%1000%100%10 | 0x30; /万分位tmp11=0x20; /空格tmp12=0x01; /字符tmp13='0'return temp; /十进制温度/*红外解码模块*/#define c(x) (x*/)sbit Ir_Pin=P32; /红外数据管脚unsigned char Ir_Buf4; /用于保存解码结果/=unsigned int Ir_Get_Low() /计数器1,用于解码延时TL1=0;TH1=0;TR1=1;while(!Ir_Pin && (TH1&0x80)=0);TR1=0;return TH1*256+TL1;/=unsigned int Ir_Get_High() /计数器1,用于解码延时TL1=0;TH1=0;TR1=1;while(Ir_Pin && (TH1&0x80)=0);TR1=0;return TH1*256+TL1;char jianche() /解码程序char i,j;uint temp;restart:while(Ir_Pin);temp=Ir_Get_Low();if(temp<c(8500) | temp>c(9500) goto restart;/引导脉冲低电平9000temp=Ir_Get_High();if(temp<c(4000) | temp>c(5000) goto restart;/引导脉冲高电平4500for(i=0;i<4;i+) /4个字节for(j=0;j<8;j+) /每个字节8位temp=Ir_Get_Low();if(temp<c(200) | temp>c(800) goto restart;temp=Ir_Get_High(); if(temp<c(200) | temp>c(2000) goto restart;Ir_Bufi>>=1;if(temp>c(1120) Ir_Bufi|=0x80;return Ir_Buf2&0x0f; /所得码/*时钟模块*/extern uchar minTX; /最小报警温度extern uchar maxTX; /最大报警温度uchar storeT14; /实际温度的显示长度uchar wendu; void t0ISR() interrupt 1 /T0中断(50ms),中断读温度static uchar timeC = 0;TH0=0x3c;TL0=0xb0;if(10=+timeC) / (50*N)毫秒timeC=0;wendu=rTempetuare(storeT);lcd_dis(0x42, storeT); /显示实际温度if(wendu <= minTX)P1_0= 0;P3_6=0; /小于最小温度,报警elseP1_0= 1;P3_6=1; if(wendu>=maxTX) /大于最高温度,报警P1_1= 0;P3_6=0;elseP1_1= 1;P3_6=1; void inti_timer() /初始化IE|=0x82; /允许定时器0中断IP|=0x02; /设置定时器0的优先级TMOD=0x01; /选用定时器0TH0=0x3c; /50ms定时TL0=0xb0;TR0=1; /启动定时器0/*主程序模块 */uchar minTX = 10; /最小报警温度初始化uchar maxTX = 24; /最大报警温度初始化char minT7="min:10"char maxT7="max:24"main()uchar i;lcd_inti(); /LCD初始化inti_timer();TMOD=0x11; /设置计数器寄存器 lcd_dis(0x01, minT); /显示最小报警温度lcd_dis(0x0a, maxT); /显示最大报警温度while(1)for(i=4; i!=6; +i)minTi=jianche();minTi |= 0x30;lcd_dis(0x01, minT);minTX=(minT4-0x30)*10 + (minT5-0x30);for(i=4; i!=6; +i)maxTi=jianche();maxTi |= 0x30;lcd_dis(0x0a, maxT);maxTX=(minT4-0x30)*10 + (minT5-0x30); 二、原理电路图专心-专注-专业

    注意事项

    本文(温度测量显示电路设计(共22页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开