基于MSP430最小系统的数字温度计论文.docx

上传人:b****7 文档编号:25439198 上传时间:2023-06-08 格式:DOCX 页数:24 大小:934.71KB
下载 相关 举报
基于MSP430最小系统的数字温度计论文.docx_第1页
第1页 / 共24页
基于MSP430最小系统的数字温度计论文.docx_第2页
第2页 / 共24页
基于MSP430最小系统的数字温度计论文.docx_第3页
第3页 / 共24页
基于MSP430最小系统的数字温度计论文.docx_第4页
第4页 / 共24页
基于MSP430最小系统的数字温度计论文.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于MSP430最小系统的数字温度计论文.docx

《基于MSP430最小系统的数字温度计论文.docx》由会员分享,可在线阅读,更多相关《基于MSP430最小系统的数字温度计论文.docx(24页珍藏版)》请在冰豆网上搜索。

基于MSP430最小系统的数字温度计论文.docx

基于MSP430最小系统的数字温度计论文

 

摘要

为了完成课题任务,设计了一种基于低功耗MSP430单片机的数字温度计。

整个系统通过单片机MSP430F149控制AD590读取温度,采用1602显示,温度传感器AD590与单片机之间通过串口进行数据传输。

MSP430系列单片机具有超低功耗,且外围的整合性高,AD590只需一个端口即可实现数信,连接方便。

通过多次实验证明,该系统的测试结果与实际环境温度一致,除了具有据通接口电路简单、测量精度高、误差小、可靠性高等特点外,低成本、低功耗的特点使其拥有更广阔的应用前景。

论述了一种以16位单片机MSP430F149为控制核心,利用电流输出型集成温度传感器AD590实现温度测量的温度检测系统。

详细论述了该系统的硬件组成和软件设计,给出了关键部分的电路图及相应的MSP430F149单片机温度测量程序。

实验结果表明,该温度检测系统具有低成本、可靠性高、结构简单、性能稳定、经济实用等特点,可根据不同需要应用于多种工农业温度检测领域。

关键词:

温度测量;MSP430单片机;AD590

 

绪论

单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。

学生在课程设计,毕业设计,科研项目中会广泛应用到单片机知识,而且,进入社会后也会广泛接触到单片机的工程项目。

鉴于此,提高“单片机原理及应用”课的教学效果,让学生参与课程设计实习甚为重要。

单片机应用技术涉及的内容十分广泛,如何使学生在有限的时间内掌握单片机应用的基本原理及方法,是一个很有价值的教学项目。

为此,我们进行了“单片机的学习与应用”方面的电子系统设计,锻炼学生的动脑动手以及协作能力。

单片机课程设计是针对模拟电子技术,数字逻辑电路,电路,单片机的原理及应用课程的要求,对我们进行综合性实践训练的实践学习环节,它包括选择课设任务、软件设计,硬件设计,调试和编写课设报告等实践内容。

通过此次课程设计实现以下三个目标:

第一,让学生初步掌握单片机课程的试验、设计方法,即学生根据设计要求和性能约束,查阅文献资料,收集、分析类似的相关题目,并通过元器件的组装调试等实践环节,使最终硬件电路达到题目要求的性能指标;第二,课程设计为后续的毕业设计打好基础,毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习的轨道上逐渐引向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的步骤和方法,了解科学实验的程序和实施方法。

第三,培养学生勤于思考乐于动手的习惯,同时通过设计并制作单片机类产品,使学生能够自己不断地学习接受新知识(如在本课设题目中存在智能测温器件AD590,就是课堂环节中不曾提及的“新器件”),通过多人的合作解决现实中存在的问题,从而不断地增强学生在该方面的自信心及兴趣,也提高了学生的动手能力,对学生以后步入社会参加工作打下一定良好的实践基础。

 

1、电子系统设计任务书

1、电子系统设计(报告)题目:

数字温度计

2、电子系统设计(报告)工作规定进行的日期:

第五周起至第十五周止

3、电子系统设计(报告)进行地点:

实验室

4、电子系统设计(报告)要求:

设计一个数字化的温度测量电路,基本要求:

1 测温范围-30~150℃;

2 可用于远距离温度测量;

3 系统功耗小于等于5W。

5、内容:

查阅相关文献资料,了解数字温度计程序的原理,能够运用C语言进行数字温度计的设计与制作。

