版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文华学院学生课程考查报告考查课程:MSP430单片机应用设计设计题目:基于MSP430单片机的温度测量仪设计专业班级:*学号:*姓名:空指导教师:*实验日期:2016年5月8日基于MSP430单片机的温度测量仪设计文华学院摘要MSP430单片机是德州公司最新开发的具有16位总线带FLASH的单片机,由于它的性价比和集成度高,受到广大技术开发人员的青睐。它的可靠性能比较好,加强电干扰运行不受影响,适应工业级的运行环境,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为显示终端的数字化控制设备,通过单片机对被控制对象进行智能控制。MSP430单片机将会在工程技术应
2、用中得到广泛的应用。而且,它是通向DSP系列的桥梁,随着自动控制的低功耗化和高速化,MSP430系列单片机将会得到越来越多人的喜爱。通过这次毕业设计,我对MSP430单片机有了完整的了解,并且着重了解了MSP430F149芯片的原理图以及它的工作原理,对内部的硬件资源和自身的汇编语法进行了实验,把它和DS18B20温度传感器联系在一起实现了温度的测量以及报警。关键词:MSP430;超低功耗;单片机;DS18B20AbstractTexasMSP430microcontrolleristhelatestdevelopmentofa16bitbuswithFLASHMCU,duetoitscost
3、-effectiveandhighlyintegrated,bythemajorityoftechnologydevelopersofallages.Itsreliabilityisbetter,enhancingelectricalinterferenceunaffected,adaptindustrial-gradeoperatingenvironment,inavarietyofindustryoccupiesanimportantpositioninboth,appliedtomoreandmoreareastomicrocontrollercore,withLCDasadigital
4、controldisplayterminalequipment,throughthecontrolledobjectMCUintelligentcontrol.MSP430microcontrollerapplicationsengineeringtechnologywillbewidelyused.And,itisabridgeleadingDSPfamily,withautomaticcontrol,lowpowerconsumptionandhighspeed,MSP430MCUwillgetmoreandmorepeople'sfavorite.Throughthisgradu
5、ationproject,IhaveacompleteunderstandingoftheMSP430microcontroller,andfocusonunderstandingtheMSP430F149chipschematicanditworks,andtheinternalhardwareresourcesandtheirownassemblersyntaxconductedexperimentsitandDS18B20linkedtothetemperaturesensorofthetemperature-measuringandalarm.Keywords:MSP430;ultra
6、-lowpower;SCM;DS18B20一、概述11引言十七世纪是温度计诞生和发展的最初阶段,这个仪器几乎比任何其它仪器都得到更加广泛的应用。现代历史研究认为最早发明温度计的科学家是伽利略,他在1592年发明了最早的气体温度计,最早的液体温度计则是荷兰科学家华伦海特制造出来的。随着核能,宇航,冶金,低温,材料,微电子学和生物医学等方面的发展,对于温度测量控制的精度和范围提出了很高的要求,特别是对温度的测量不但要准确,而且需要读取数值时要更直观,更方便,这样的要求促进了温度测量和控制技术的迅速发展。在如今虽然水银温度计仍是各温度测量的计量标准,可是它的缺点则是刻度间隔通常很密,不能准确分辨,读
7、数困难,而且它们的热容量比较大,这使得达到热平衡所需的时间非常长,因此更难读准,同时,玻璃管易碎,里边的水银有毒,使用起来非常不方便。后来出现了代替水银的有,酒精温度计和金属簧片温度计。它们虽然无毒性,但是测量精度很低,只能作为一个大概的指示。后来接着又出现了热电阻温度计、热电偶温度计等温度计。之后随着大规模集成电路技术的提高,又出现了多种集成的数字化温度传感器。如今随着电子工业的发展,数字仪表的优点有反应速度快,操作简单,并且对使用环境要求不高,市场上出现越来越多的数字式温度计,纵观国际上现有的温度计的变化,总趋势是从模拟信号向数字信号转变,相应的体积也在不断的减小,一切向着数字化,智能化控
8、制方向发展。12现状和发展状况温度检测和控制是在工业生产过程中是比较典型的应用之一,随着传感器在生产生活中的广泛应用,利用新型总线式数字温度传感器来实现对温度的测试,并且让控制得到更快的开发。在现在的生活中,所用到的家具设备,电器,工业产品等对温度的要求日益增高,与此同时灵敏的温度控制报警系统已经成为了日常生活中必不可少的产品。例如锅炉,冰箱的温控系统等,都需要用到了这一功能部件。对此,我这次设计了基于MSP430F149单片机的温度检测系统,来模拟现实中的温度控制系统。此系统的设计和布线简单,体积小,重量轻,结构紧凑,抗干扰能力比较强,扩展方便,性价比高,在工厂,大型仓库,智能化的建筑等领域
9、的多点温度检测系统中有广阔的应用前景。所以在科学技术发展的今天,温度的检测,控制应用于许多行业,随着电子工业的迅速发展,数字仪表的优点有反应速度快,操作简单,对使用环境要求不高,市场上出现了越来越多的数字式温度计,实践表明,低功耗,高精度的便携式数字式温度计使用十分方便,工作状况稳定,待机时间比较长,已经开始得到广泛应用。13课题研究的主要内容本设计的目的是实现基于MSP430单片机的温度测量仪设计,主要内容有:1、可利用单片机芯片内温度传感器或DS18B20单线温度传感器。2、5位数字显示(显示器可用LED数码管、LCD1002或LCD12664显示模块)。二、系统方案设计2.1系统组成结构
10、该系统主要由4模块组成,其中包括DS18B20温度传感器,MSP430F149微控制器,LED显示模块,报警模块4部分组成。由温度传感器负责数据采集,经过处理器转换后由LED显示模块输出,同时报警模块负责温度报警的上下限,当温度到达设定值时就会发生报警。其组成框图如下所示:2.2系统工作流程首先设定温度报警的上下限值,然后由温度传感器进行温度数据的采集,当微处理器检测到温度超过设定的范围值时就实行报警,提醒用户做相关操作。.2.3系统核心器件选型MSP430F149单片机,DS18B20温度传感器,液晶显示器2.4系统硬件主要电路说明2.4.1数据采集系统电路该系统采用美国DALLAS公司生产
11、的单线数字温度传感器DS18B20来采集温度数据,作为单片机MSP430149的温度传感器,该芯片有很多优点,可把温度信号直接转换成串行数字信号供微机处理。由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)。由于该系统采用DS18B20作为温度采集传感器,这部分电路就比较简单了,下图为温度采集电路。DS18B20的读写时序和测温原理和DS1820相同,只是得到的温度值的位数因分辨率不同而不同,DS18B20的测温过程中温度的变化对晶振的振荡频率影响非常的小,会产生脉冲信号送到计数器1,而且是固定的频率。但高温度的晶振的振荡
12、频率就会随着温度的变化而产生明显的改变搞温度的晶振所产生的频率会做为计数器2的脉冲输入。计数器1和温度寄存器被预置在一55°C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。高速缓存器存储器包含一个高速暂存RAM和一个非易失性的可电擦除的EP2RAM。配置寄存器为高速缓存器中的第五个字节,它的内容用于确定温度值的数字转换分辨率。后五位一直
13、是1,TM是测试模式位,用于设置DS18B20在工作模式还是测试模式,在DS18B20出厂时被设置为0,用户不需要去改动,R1和R0决定温度转换的精度位数6。2.4.2PL2303下载电路i1玉4TCiyoiC5C卍DTEXO5C1<BJENHJLJESTFLL3WOPLL3WMCDWDDJMODVDDCOTVDDDCDNB5ICKXSiTDNTDDW5EEClZDMLEDATADPZ3G3丁匚MCAPZHI1心閃JiGMDI>PL2303器件内置USB功能控制器,USB收发器,振荡器和带有全部调制解调器控制信号的UART,所以我们只需要外接几个电容就可实现RS232信号与USB信
14、号的转换,这样能够方便我们嵌入到各种设备当中。这些信息的转换全部由器件自身完成,不需要我们自己动手操作。2.4.3报警模块蜂鸣器电路GXDL51报警处埋模块相当简单,这里只是简单的在一个I/O口上送出数据来驱动蜂鸣器,该模块包括数据产生和初始化端口两个部分,数据的产生部分主要是在输出端口产生数据,这里不是简单的一个高电平或者是低电平的问题,而是要有一定频率的数据才可以,因为只有是交流信号才能够让蜂鸣器发出声。而不同的周期信号可以得到不同的频率,则可以根据信号处理的知识来进行分析7。2.4.4LCD1602显示模块电路GND液晶显示1602利用的是液晶的物理性质,由电压控制其显示区域,可以显示图
15、形,只要有电源就可以显示图形。液晶显示装置有这不一般的厚度薄,适用于大规模集成电路的直接驱动,易于实现全彩色显示,这已被广泛应用于笔记本电脑,数码相机,CDA移动通信工具。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:1、显示质量高:由于显示器在每一个点在收到信号之后就一直保持那种色彩和亮度,恒定发光,而不像显示器那样出现不断刷新的亮点。所以液晶显示器的画面质量很高,一般不会出现闪烁的现象,比传统的显示器画面要胜出一筹。2、数字式接口:显示器全部是数字的,和其他单片机比起来更加的简单可靠,操作则也很方便。3、体积很小,重量很轻,i般的传统的显示器轻上很多。而液晶显示器通过电极控制液晶
16、内部的分子状态,从而达到显示的目的89。4、功耗低:相对与其他的单片机来说,液晶显示器的功耗主要消耗在驱动IC上,其他的则消耗在了内部电极上,因此消耗的电量比其它的传统显示器要少得多。三、工作原理本设计的原理是:温度采集系统主要通过单线数字温度传感器DS18B20采集得到温度数据,MSP430F149作为CPU从温度传感器读取数据,将得到的数据进行判断然后做相应处理,比如显示或报警。温度传感器通过某种关系的换算,就可以得到温度传感器的输出电压,这样单片机通过模拟口采集得到传感器的输出电压。由于MSP430F149片内集成了A/D转换通道,这样可以直接将单片机的A/D输入通道和传感器的模拟电压输
17、出通道相连接另外系统通过键盘输入来完成对报警温度上下限的设置,通过显示电路将得到的数据显示出来,当超过设定值时则会报警。该系统主要有电源及复位模块,温度传感器采集模块,温度报警模块和显示模块,分别有P1.0-P1.7,RESET,P2.5,P2.6,P4.0-P4.7控制。整个系统具有结构简单等特点。温度传感器的采集模块和单片机的数模转换的通道连接,这样可以使得采集模块的设计简单化,从而使得设计的程序和模块简单易懂。其中温度采集和显示模块的很多运算功能是通过单片机的Pl口来实现的,由于Pl口中断功能,所以实现起来非常容易,并且也非常适合软件编程。电源及复位模块主要是为整个系统提供可靠的电源,另
18、外考虑到系统工作需要有复位功能,因此也为系统提供复位信号。四、软件设计程序:include<msp430xl4x.h>/延时函数#defineCPU_F(double)8000000)/外部高频晶振8MHZ#defineCPU_F(double)32768)/外部低频晶振32.768KHZ#definedelay_us(x)_delay_cycles(long)(CPU_F*(double)x/1000000.0)#definedelay_ms(x)_delay_cycles(long)(CPU_F*(double)x/1000.0)/自定义数据结构#defineucharunsi
19、gnedchar#defineuintunsignedint#defineulongunsignedlong/DS18B20控制脚,单脚控制#defineDQ_INP1DIR&=BIT6/DS18B20接单片机P17口#defineDQ_OUTP1DIR|=BIT6/设置输出#defineDQ_CLRP1OUT&=BIT6/置低电平#defineDQ_SETP1OUT|=BIT6/置高电平#defineDQ_RP1IN&BIT6/读电平#definewei_hP5OUT|=BIT5/置高电平#definewei_lP5OUT&=BIT5/置低电平#defined
20、uan_hP6OUT|=BIT6/置高电平#defineduan_lP6OUT&=BIT6/置低电平inttemp_value;inttemp;/定义的变量,显示数据处理intA1,A2,A3;/*/系统时钟初始化,外部8M晶振/*voidClock_Init()uchari;/打开XT2振荡器/MCLK为8MHZ,SMCLK为8MHZ/清楚振荡器错误标志/如果标志位1,则继续循环等待BCSCTL1&=XT2OFF;BCSCTL2|=SELM1+SELS;doIFG1&=OFIFG;for(i=0;i<100;i+)_NOP();while(IFG1&OF
21、IFG)!=0);IFG1&=OFIFG;/*/MSP430内部看门狗初始化/*voidWDT_Init()WDTCTL=WDTPW+WDTHOLD;/关闭看门狗/*/初始化IO口子程序/*voidPort_Init()P5DIR=0xFF;P4DIR=0xFF;P6DIR=0xFF;/设置IO口方向为输出/P4口初始设置为FF*/DS18B20初始化/*/*unsignedcharDS18B20_Reset(void)/初始化和复位unsignedchari;DQ_OUT;DQ_CLR;delay_us(500);DQ_SET;DQ_IN;delay_us(80);i=DQ_R;de
22、lay_us(500);/延时500uS(480-960)/延时80uS/延时500uS(保持480uS)if(i)return0x00;elsereturn0x01;/*/DS18B20读一个字节函数/*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*>y»*Y»*Y»unsignedchards1820_read_
23、byte(void)unsignedchari;unsignedcharvalue=0;for(i=8;i!=0;i-)value>>=1;DQ_OUT;/*延时4uS/*延时10uS/*延时60uSDQ_CLR;delay_us(4);DQ_SET;DQ_IN;delay_us(10);if(DQ_R)value|=0x80;delay_us(60);return(value);/*/向18B20写一个字节函数/*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*
24、1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*>y»*Y»*Y»/*DS18B20字节写入函数*/voidds1820_write_byte(unsignedcharvalue)unsignedchari;for(i=8;i!=0;i-)DQ_OUT;DQ_CLR;delay_us(4);/延时4uSif(value&0x01)DQ_SET;delay_us(80);/延时80uSDQ_SET;/位结束value>>=1;/*/发送温度转换命令/*/*启动dsl
25、820转换*/voidds1820_start(void)DS18B20_Reset();/勿略地址/启动转换ds1820_write_byte(0xCC);ds1820_write_byte(0x44);/*/DS8B20读取温度信息/*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*>y»*Y»*Y»unsigne
26、dintds1820_read_temp(void)unsignedinti;unsignedcharbuf9;DS18B20_Reset();ds1820_write_byte(0xCC);/勿略地址ds1820_write_byte(0xBE);/读取温度for(i=0;i<9;i+)bufi=ds1820_read_byte();i=buf1;i<<=8;i|=buf0;temp_value=i;temp_value=(uint)(temp_value*0.625);/不是乘以0.0625的原因是为了把小数点后一位数据也转化为可以显示的数据returni;/*/温度数据
27、处理函数/*voiddata_do(inttemp_d)intA2t;Al=temp_d/l00;A2t=temp_d%l00;A2=A2t/l0;A3=A2t%l0;/分出百,十,和个位/*/主程序/*voidmain(void)constunsignedcharseg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;constunsignedcharzww=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09;ucharj;WDT_Init();Clock_Init();Port_Init()
28、;输入或输出DSl8B20_Reset();/看门狗初始化/时钟初始化/端口初始化,用于控制IO口/复位D18B20while(l)dsl820_start();dsl820_read_temp();/启动一次转换/读取温度数值data_do(temp_value);/处理数据,得到要显示的值if(Al=zwwO)Al二segO;/以下将DS18B20反馈的数值换成数码管的字符编码以显示elseif(Al=zwwl)Al=segl;elseif(Al=zww2)Al=seg2;elseif(A1=zww3)A1=seg3;elseif(A1=zww4)A1=seg4;elseif(A1=zww
29、5)A1=seg5;elseif(A1=zww6)A1=seg6;elseif(A1=zww7)A1=seg7;elseif(A1=zww8)A1=seg8;elseif(A1=zww9)A1=seg9;elseA1=A1;if(A2=zww0)A2=seg0;elseif(A2=zww1)A2=seg1;elseif(A2=zww2)A2=seg2;elseif(A2=zww3)A2=seg3;elseif(A2=zww4)A2=seg4;elseif(A2=zww5)A2=seg5;elseif(A2=zww6)A2=seg6;elseif(A2=zww7)A2=seg7;elseif(A
30、2=zww8)A2=seg8;elseif(A2=zww9)A2=seg9;elseA2=A2;if(A3=zww0)A3=seg0;elseif(A3=zww1)A3=seg1;elseif(A3=zww2)A3=seg2;elseif(A3=zww3)A3=seg3;elseif(A3=zww4)A3=seg4;elseif(A3=zww5)A3=seg5;elseif(A3=zww6)A3=seg6;elseif(A3=zww7)A3=seg7;elseif(A3=zww8)A3=seg8;elseif(A3=zww9)A3=seg9;elseA3=A3;for(j=0;j<8;j
31、+)P4OUT=A1;duan_h;duan_l;P4OUT=0Xfe;wei_h;wei_l;delay_ms(0.4);P4OUT=A2+BIT7;duan_h;duan_l;P4OUT=0xfd;wei_h;wei_l;delay_ms(0.4);P4OUT=A3;duan_h;duan_l;P4OUT=0xfb;wei_h;wei_l;delay_ms(0.4);P4OUT=0x39;duan_h;duan_l;P4OUT=0xf7;wei_h;wei_l;delay_ms(0.4);P4OUT=0x00;/缺少该句,数码管会有微弱重影,有该句无重影duan_h;duan_l;五、系统
32、调试调试步骤:(1) 通过“IARForMSP430”软件导入C语言程序,下载到实验板上进行相关调试。如下图所示:i.*ft;屮叫訂I”他$口屮皿_r眾fWn-MS?40F亦an*Z电鼻*无线噩J1(2) 用手在其周围扇风,使其周围温度降低,则发现温度示数减小,如下图所示:(3) 用手捂住使其温度升高,如图所示:六、结束语6.1遇到的问题及解决方案调试时,系统刚开始启动就进入死循环,这个原因我们分析得知是由于刚开始温度传感器还没来得及感测周围温度,相当于实际的温度值是0,肯定小于原来预定的下限,从而进入死循环,最后在主程序前加一个等待延时程序,就解决了这个问题。&2心得体会MSP430
33、单片机课程设计这门课,让我们充分的得到了锻炼,只有实践才能够将我们的所学有用武之地。在实验的开始,我们就开始要学习一个完全陌生的软件IAR,并且让我们认识到了不是所有的单片机都需要Keil软件来变程序的,IAR软件让我们有了全新的认识,并且在短时间内学会了简单的运用它。MSP单片机是我们第一次接触,但是我们曾学过51单片机的课设,所以自认为能够运用自如,结果在实验的过程中就发生了很多问题,代码的编写,每种单片机对应的代码虽然大同小异,但是不小心仔细一些,就会出现很多错误,所以要运用课上所学,使我们所学有所用,并结合到实践中去;其次小组的配合分工,使我们更加有效率的做好每一个实验。总的来说,这次
34、的实验让我们更加深入的了解了MSP430单片机的功能和特点,也体会到了团结合作的乐趣与激情,收获颇多。七、参考文献1、沈建华,杨艳琴,翟骁曙MSP430系列16位超低功耗单片机原理与应用北京:清华大学出版社,20042、李维,郭强。液晶显示应用技术。电子工业出版社,20003、郑敏。DS18B20温度传感器在温度大枷多路测控技术中的应用。四川:鄂州大学电子工程系,5200814、马云峰。单片机与数字温度传感器DS18B20的接口技术。山东:潍坊学院信息与控制工程系,2610415、梅丽凤。基于MSP430控制的液晶显示屏设计与实现。辽宁工业大学信息科学与工程学院,20076、李元斌。DS18B20数字传感器温度检测显示系统。湖北:华中科技大学生命学院试验中心,4300741双灯交替闪烁程序设计:#include<msp430x14x.h>voiddelay(unsignedintn)do(n-);while(n!=0);v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年辽宁省葫芦岛市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2023年黑龙江省七台河市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年辽宁省铁岭市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年四川省达州市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 淮北市和淮南市2025届高三第一次质量检测(一模)历史试卷答案
- 辽宁省盘锦市(2024年-2025年小学六年级语文)部编版期末考试(下学期)试卷及答案
- 2024年高端服装设计转让合同
- 2024版人事管理人员保密协议文件版
- 2022-2024年中考历史试题分类汇编:统一多民族国家巩固与发展(解析版)
- 2023-2024年上海虹口区英语高考一模试卷
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 通信安全员ABC证报名考试题库及答案
- 英山县南河镇黑石寨饰面用花岗岩矿矿产资源开发利用与生态复绿方案
- 开放系统10861《理工英语(4)》期末机考真题及答案(第103套)
- 2023年印尼法律须知
- 20S805-1 雨水调蓄设施-钢筋混凝土雨水调蓄池
- 《中华民族大团结》(初中)-第7课-共同创造科学成就-教案
- OptiXOSN3500产品培训课件
- 钢筋计量-柱钢筋计量之框架柱基础插筋
- 肌间静脉血栓护理问题
- (高清版)DZT 0399-2022 矿山资源储量管理规范
评论
0/150
提交评论