msp430单片机课程设计_第1页
msp430单片机课程设计_第2页
msp430单片机课程设计_第3页
msp430单片机课程设计_第4页
msp430单片机课程设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文 华 学 院 学 生 课 程 考 查 报 告 考 查 课 程 : MSP430 单 片 机 应 用 设 计 设 计 题 目 : 基 于 MSP430 单 片 机 的 温 度 测 量 仪 设 计 专 业 班 级 : * 学 号 : * 姓 名 : * 指 导 教 师 : * 实 验 日 期 : 2016 年 5 月 8 日 基于 MSP430 单片机的温度测量仪设 计 文华学院 摘要 MSP430 单片机是德州公司最新开发的具有 16 位总线带 FLASH 的单片机, 由于它的性价比和集成度高,受到广大技术开发人员的青睐。它的可靠性能比 较好,加强电干扰运行不受影响,适应工业级的运行环境,在各种行业中都占 有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶显示作为 显示终端的数字化控制设备,通过单片机对被控制对象进行智能控制。 MSP430 单片机将会在工程技术应用中得到广泛的应用。而且,它是通向 DSP 系列的桥梁,随着自动控制的低功耗化和高速化,MSP430 系列单片机将会 得到越来越多人的喜爱。 通过这次毕业设计,我对 MSP430 单片机有了完整的了解,并且着重了解了 MSP430F149 芯片的原理图以及它的工作原理,对内部的硬件资源和自身的汇编 语法进行了实验,把它和 DS18B20 温度传感器联系在一起实现了温度的测量以 及报警。 关键词:MSP430;超低功耗;单片机;DS18B20 Abstract Texas MSP430 microcontroller is the latest development of a 16- bit bus with FLASH MCU, due to its cost-effective and highly integrated, by the majority of technology developers of all ages. Its reliability is better, enhancing electrical interference unaffected, adapt industrial-grade operating environment, in a variety of industry occupies an important position in both, applied to more and more areas to microcontroller core, with LCD as a digital control display terminal equipment, through the controlled object MCU intelligent control. MSP430 microcontroller applications engineering technology will be widely used. And, it is a bridge leading DSP family, with automatic control, low power consumption and high speed, MSP430 MCU will get more and more peoples favorite. Through this graduation project, I have a complete understanding of the MSP430 microcontroller, and focus on understanding the MSP430F149 chip schematic and it works, and the internal hardware resources and their own assembler syntax conducted experiments it and DS18B20 linked to the temperature sensor of the temperature-measuring andalarm. Keywords: MSP430; ultra-low power; SCM; DS18B20 一、概述 1.1 引言 十七世纪是温度计诞生和发展的最初阶段,这个仪器几乎比任何其它仪器 都得到更加广泛的应用。现代历史研究认为最早发明温度计的科学家是伽利略, 他在 1592 年发明了最早的气体温度计,最早的液体温度计则是荷兰科学家华伦 海特制造出来的。 随着核能,宇航,冶金,低温,材料,微电子学和生物医学等方面的发展, 对于温度测量控制的精度和范围提出了很高的要求,特别是对温度的测量不但 要准确,而且需要读取数值时要更直观,更方便,这样的要求促进了温度测量 和控制技术的迅速发展。在如今虽然水银温度计仍是各温度测量的计量标准, 可是它的缺点则是刻度间隔通常很密,不能准确分辨,读数困难,而且它们的 热容量比较大,这使得达到热平衡所需的时间非常长,因此更难读准,同时, 玻璃管易碎,里边的水银有毒,使用起来非常不方便。 后来出现了代替水银的有,酒精温度计和金属簧片温度计。它们虽然无毒 性,但是测量精度很低,只能作为一个大概的指示。后来接着又出现了热电阻 温度计、热电偶温度计等温度计。之后随着大规模集成电路技术的提高,又出 现了多种集成的数字化温度传感器。如今随着电子工业的发展,数字仪表的优 点有反应速度快,操作简单,并且对使用环境要求不高,市场上出现越来越多 的数字式温度计,纵观国际上现有的温度计的变化,总趋势是从模拟信号向数 字信号转变,相应的体积也在不断的减小,一切向着数字化,智能化控制方向 发展。 1.2 现状和发展状况 温度检测和控制是在工业生产过程中是比较典型的应用之一,随着传感器 在生产生活中的广泛应用,利用新型总线式数字温度传感器来实现对温度的测 试,并且让控制得到更快的开发。 在现在的生活中,所用到的家具设备,电器,工业产品等对温度的要求日 益增高,与此同时灵敏的温度控制报警系统已经成为了日常生活中必 不可少的产品。例如锅炉,冰箱的温控系统等,都需要用到了这一功能部 件。对此,我这次设计了基于 MSP430F149 单片机的温度检测系统,来模拟现实 中的温度控制系统。此系统的设计和布线简单,体积小,重量轻,结构紧凑, 抗干扰能力比较强,扩展方便,性价比高,在工厂,大型仓库,智能化的建筑 等领域的多点温度检测系统中有广阔的应用前景。 所以在科学技术发展的今天,温度的检测,控制应用于许多行业,随着电 子工业的迅速发展,数字仪表的优点有反应速度快,操作简单,对使用环境要 求不高,市场上出现了越来越多的数字式温度计,实践表明,低功耗,高精度 的便携式数字式温度计使用十分方便,工作状况稳定,待机时间比较长,已经 开始得到广泛应用。 1.3 课题研究的主要内容 本设计的目的是实现基于 MSP430 单片机的温度测量仪设计,主要内容有: 1、可利用单片机芯片内温度传感器或 DS18B20 单线温度传感器。 2、5 位数字显示(显示器可用 LED 数码管、LCD1002 或 LCD12664 显示模块)。 二、系统方案设计 2.1 系统组成结构 该系统主要由 4 模块组成,其中包括 DS18B20 温度传感器,MSP430F149 微 控制器,LED 显示模块,报警模块 4 部分组成。由温度传感器负责数据采集, 经过处理器转换后由 LED 显示模块输出,同时报警模块负责温度报警的上下限, 当温度到达设定值时就会发生报警。其组成框图如下所示: 2.2 系统工作流程 首先设定温度报警的上下限值,然后由温度传感器进行温度数据的采集, 当微处理器检测到温度超过设定的范围值时就实行报警,提醒用户做相关操作。 . 2.3 系统核心器件选型 MSP430F149 单片机,DS18B20 温度传感器,液晶显示器 2.4 系统硬件主要电路说明 2.4.1 数据采集系统电路 该系统采用美国 DALLAS 公司生产的单线数字温度传感器 DS18B20 来采集温 度数据,作为单片机 MSP430149 的温度传感器,该芯片有很多优点,可把温度 信号直接转换成串行数字信号供微机处理。由于每片 DS18B20 含有唯一的硅串 行数,从 DS18B20 读出的信息或写入 DS18B20 的信息,仅需要一根口线(单线 接口)。由于该系统采用 DS18B20 作为温度采集传感器,这部分电路就比较简 单了,下图为温度采集电路。 DS18B20 的读写时序和测温原理和 DS1820 相同,只是得到的温度值的位数 因分辨率不同而不同,DS18B20 的测温过程中温度的变化对晶振的振荡频率影 响非常的小,会产生脉冲信号送到计数器 1,而且是固定的频率。但高温度的 晶振的振荡频率就会随着温度的变化而产生明显的改变搞温度的晶振所产生的 频率会做为计数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55所对 应的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数, 当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重 新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如 此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器 中的数值即为所测温度。 高速缓存器存储器包含一个高速暂存 RAM 和一个非易失性的可电擦除的 EP2RAM。配置寄存器为高速缓存器中的第五个字节,它的内容用于确定温度值 的数字转换分辨率。后五位一直是 1,TM 是测试模式位,用于设置 DS18B20 在 工作模式还是测试模式,在 DS18B20 出厂时被设置为 0,用户不需要去改动, R1 和 R0 决定温度转换的精度位数6。 2.4.2 PL2303 下载电路 PL2303 器件内置 USB 功能控制器,USB 收发器,振荡器和带有全部调制解 调器控制信号的 UART,所以我们只需要外接几个电容就可实现 RS232 信号与 USB 信号的转换,这样能够方便我们嵌入到各种设备当中。这些信息的转换全 部由器件自身完成,不需要我们自己动手操作。 2.4.3 报警模块蜂鸣器电路 报警处埋模块相当简单,这里只是简单的在一个 I/O 口上送出数据来驱动 蜂鸣器,该模块包括数据产生和初始化端口两个部分,数据的产生部分主要是 在输出端口产生数据,这里不是简单的一个高电平或者是低电平的问题,而是 要有一定频率的数据才可以,因为只有是交流信号才能够让蜂鸣器发出声。而 不同的周期信号可以得到不同的频率,则可以根据信号处理的知识来进行分析 7。 2.4.4 LCD1602 显示模块电路 液晶显示 1602 利用的是液晶的物理性质,由电压控制其显示区域,可以显 示图形,只要有电源就可以显示图形。液晶显示装置有这不一般的厚度薄,适 用于大规模集成电路的直接驱动,易于实现全彩色显示,这已被广泛应用于笔 记本电脑,数码相机,CDA 移动通信工具。在单片机系统中应用晶液显示器作 为输出器件有以下几个优点: 1、显示质量高:由于显示器在每一个点在收到信号之后就一直保持那种色 彩和亮度,恒定发光,而不像显示器那样出现不断刷新的亮点。所以液晶显示 器的画面质量很高,一般不会出现闪烁的现象,比传统的显示器画面要胜出一 筹。 2、数字式接口:显示器全部是数字的,和其他单片机比起来更加的简单可 靠,操作则也很方便。 3、体积很小,重量很轻,i 一般的传统的显示器轻上很多。而液晶显示器 通过电极控制液晶内部的分子状态,从而达到显示的目的8 9。 4、功耗低:相对与其他的单片机来说,液晶显示器的功耗主要消耗在驱动 IC 上,其他的则消耗在了内部电极上,因此消耗的电量比其它的传统显示器要 少得多。 三、工作原理 本设计的原理是:温度采集系统主要通过单线数字温度传感器 DS18B20 采集 得到温度数据,MSP430F149 作为 CPU 从温度传感器读取数据,将得到的数据进 行判断然后做相应处理,比如显示或报警。温度传感器通过某种关系的换算, 就可以得到温度传感器的输出电压,这样单片机通过模拟口采集得到传感器的 输出电压。由于 MSP430F149 片内集成了 A/D 转换通道,这样可以直接将单片机 的 A/D 输入通道和传感器的模拟电压输出通道相连接另外系统通过键盘输入来 完成对报警温度上下限的设置,通过显示电路将得到的数据显示出来,当超过 设定值时则会报警。该系统主要有电源及复位模块,温度传感器采集模块,温 度报警模块和显示模块,分别有 P1.0-P1.7,RESET,P2.5,P2.6,P4.0-P4.7 控制。 整个系统具有结构简单等特点。温度传感器的采集模块和单片机的数模转 换的通道连接,这样可以使得采集模块的设计简单化,从而使得设计的程序和 模块简单易懂。其中温度采集和显示模块的很多运算功能是通过单片机的 Pl 口 来实现的,由于 Pl 口中断功能,所以实现起来非常容易,并且也非常适合软件 编程。电源及复位模块主要是为整个系统提供可靠的电源,另外考虑到系统工 作需要有复位功能,因此也为系统提供复位信号。 四、软件设计 程序: include /延时函数 #define CPU_F (double)8000000) /外部高频晶振 8MHZ #define CPU_F (double)32768) /外部低频晶振 32.768KHZ #define delay_us(x) _delay_cycles(long)(CPU_F*(double)x/1000000.0) #define delay_ms(x) _delay_cycles(long)(CPU_F*(double)x/1000.0) /自定义数据结构 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long /DS18B20 控制脚,单脚控制 #define DQ_IN P1DIR int temp; /定义的变量, 显示数据处理 int A1,A2,A3; /* * / 系统时钟初始化,外部 8M 晶振 /* * void Clock_Init() uchar i; BCSCTL1 /打开 XT2 振荡器 BCSCTL2|=SELM1+SELS; /MCLK 为 8MHZ,SMCLK 为 8MHZ do IFG1 /清楚振荡器错误标志 for(i=0;i480uS) if (i) return 0x00; else return 0x01; /* * / DS18B20 读一个字节函数 /* * unsigned char ds1820_read_byte(void) unsigned char i; unsigned char value = 0; for (i = 8; i != 0; i-) value = 1; DQ_OUT; DQ_CLR; delay_us(4); /*延时 4uS DQ_SET; DQ_IN; delay_us(10); /*延时 10uS if (DQ_R) value|=0x80; delay_us(60); /*延时 60uS return(value); /* * / 向 18B20 写一个字节函数 /* * /*DS18B20 字节写入函数*/ void ds1820_write_byte(unsigned char value) unsigned char i; for (i = 8; i != 0; i-) DQ_OUT; DQ_CLR; delay_us(4); /延时 4uS if (value delay_us(80); /延时 80uS DQ_SET; /位结束 value = 1; /* * / 发送温度转换命令 /* * /*启动 ds1820 转换*/ void ds1820_start(void) DS18B20_Reset(); ds1820_write_byte(0xCC); /勿略地址 ds1820_write_byte(0x44); /启动转换 /* * / DS8B20 读取温度信息 /* * unsigned int ds1820_read_temp(void) unsigned int i; unsigned char buf9; DS18B20_Reset(); ds1820_write_byte(0xCC); /勿略地址 ds1820_write_byte(0xBE); /读取温度 for (i = 0; i void delay(unsigned int n) do(n-); while(n!=0); void main() WDTCTL=WDTPW+WDTHOLD; P2DIR=0xff; P2OUT=0xfe; while(1) delay(30000); P2OUT v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论