设计基于C语言的数字温度计的控制系统硬件部分,画出控制系统硬件框图,设计数字温度计的控制系统的软件部分,首先根据数字温度计所需的具体功能设计好程序流程图;根据设计的程序流程图写出代码,并进行代码编译的调试。

根据总体的方案设计,包括完成的硬件部分和软件部分来选择合适的元器件;根据硬件电路图进行硬件电路板的制作并调试硬件。

把设计好的软件代码烧入硬件中,然后进行总体调试,直至原先预定要实现的功能完全实现为止。

设计出系统方框图、单元图、原理总图;画出控制程序流程图,以及编写完整的程序代码;撰写硬件系统总体说明、硬件接线图、控制程序、其他附件及图纸。

完成报告的撰写,根据格式要求和范文要求,先把目录确定,再根据目录的章节把具体内容撰写好,以此完成整篇报告。

6、安排表

序号

设计各阶段的名称

日期

1

查阅相关资料,了解数字温度计的原理

第五-八周

2

设计原理图、仿真图及PCB图

第九-十一周

3

设计有关程序,包括程序流程图、详细完整的程序代码清单及注解;列出元件清单,购买元件

第十二周

4

做板、编写在实验室进行模拟调试所需的补充资料

第十三周

5

在实验室做模拟调试

第十四周

6

编写报告(所做的设计如有特别之处,一定要挑明)

第十四周-十五周

7

将设计作品、报告装订成册,上交给指导教师

第十五周

7、组内成员完成任务情况

2、总体方案设计

2.1设计要求

设计一个数字化的温度测量电路,基本要求:

a.测温范围-30~150℃;

b.可用于远距离温度测量;

c.系统功耗小于等于5W。

2.2选题背景

随着科技的不断发展,现代社会对各种信息参数的准确度和精确度要求都有了几何的增长,而如何准确而又迅速获得这些参数就需要受制于现代信息基础的发展水品。

在三大信息信息采集(即传感器技术)信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是参透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产也离不开温度测量,因此研究温度的测量方法和装置具有重要的意义。

温度是工业对象的一个重要的被控参数。

然而采用的测温元件和测温方法也不相同:

产品的工艺不同,控制温度的精度也不同。

传统的控制方式已不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。

近几年来快速发展了多种先进的温度控制方式,如:

PID控制,模糊控制,神经网络及遗传算法控制等。

这些控制技术大大的提高了控制精度,不但使控制变的简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。

本课题设计整个系统通过单片机MSP430F149控制AD590读取温度,采用1602显示。

结构简单,实用性高。

同时,本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。

2.3设计方案选择及论证

2.3.1芯片方案一

采用AT89S52芯片,AT89S52是一种低功耗,高性能的8位CMOS微控制器,具有8K的可编程Flash存储器。

同时具有AT89S51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

2.3.2芯片方案二

采用MSP430F149单片机,MSP430F149芯片是美国TI公司推出的超低功耗微处理器,有60KB+256字节FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带3个捕获/比较寄存器和PWM输出的16位定时器、带7个捕获/比较寄存器和PWM输出的16位定时器、2个具有中断功能的8位并行端口、4个8位并行端口、模拟比较器、12位A/D转换器、2个串行通信接口等模块。

MSP430F149芯片具有如下特点:

  1)功耗低:

电压2.2V、时钟频率1MHz时,活动模式为200μA;关闭模式时仅为0.1A,且具有5种节能工作方式。

  2)高效16位RISC-CPU,27条指令,8MHz时钟频率时,指令周期时间为125ns,绝大多数指令在一个时钟周期完成;32kHz时钟频率时,16位MSP430单片机的执行速度高于典型的8位单片机20MHz时钟频率时的执行速度。

  3)低电压供电、宽工作电压范围:

1.8~3.6V;

  4)灵活的时钟系统:

两个外部时钟和一个内部时钟;

  5)低时钟频率可实现高速通信;

  6)具有串行在线编程能力;

  7)强大的中断功能;

  8)唤醒时间短,从低功耗模式下唤醒仅需6μs;

  9)ESD保护,抗干扰力强;

  10)运行环境温度范围为-40~+85℃,适合于工业环境。

2.3.3传感器方案一

考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,这是非常容易想到的,所以可以采用一只温度传感器DS18B20,DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

2.3.4传感器方案二

传感器部分,采用集成温度传感器。

