版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。本系统采用MSP430系列单片机作为主控核心,由温度采集模块、电源模块、显示驱动电路、显示电路、键盘模块、时钟模块等构成了一个具有时钟功能的低
2、功耗电子温度计。本系统选用DS18B20线式数字温度传感器,实时监测环境温度并以数字量形式输出,可通过单片机读取并由显示模块显示出来,程序设置可以实现温度上下限报警功能同时液晶显示选用具有低功耗功能的HT1621D驱动的液晶模块。通过按键可进行温度和时间的显示切换。关键字低功耗MSP430单片机HT1621DDS18B20DS1302Thermometeronthedesignofultra-lowpowerAbstract:Indailylifeandindustrialproductionprocess,oftenusedinthedetectionandcontroloftemperat
3、ure,temperatureistheproductionprocessandscientificexperimentsingeneralandoneoftheimportantphysicalparameter.Intheproductionprocess,inordertoefficientlycarryouttheproduction,tobeitsmainparameters,suchastemperature,pressure,flowcontrol,etc.Temperaturecontrolintheproductionprocessofalargeproportion.Tem
4、peraturemeasurementisthebasisoftemperature-controlled,morematuretechnology.Traditionalthermocoupleandtemperaturecomponentsarethesecondresistor.Thethermocoupleandthermalresistancearegenerallymeasuredvoltage,andthenreplacedbythecorrespondingtemperature,thesemethodsarerelativelycomplex,requiringarelati
5、velylargenumberofexternalhardwaresupport.Weusearelativelysimplewaytomeasure.ThesystemusesMSP430MCUprocessorcoreasmaster,bythetemperatureacquisitionmodule,powermodule,displaydrivercircuit,displaycircuit,akeyboardmodule,clockmoduleandsoconstitutealow-powerclockfeatureselectronicthermometer.Thesystemfi
6、rst-linechoiceofDS18B20digitaltemperaturesensor,real-timemonitoringofambienttemperatureandintheformofdigitaloutput,single-chipcanbereadbythedisplaymoduleisdisplayed,theprogramsettingscanbeachievedupperandlowerlimitsoftemperaturealarmfunction;Atthesametime,liquidcrystaldisplaywithoptionallow-powerfea
7、turesoftheLCDmoduleHT1621Ddrive.Throughthekeyscanbetemperatureandtimedisplayswitch.Keywords:low-powerMSP430singlechipHT1621DDS18B20DS1302目录TOC o 1-5 h z HYPERLINK l bookmark4 第1章总述-1- HYPERLINK l bookmark6 超低功耗温度计的简单介绍-1-超低功耗温度计设计目的意义-1-温度计的国内外现状及发展趋势-1- HYPERLINK l bookmark8 超低功耗温度计研究内容及要解决的问题-2- H
8、YPERLINK l bookmark10 第2章系统分析-3-超低功耗温度计工作原理-3- HYPERLINK l bookmark12 方案论证与比较-3- HYPERLINK l bookmark14 单片机的比较与选择-3- HYPERLINK l bookmark16 数据采集方式的比较与选择-4- HYPERLINK l bookmark18 显示方式比较与选择-5-时间显示比较与选择-5- HYPERLINK l bookmark20 第3章系统硬件设计-6- HYPERLINK l bookmark22 系统总体设计框图-6-系统电源单元-6- HYPERLINK l book
9、mark26 单片机控制单元-7-DS18B20温度传感器电路单元-9-DS1302时钟芯片电路设计-12-显示电路的设计-13-按键电路设计-14-第4章系统软件设计-15-编程语音的选择-15-系统程序主流程图-15-温度检测模块的软件实现-17-LCD显示-17-超低功耗-19-按键唤醒-19-测量温度子程序设计-20-时钟显示-22-第5章系统测试-24-低功耗温度计与通用标准温度计比较-24-功耗测量-24-结论-25-总结-26-参考文献-27-附录:总程序-28-毕业论文毕业论文- -时钟显示图4.8时钟显示程序流程图根据论文发设计初衷,需要在系统上加上时钟,既然是时钟,为防止系
10、统休眠以后时间的不正确,因此,采用CPU内部定时器的方式,MSP430内部含有2个定时器,可以利用一个定时器与程序计数器相结合的方式,在系统晶振的驱动下,产生标准时钟频率。时钟模块是MSP430系列单片机不可缺少的模块,时钟模块可以使单片机实现不同的低功耗应用,不同的器件具有不同的时钟模块,一般来说MSP430F149的时钟模块主要有高速晶振(8MHz),低速晶振(32768Hz)和数字控制振荡器(DCO)等器件构成。高速晶振,低速晶振和DCO等器件通过MSP430F149时钟模块产生3个不同的时钟供不同的模块使用,产生的时钟为:辅助时钟(ACLK),主系统时钟(MCLK),和子系统时钟(SM
11、CLK)。由于时钟模块产生3个不同的时钟信号,这样就可以采用不同的时钟从而达到低功耗的目的。一般来说,系统的功耗和系统的工作频率成正比关系,这样可以在低功耗应用情况下选用低速晶体。如果系统对运算要求比较高,则可以选用高速晶体产生较高的主系统时钟提供给CPU,以满足运算要求。如果对系统的实时性要求比较高,则可以采用ACLK时钟。总的来说,应该根据不同的应用来选择适当的时钟。基于以上思路,我们选用MSP430内部定时器Time_B产生0.5s基准时钟,在进入低功耗模式后,系统的时钟会停止,这样系统的功耗只有uA级。当系统处于低功耗的时候,外部中断可以将系统从低功耗模式唤醒来执行相应的操作。本程序即
12、是通过扫描一次定时0.5$,进入睡眠,产生中断,唤醒,0.5s后再次睡眠,如此循环即可达到1s效果,再经过时钟处理函数,即不断累加、进位从而实现时钟的正常运行。第5章系统测试低功耗温度计与通用标准温度计比较将温度传感器与冰水混合物接触,经过充分搅拌达到热平衡后调节系统,使显示读数为0.00(标定0);利用气压计读出当时当地的大气压强,并根据大气压强和当地重力加速度计算出当时的实际压强;根据沸点与压强的关系查出沸点温度。把温度传感器放入沸水中,待显示读数稳定后重新调节,使显示器显示读数等于当地当时沸点温度后工作结束。该温度计的量程为50150,读数精度为0.1,实际使用一般在0100。采用050
13、和50100的精密水银温度计作检验标准,对设计的温度计进行测试,其结果如(表一),表明能达到该精度要求。表一次数低功耗温度计示数通用标准温度计示数第一次1617第二次1817第三次1920第四次2120第五次2324第六次2525第七次2829第八次2930第九次3132第十次3332功耗测量当系统处于睡眠模式时,即除单片机外其他器件均断电,此时测得该系统的静态功耗约为1微安。结论由于系统架构设计合理,经过认真细致的调试,各项功能实现较好,温度传感器分辨率达到0.5摄氏度,数字时钟能够实时显示。当温度计处于静态工作状态时,单片机处于睡眠状态,静态功耗为1微安左右,系统性能优良、稳定,较好地达到
14、了题目要求的各项指标。在这次毕业设计中,我真正体会到制作一件成功的作品并不像想象的那样简单,它需要扎实的专业基础,能熟练驾驭知识的能力,团队的团结合作精神,吃苦耐劳的品质以及遇见问题沉着冷静的态度。经过毕业设计的制作,我们真正体会到了身为大学生的意义,解决问题的能力得到了很大的提高,为我们以后的学习工作积累了宝贵的经验。总结在论文完成之际,我首先向关心帮助我的指导老师田敬成老师表示衷心的感谢,在论文工作中,遇到了很多细节方面的问题,一直得到顾思思老师的亲切关怀和悉心指导,使我得以顺利的完成此次毕业设计的任务。田敬成老师以其丰厚的专业知识功底、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下
15、了深刻的印象。我将终生难忘并向他学习。再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学习氛围以及学习、生活上的无私帮助!同时我也会将这种严谨的作风运用到工作中去。为以后的社会实践工作而努力。在学校的学习生活即将结束,对学校的一切充满了留念之情。回顾四年多来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!特别感谢我的班主任、毕业设计指导老师顾思思老师以及任课于我的所有老师,感谢他们对我的学习和生活所提供的支持、鼓励和关心!在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持。最后,衷心地感谢在百忙之中评阅论文的老师,由于本人的知识水平有限
16、,论文中肯定有许多不完善之处,我一定会在以后的工作中不断学习加以思考使之完善。1张宗杰.C语言程序设计实用教程M.北京:电子工业出版社,2008.2张鑫.单片机原理及应用M.北京:电子工业出版社,2005.3王兆安.电力电子技术M.北京:机械工业出版社,2000.4张靖武.单片机原理、应用与PROTEUS仿真M.北京:电子工业出版社,20085谢兴红.MSP430单片机基础与实践M.北京:北京航空航天大学出版社,2008.6秦龙.MSP430单片机C语言应用程序设计实例精讲M.北京:电子工业出版社,20067汪敏.凌阳16位单片机实验与实践M.北京:北京航空航天大学出版社,2007.8吴建平.
17、传感器原理及应用M.北京:机械工业出版社,2009.9来清民.传感器与单片机接口及实例M.北京:北京航空航天大学出版社,2008.10龚运新.单片机C语言开发技术M.北京:清华大学出版社,200611胡汉才.单片机原理及其接口技术(第二版)M.北京:清华大学出版社,199612徐爱钧.单片机高级语言C51Windows环境编程与应用M.北京:电子工业出版社,200113李朝青.单片机原理及接口技术(简明修订版)M.北京:北京航空航天大学出版社,199914赵晶.电路设计与制版Protel99高级应用M.北京:人民邮电出版社,200015梅遂生,杨家德.光电子技术一信息装备的新秀M.北京:国防工
18、业出版社,199916康华光.电子技术基础数字部分(第四版)M.北京:高等教育出版社,198017康华光.电子技术基础模拟部分(第四版)M.北京:高等教育出版社,1979总程序实验主程序voidmain(void)WDTCTL=WDTPW+WDTHOLD;停止WDTmcuinit();while(1)GetTemp();/读取温度if(symbol=1)temp_display0=+;处理正负符合elsetemp_display0=-;if(Error=1)display(LCD_L26,0 xca,0 xa7);/失display(LCD_L27,0 xb0,0 xdc);/败elsedis
19、play(LCD_L26,0 xd5,0 xfd);/正显示温度display(LCD_L27,0 xc8,0 xb7);/确P1OUTA=BIT1;display_number(Temper);数据变换显示数据char_string(temp_display,LCD_L21);/END温度显示#include#includeDS1820.h”#includelcd_ch.h#defineDQ1P5OUTI=BIT7/DQ=1#defineDQ0P5OUT&=BIT7/DQ=0constunsignedchardigit10=0,1,2,3,4,5,6,7,8,9;unsignedcharte
20、mp_display9=x,0,0,0,.,0,0,0,0;将温度值转换成可显示十进制值取数范围整数3位,小数点后3位.voiddisplay_number(floatf_data)unsignedlongvalue;floatn;n=f_data*1000;value=(unsignedlongint)n;temp_display1=digitvalue/100000;/100位value=value%100000;temp_display2=digitvalue/10000;/10位value=value%10000;temp_display3=digitvalue/1000;/1位val
21、ue=value%1000;temp_display5=digitvalue/100;/0.1位value=value%100;temp_display6=digitvalue/10;/0.01位value=value%10;temp_display7=digitvalue/1;/0.001位/说明:实验标题1,应用单实形式发送.voidsend_title()标题显示sendCMD(off_cursor);关光标sendCMD(LCD_L11);display(LCD_L11,0 xca,0 xd4);/试display(LCD_L12,0 xd1,0 xe9);/验/sendDAT(D);
22、sendDAT(S);sendDAT(T);sendDAT(8);/sendDAT(2);sendDAT(0);display(LCD_L13,0 xca,0 xd2);/室display(LCD_L14,0 xb5,0 xb1);/当display(LCD_L15,0 xc7,0 xb0);/、八刖display(LCD_L16,0 xce,0 xc2);/温display(LCD_L17,0 xb6,0 xc8);/度/display(LCD_L25,0 xce,0 xaa);/为sendCMD(LCD_L21);显示地址指回处sendCMD(off_cursor);关光标/MSP430F
23、14初始化voidmcuinit(void)TOC o 1-5 h zP1DIR|=BIT1;/P1.1驱动LEDP5DIR|=BIT7;/设DQ电时为1DQ1;initlcm();/LCD初始化send_title();/显示实验标题/DS18B20操作主程#include定义一个位设置,这样可以简化程序编写#defineDQ1P5OUT|=BIT7/DQ=1#defineDQ0P5OUT&=BIT7/DQ=0#defineDQIO_OUTP5DIR|=BIT7设为输出#defineDQIO_INP5DIR&=BIT7设为输入#definepositive0 x0f正温系数定义unsigne
24、dcharError=0;floatTemper=0.0;/真正有效温度值114.inttemperature=0;读取153.两字节温度数据154.unsignedchari;115.unsignedcharsymbol=1;温155.unsignedchartemp;度正负符号156.for(i=0;i1;移向118.功能:us级别延时下一位119./n=10,则延时10*5+6=56uS159.DQ0;120./160._NOP();延时121.voidDelayNus(unsignedintn)1us122.161.DQ1;123.while(n-);162._NOP();_NOP()
25、;延时124.5us125./163._NOP();65.DQIO_IN;/DQ口设为128.功能:写18B20输入129./166.if(P5IN&BIT7)=0)/DQ是130.voidWrite_18B20(unsignedcharn)否等于0167.131.168.temp=temp&0 x7F;读入132.unsignedchari;DQ为0133.for(i=0;i1;下一位177.DQ1;/DQ输出1143.DelayNus(6);延时178.50us以上179.returntemp;返回一个144.DQ1;数据81./147.
26、/49.184.复位说明:复位要求主CPU将数150.功能:读取18B20据线下拉500us,然后释放,151./152.unsignedcharRead_18B20(void)185.当DS18B20收到信号后等待16218.指令描述:温度转换命令,指定代60us左右,后发出60240微秒的存码为44H.启动DS1820进行温度转在低脉冲,换,12位转换时最长219.为750ms(9位为93.75ms).结果存186.主CPU收到此信号表示复位成功。入内部9字节RAM中.187.初始化DS18B20220.voidConvert(void)188.voidInit(
27、void)221.189.222.Write_18B20(0 x44);190.DQ0;223.191.DelayNus(50);延时224./500us225.192.DQ1;226.指令描述:读暂存器,指定代码为193.DelayNus(12);延时16BEH.读内部RAM中9字节的内60us容.194.227.voidReadDo(void)195.DQIO_IN;设DQ为228.输入229.Write_18B20(0 xbe);196.if(P5IN&BIT7)=BIT7)/10230.000000b=1f,DQ是否为1231./197.232.198./Error=1;失败1233.
28、读取温度值199.DQIO_OUT;设DQ234.voidReadTemp(void)为输输出235.200.236.chartemp_low,temp_high;/201.else温度值202.237.temp_low=Read_18B20();/203.Error=0;初始化成读低位功238.temp_high=Read_18B20();/204.DQIO_OUT;设DQ读高位为输输出239.205.DQ1;206.240.if(temp_high|positive)=positive)207.241.symbol=1;测到的温208./度为正209.242.else210.指令描述:跳过
29、ROM命令,指定代243.symbol=0;测到的温码为CCH,忽略64位ROM地址,直接度为负向DS1820发温度变换244.211.命令,适用于单片机工作.245.temperature=(temp_high&0 x0f);/212.voidSkip(void)屏蔽高4位213.246.temperature=8;/将214.Write_18B20(0 xcc);temp_high部分数据移到temperature/217.高8位temperaturel=temp_low;/temperaturel=temp_low;/将高低两字节内部合并成一个16位数据if(symbol=0)/是否为负
30、温度/ENDtemperature=(temperature)+1;将其取反后加1Temper=temperature*0.0625;/计算真实温度值/MCU对DS18B20进行温度转换时,其操作必须满足以下过程:/1-每一次读写之前都要对DS18B20进行复位./2-完成复位后发送一条ROM命令到DS18B20./3-最后发送一条RAM命令到DS18B20./以上系列动作是根据DS18B20的通讯协议所得.读取温度voidGetTemp(void)Init();/DS1820初始化Skip();跳过64位ROM(ROM命令)Convert();/转换(RAM命令)DelayNus(60000
31、);/60000 x5us=0.3sDelayNus(60000);/0.3sDelayNus(60000);/0.3sInit();/DS1820初始化Skip();跳过64位ROMReadDo();读暂存器273.ReadTemp();读取温度273.ReadTemp();读取温度低功耗模式#includemsp430 x13x.hRSEGCSTACK;SystemstackDS0RSEGCODE;Programcode的开始ResetMOV#SFE(CSTACK),SP;SetupWDTMOV#WDTPW+WDTHOLD,&WDTCTL;SetupTAMOV#TASSEL1+TACLR,
32、&TACTL;SMCLK,ClearTARSetupC0MOV#CCIE,&CCTL0;使能CCR0中断MOV#500,&CCR0;SetupP1BIS#MC1,&TACTL;定时器工作在连续模式EINT;开中断MOV#0FFDFH,&206HMOV#200H,&208HMOV#5000,&20AHMOV.B#21H,&201HMOV.B#22H,&202HMainloopbis#LPM1,SR;低功耗模式;TA0_isradd#500,&CCR0;AddOffsettoCCR0CMP#0,&20AHJZTA0_1CALL#KEYCALL#DISPLAY_LEDDEC&20AHretiTA0_1CALL#KEYMOV.B#0,P5OUTMOV.B#00,P5DIRRETIKEYPUSH.B&P1DIRPUSH.B&P1OUTCALL#KEYJUDGE;没有按键就退出,有就得到键值并处理JNCKEY2;MOV#2000,R15KEY0DECR15JNZKEY0CALL#KEYJUDGEJNCKEY2;去抖动CALL#KEYCODE;得到键值PUSHR9KEY1CALL#KEYJUDGE;等待按键松开JCKEY1POPR9MOV.BR9,&200HMOV.BR9,&201H;送到第一位显示MOV.BR9,&202H;送到第一位显示MOV.BR9,&203H;送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 这一颠覆性假说的验证需要义翘神州这样的Tau蛋白产品矩阵
- 维护部电梯安全管理办法培训课件
- 心血管-肾脏-代谢(CKM)综合征的科学和临床管理证据
- 任务一 市场宏观数据分析
- 2026安徽城管面试题及答案
- 2026阿里巴巴面试题目及答案
- 尘毒射线安全卫生管理制度培训
- 《物联网概论》课件 3.2 EPC系统概述
- 公路安保工程质量保证措施
- 2025年区块链驱动消费品供应链溯源:品牌信任提升
- 西藏自治区日喀则市2026届高三第二次模拟考试语文试卷含解析
- 2026年酒店住宿O2O线上线下融合的预订与入住体验
- 辽宁省能源集团招聘笔试题库2026
- 管道拆除安全措施方案
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)课件
- 中医涂擦疗法外用指南
- 英语北京市昌平区2026年高三年级第一次统一练习(昌平高三一模)(4.7-4.10)
- 2026成都市八年级语文下册部编版期末考试卷含答案
- 气溶胶中I-131测量方法的关键技术与应用探究
- 便利店工作制度详细流程
- 村干部工作考勤制度
评论
0/150
提交评论