集成温度传感器一般且有具有线性好、精度高、灵敏度高、体积小、使用方便等优点。

根据实验室现有材料可选取AD590。

AD590的测温范围为-55℃~+150℃,能满足本设计的-30~150度测量要求。

根据相关技术资料:

AD590线性电流输出为1μA/K,正比于绝对温度;AD590的电源电压范围为4V~30V,并可承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。

该方案能完全满足此设计的要求,同时,AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。

由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。

综合各方面考虑,决定采用MSP430F149单片机加AD590传感器读取温度。

3、系统硬件设计

3.1硬件总体框图

MSP

430

F149

 

 

图2.1.1系统总体设计框图

3.2主要器件介绍

3.2.1MSP430F149单片机

单片机引脚图如图3.2.1所示:

58脚RST/NMI为430单片机的复位引脚(低电平有效)。

1脚DVCC、63脚DVSS为数字电源接口。

64脚AVCC、62脚AVSS为模拟电源接口。

注意:

MSP430系列单片机的供电电压为1.8V~3.6V。

32脚UTXD0、33脚URXD0的第二功能为MSP430F149单片机两路串口通讯接口中的第一路。

34脚UTXD1、35脚URXD1的第二功能为MSP430F149单片机两路串口通讯接口中的第二路。

29脚SIMO0,30脚SOMI0,31脚UCLK0的第二功能为MSP430F149单片机两路SPI通讯接口中的第一路。

45脚SIMO1,46脚SOMI1,47脚UCLK1的第二功能为MSP430F149单片机两路SPI通讯接口中的第二路。

48脚的第二功能为MSP430F149单片机MCLK(主系统时钟)的输出端

图3.2.1MSP430F149单片机引脚图

49脚的第二功能为MSP430F149单片机SCLK(子系统时钟)的输出端

50脚的第二功能为MSP430F149单片机ACLK(辅系统时钟)的输出端。

52脚、53脚为外部高频时钟晶振输入端(程序中说明一般用XT2CLK或HFXTAL表示)。

8脚、9脚为外部低频时钟晶振输入端(程序中说明一般用LFXTICLK表示)。

59脚TA0,60脚TA1,61脚TA2,2脚A3,3脚A4,4脚A5,5脚A6,6脚A7的第二功能为8路的内部12位ADC模拟电压输入端口。

54脚TDO/TDI,55脚TDI/TCLK,56脚TMS,57脚TCK为JTAG接口(同时拥有仿真器和编程器的功能),用于下载程序并实现硬件在线仿真。

I/O口的操作

P1~P6的公有寄存器位为PXSEL,PXDIR,PXOUT,PXIN。

其中P1,P2相对于P3,P4,P5,P6还多出了3个寄存器PXIE,PXIES,PXIFG,这三个寄存器是用于设置开启P1,P2的外部触发中断使用的(其中X可以为1,2,3,4,5,6)。

以下各寄存器功能介绍(以P3.4为例):

P3SEL用于功能选择,当其置0选择的是普通I/O口功能,置1选择的是第二功能;

比如32脚UTXD0对应P3.4,33脚URXD0对应P3.4

P3SEL&=~BIT4;//该程序是将P3.4置0,此时该引脚只具有普通I/O口功能

P3SEL|=BIT4;//该程序是将P3.4置1,此时该引脚将具有异步串口通信功能;

P3DIR是用于设置I/O口输出方向的

P3DIR&=~BIT4;//该程序是将I/O口的方向设置为输入(一般用于读取数据时)

P3DIR|=BIT4;//该程序是将I/O口的方向设置为输出

P3OUT是用于设置I/O口输出高低电平的

P3OUT&=~BIT4;///该程序是使该I/O口输出高电平

P3OUT|=BIT4;///该程序是使该I/O口输出低电平

P3IN是用于读取外部输入到该引脚,使用该寄存器前必须将P3DIR置0。

3.2.2AD590传感器

AD590是电流输出型的半导体温度感测组件,主要特性如下:

1.具有线性输出电流。

2.宽广的操作温度范围(-55℃~150℃)。

3.宽广的工作电压范围(+4V~+30V)。

4.良好的隔离性。

AD590的包装与等效电路如图3.2.1所示,AD590封装形式和基本应用电路如图3.2.2所示,是TO-52型金属外壳包装。

他是两端子的半导体温度感测组件,另有一端子是外壳接脚,可接地以减少噪声干扰。

AD590如同一个随温度而改变输出电流的定电流源,输出电流与外壳的开氏(K)温度成正比。

开氏温度与摄氏温度的单位相等,0℃等于273.2K,100℃等于373.2K。

当温度为0℃时,AD590的输出电流是273.2μA。

而温度为100℃时,输出电流是373.2μA。

温度每升高1℃,输出电流增加1μA,及温度系数为1μA/℃。

 

图3.2.1AD590包装与等效电路图

AD590当温度增加1℃时,其输出电流会增加1μA。

即AD590的温度系数为1μA/℃。

所以在T(℃)时的电流

,而温度每变化1℃时,V2的电压变化是为

,表示温度每增加1℃,V2会增加10mV。

在0℃时V2就已经有电压存在,其值为

,则T(℃)时

如图3.2.3所示,OP7组成差动放大器,电压增益为

零位调整SVR1则用于抵补0℃的电压值,由差动放大器的公式

可得知,若调整SVR1使V1的电压为2.732V,则0℃时,差动放大器的输出VO为0V。

也就是说,若温度是在0℃至50℃之间,则差动放大器的输出电压是在0V至5V之间,亦即每0.1V的输出代表温度上升1℃。

与设计要求相符合。

图3.2.2AD590封装形式和基本应用电路

 

图3.2.3差动放大器

3.3设计过程论述

3.3.1设计原理分析

单片机最小系统部分原理图如图3.3.1所示:

图3.3.1单片机部分原理图

本部分主要是一个单片机最小系统,它的主要功能是完成模数转换并通过1602显示器将温度显示出来。

本程序采用单片机MSP430的语言编写,用IARSystem公司开发的IAREmbeddedWorkbenchforMSP430Kickstart编译器编程调试。

进入IAREmbeddedWorkbench集成环境,然后在该环境下建立一个项目,进入源程序编辑界面。

在这里进行源程序的编辑,编译结束后,源文件编译通过之后,将生成目标代码。

最后进入CSPY调试环境,在CSPY环境中,分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新等子程序的编程及调试,通过观察寄存器的窗口来判断从AD590数字温度计读取的数据是否准确。

由于该数字温度测试仪的时序要求比较严,把握读写时隙才能准确地测量出温度数值。

因此在CSPY工作环境下,通过观察程序运行的结果来断定程序的正确以及准确度。

传感器基本应用电路如图3.3.2所示:

图3.3.2基本应用电路

Vo的值为Io乘上10K,以室温25℃而言,输出值为2.98V(10K×298μA)。

量测Vo时,不可分出任何电流,否则量测值会不准。

传感器部分原理图如图3.3.3所示:

电路分析

AD590的输出电流I=(273+T)μA(T为摄氏温度),因此量测的电压V为(273+T)μA×10K=(2.73+T/100)V。

为了将电压量测出来又需使输出电流I不分流出来,我们使用电压追随器其输出电压V2等于输入电压V。

由于一般电源供应较多零件之后,电源是带噪声的,因此我们使用齐纳二极管作为稳压零件,再利用可变电阻分压,其输出电压V1需调整至2.73V。

接下来我们使用差动放大器其输出Vo为(100K/10K)×(V2-V1)=T/10V。

如果现在为摄氏28度,输出电压为2.8V。

V0

V1

V2

图3.3.3传感器部分原理图

3.3.2软件程序设计

系统程序主要实现对采集来的模拟信号进行模数转换,并对数字信号进行液晶显示,所以程序有采集模拟信号、

转换和液晶显示三部分,程序设计流程图如下.

3.3.3数据分析计算

产生的电流与绝对温度成正比,则单片机采集的电压值与温度成正比,

单片机中的

模块转换结果的计算公式如下:

其中,

等于输入模拟电压,

为参考电压的正电压,

为参考电压的负电压(一般取0V)。

经过试验测不同室温情况下输入模拟电压与温度的关系如下:

实际温度

输入模拟电压的值m

24℃

2.4V

室温28℃

2.8V

表一

实际温度

与输入模拟电压

之间的关系表达如下:

其中

是实际温度与模拟电压关系之间的关系常数,通过表一计算可得该系统中

通过该常数可求得实际温度。

3.3.4硬件调试

电路板制好后,连接各个模块,将显示器接在最小系统板子上。

硬件调试可分为静态调试与动态调试两步进行。

静态调试是在用户系统未工作时的一种硬件检测。

第一步:

目测。

检查外部的各种元件或者是电路是否有断点。

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步:

加电检测。

给板加电,检测所有插座或是器件的电源端是否符合要求的值。

第四步:

联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。

动态调试的一般方法是由近及远、由分到合。

由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。

当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。

由分到合的调试既告完成。

由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

3.4设计结果分析及总结

3.4.1设计结果分析

室内温度显示

数字温度计DS18B20显示温度

该设计显示温度

误差

23.2719

23.2

1.003%

25.8018

25.9

0.996%

27.0977

26.9

1.007%

30.1985

30.0

1.006%

测量结果与标准温度计DS18B20显示室内温度基本一致。

测量结果如经计算误差为1%左右,基本达到设计要求。

同时用手指捏住AD590传感器,温度将立即变化并不断升高;当升高到一定温度放开手指,温度将立即下降。

根据这一特性可知此系统能根据温度的变化测量实时温度。

3.4.2设计总结

在基于MSP430单片机的温度计的设计中,在低功耗设计方面,首先是选择低功耗元件,从单片机、传感器和LED显示器及其驱动电路,都尽量选择市场上功耗最低的产品;其次在硬件电路设计方面,降低系统工作电压;再次,是软件设计融入低功耗思想,核心的方法就是在最短的时间内把需要的工作完成,然后立即进入休息状态,不论在工作还是休息状态,立即关闭不必要的模块,以最大限度地降低功耗,例如,采样间歇状态时,关闭单片机内部除看门狗定时器之外的所有模块,切断传感器和放大器的供电,将外部存储器置于休眠状态,只有显示器处于活动状态,最大限度地降低了功耗。

这些低功耗的措施起到了良好的效果,成功地控制了MSP430单片机的温度计的功耗,使用MSP430为核心构成的便携式系统,MSP430单片机的温度计电池的使用寿命可以比基于一般CPU的系统延长3~5倍。

在降低成本的措施方面,满足性能的前提下,尽量选择低成本元件,温度测量采用AD590数字温度传感器,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,十分方便。

相比其他的温度传感器,该系统设计具有结构简单、分辨率高、可调节的特点,且无需硬件同步时钟控制。

随着智能化仪器仪表的大量使用,及低功耗高效率的现代化产品要求的提升越来越大。

为此,本文采用单片机MSP430设计的数字温度计的简单方法,无疑将具有一定的参考价值。

4、致谢

历时几个周的电子系统设计终于接近尾声。

在这段时间里,我们小组全部成员都各尽其能,每位成员都做出了努力,翻阅了大量的文献数据,也上网查询了各种MSP430单片机和AD590温度传感器方面的相关信息,学到了许多相关的专业知识,同时,也认识到自身的众多不足。

在这次课程设计中,我们总结出最重要的一点是一定要学以致用,把所学理论知识用到实践中来。

发明和创造就是这样产生的。

并且,在设计与创造的过程中,遇到困难不要气馁,一定要坚持不懈,特别是对与科学研究,爱迪生进行了九千九百九十九次实验,才发明了电灯泡,造福了人类,如果他失败了九千九百九十八次就放弃了,那就不可能有这样的成就。

伟人毕竟是伟人,作为一名学生,在学习中一定要抱有积极地心态去对待学习遇到中的问题,不说要像伟人一样能那么执着地去克服困难,但至少要坚持完成自己的学习任务,为今后就业创造好的条件。

在这里我们要感谢的是甘老师,在整个系统设计过程中,甘老师给了我们很大的帮助;他不仅在论文的设计和撰写方面、电路实物的调试方面给予了我们极大的帮助和鼓励,同时,他严谨的治学态度,广博的理论知识,丰富的工作经验,务实的工作态度,使我们受益匪浅。

我们不仅从他身上学到了许多科研的方法,还学会了很多做人做事的道理,这将使我们终生受益。

5、附录

5.1附录一(PCB图):

5.2附录二(实物图):

5.3附录三(程序):

#include

#include"cry1602.h"

#include"cry1602.c"

#defineNum_of_Results32

ucharshuzi[]={"0123456789."};

uchartishi[]={"Temperatureis:

"};

staticuintresults[Num_of_Results];

voidTrans_val(uintHex_Val);

/*************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1