基于MSP430单片机监测环境温湿度以及二氧化碳浓度毕设

上传人:陈** 文档编号:102241081 上传时间:2022-06-06 格式:DOCX 页数:78 大小:362.26KB
返回 下载 相关 举报
基于MSP430单片机监测环境温湿度以及二氧化碳浓度毕设_第1页
第1页 / 共78页
基于MSP430单片机监测环境温湿度以及二氧化碳浓度毕设_第2页
第2页 / 共78页
基于MSP430单片机监测环境温湿度以及二氧化碳浓度毕设_第3页
第3页 / 共78页
点击查看更多>>
资源描述
目录设计总说明General Description of Construction Design第1章 绪论71.1 研究的目的及意义71.2 国内外研究的情况71.3 系统的主要性能指标和工作任务81.4 方案论证9第2章 工具简介112.1 C语言112.2 IAR软件11第3章 硬件设计163.1 主控芯片的介绍163.1.1 MSP430F149的工作方式173.1.2 P口介绍183.1.3 MSP430指令的介绍223.1.4 MSP430中断介绍和存储器断介绍243.1.5 MSP430定时器263.1.6 时钟模块283.1.7 比较器模块293.1.8 模数转换模块303.2 电源电路的设计303.3 晶振和复位电路以及USB下载电路的设计343.4 液晶显示模块LCD12864363.5 时钟芯片 DS1302383.5.1 DS1302 的基本组成和工作原理393.5.2 DS1302 内部寄存器403.6 温湿度芯片433.7 二氧化碳气体传感器473.7.1 二氧化碳浓度传感器TGS4160概述473.7.2 TGS4160的内部结构473.7.3 TGS4160的工作原理483.7.4 二氧化碳检测电路设计493.8 超限控制处理模块50第4章 软件设计524.1 程序的流程图设计524.1.1 主程序设计流程图524.1.2 温湿度和气体采集及处理框图614.1.3 LCD12864显示流程图69第5章 调试与体会735.1 调试过程735.2总结体会74致谢75参考文献77婴儿室环境监测电路的设计设计总说明随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。对于刚出生的婴儿,刚脱离母体进入新环境,对新环境温湿度的要求同样也很高。传统的温湿度监测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不仅效率低下不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题,这是由于它的智能化设计所决定的。温度湿度和气体的浓度在工农业生产、气象、环保、国防、科研等部门有着至关重要的作用,准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要。因此研究温湿度的测量和控制方法具有重要的意义。本设计核心部件为超低功耗嵌入式单片机MSP430,信号采集及处理部分由SHT11以及二氧化碳传感器GTS4160构成,输出的信号通过AD转换和MSP430的处理在显示器上显示温湿度以及气体的浓度,信号显示采用的是液晶屏点阵显示器LCD12684,其他组成部分为实时时钟发生电路,产生与现在相同的时间和具体日期,也是通过LCD12864液晶模块显示。超限处理模块是使用PID算法设计,使用单片机的引脚电平通过继电器来控制温湿度,和CO2气体浓度。本设计还接入了故障报警模块。MSP430是嵌入式单片机具有高度的集成化,有看门狗定时电路,比较器,模数转换等功能,与51系列单片机比较具有超低功耗,端口多等优点;SHT11温湿度传感器测温范围为-40+1238,精度01,湿度测量范围是099RH,分辨率为003 RH,完全可以满足设计要求的温度2027,湿度3050RH,它为I2C总线连接通信,较其他产品具有品质卓越,超快相应,抗干扰能力强,超高的性价比有点。GTS4160一种含热敏电阻的混合式CO2敏感元件,它使用的时候一般都配有本产品公司专门配套生产的一个转换和测量模块AM-4模块,模块是数字量串行输出,相比其他CO2气体传感器操作简单,精度高。在软件设计部分有对测量的温湿度进行上下值的设定,当测量超过限定值时,通过超限自动控制调节温湿度电气处理电路对其进行处理,分别动作为过冷制热,过热制冷,过湿除湿,过干加湿,和对气体浓度调节,硬件中包括一个开关,为复位开关。开机后,所有器件初始化,LCD12864产生实时时间和日期,温湿度传感器SHT11和CO2传感器开始进行温湿度测量和计算,最后通过LCD液晶显示器显示结果。在测量结果中有超过设定的温湿度上下限的,通过超限模块做出反应。电路主要包括了MSP430控制模块、SHT11温湿度测量模块、二氧化碳检测模块TGS4160、DS1302时间模块、LCD显示模块、超限继电器处理模块。其他是一些附件,比如复位、晶振电路。 关键字:MSP430149;SHT11;TGS4160;DS1302;继电器;LCD12864The babys room environmental monitoring circuit designGeneral Description of Construction DesignWith the rapid development and popularization of science and technology, high-performance equipment more and more, all walks of life to the temperature and humidity requirements more and more is also high. For a newborn baby, just from the mother into the new environment, also to the requirement of the new environment temperature and humidity is high. Traditional temperature and humidity monitoring model is based on people, rely on artificial turn on each other, artificial circuit to check the information to measure and record environmental conditions such as way. In this mode, not only low efficiency for better utilization of talent resources, and lack of scientific nature, many major accidents are caused by human factors, artificial maintenance of the lack of a complete management system. Appeared and monitoring and control system can solve such waste of talent resources,management is not timely issue, it is because of its intelligent design decisions. Temperature, humidity and gas concentration in industrial and agricultural production, weather, environmental protection, national defense, scientific research departments have a vital role, accurate measurement of temperature and humidity in the bio-pharmaceutical, food processing, papermaking and other industries is vital. So the temperature and humidity measurement and control method has the vital significance.This design for ultra-low power embedded microcontroller MSP430 core components, signal acquisition and processing part consists of SHT11 GTS4160 and carbon dioxide sensor, the output signal through the AD conversion and the processing of MSP430 displayed on the monitor temperature and humidity and gas concentration, signal display USES LCD lattice display LCD12684, other components for the real time clock generating circuit, and the same time and date right now, is through the LCD12864 LCD module display. Transfinite processing module design is the use of PID algorithm, using MCU pin level through the relay to control the temperature and humidity, and CO2 gas concentration. This design also access the fault alarm module.Embedded microcontroller MSP430 is highly integrated, a watchdog timer circuit, comparator, modulus conversion, and other functions, compared with 51 series microcontroller with ultra-low power consumption, port number, etc; SHT11 temperature and humidity sensor measuring temperature range of - 123.8 + 40, the precision of 0.1 , humidity measurement range is 0 99% RH, a resolution of 0.03 RH, can completely meet the design requirements of the temperature of 20 27 , humidity is 30 50% RH, it for the I2C bus connection communication, compared to other products with excellent quality, super fast, strong anti-jamming capability, high performance to price ratio is a little bit. GTS4160 a hybrid CO2 containing thermistor sensor, it USES generally equipped with this product the company specialized production of form a complete set of a transformation AM - 4 module and measuring module, serial output module is the digital quantity, compared to other CO2 gas sensor is simple, high precision.This design implementation is single chip microcomputer temperature and humidity measurement and control system, through the LCD display the measured temperature and humidity. Set temperature and humidity sensor and A/D converter is adopted in the system in the integration of SHT11 chip and TGS4160 carbon dioxide gas concentration detection chip, through single chip microcomputer for processing, according to the date of other modules including the real time clock generating circuit and transfinite relay processing circuit, to measure the value of the real-time display and automatically adjust the processing of the necessary. Introduced in this paper based on the Texas instruments MSP430 series MCU real-time temperature and humidity measurement and control system and display system design, including hardware structure principle is introduced, and analysis the corresponding software design and its key points, including the software design process and its implementation of the program. System structure is simple and practical, and improves the measurement precision and efficiency.Key words:MSP430F149 ; SHT11; TGS4160; DS1302; Relay; LCD12864第1章 绪论1.1 研究的目的及意义温度和湿度以及适应环境所需的各种气体的浓度与人们的生活息息相关。在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度与湿度和气体浓度进行测量及控制。准确测量温湿度和相关气体浓度在生物制药、食品加工、造纸等行业都是至关重要的。传统的温度计是用水银柱来显示的,它的精确度不高,不易读数。而采用单片机对温湿度及气体进行控制,不仅具有控制方便、简单和灵活等优点,而且可以大幅度提高气体及温湿度控制的技术指标。用LCD来显示温湿度和气体浓度的数字量看起来更加人性化更加直观。采用SHT11数字温湿度传感器作为检测元件,能够同时测试温度和湿度。SHT11传感器可以直接读出被测的温湿度值。同时单片机可以把测量出的数据通过串口传到计算机上,来完成工业中的自动控制,给工业生产带来了极大的便利。用单片机控制的温湿度计不仅硬件电路简单,而且测量精度比较高。用液晶显示测量值看起来比较美观。采用MG811二氧化碳气体浓度检测传元件,直接把空气中的二氧化碳通过化学量的变化,以及模数转换也能直接送到单片机里面进行处理,监测空气中二氧化碳的浓度,调节空气中氧气的含量,给人或者需要贮存的动植物等一个更舒适的环境。无论在日常生活中还是在工业、农业方面都离不开对周围环境进行温湿度及周边异常气体含量的的测量。因此,研究温湿度的测量具有非常重要的意义。1.2 国内外研究的情况测量温湿度和气体浓度的的关键是温湿度传感器。过去测量温度与湿度是分开的。随着技术的进步和人们生活的需要出现了温湿度共测的传感器。温度传感器的发展经历了3个阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化、网络化的方向发展。温度传感器也是经历了这样一个阶段逐渐走向数字智能化。 现今国内外用的最多的温湿度传感器是SHTXX系列。SHT11温湿度传感器应用于专利的工业COMS过程微加工技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝链接,从而具有超快响应,抗干扰能力强,性价比极高等优点。采用SHT11数字温湿度传感器与单片机MSP430相连比较容易,而且电路比较简单,软件设计也比较简单。所以,本设计以SHT11数字温湿度传感器为例,介绍基于SHT11数字温湿度传感器的设计,该设计适用于人们的日常生活及工农业生产中用于温湿度的测量。1.3 系统的主要性能指标和工作任务 由于本设计主要的方向是设计室内的婴儿室环境监测系统,根据具体要求设计本产品的主要技术指标为:(1)、测温范围:+1080;湿度测量范围为2090%Rh,测二氧化碳浓度范围3502000PPM(人体正常生存环境的二氧化碳浓度是4001000PPM)(2)、温度测量精度:0.5C(3)、湿度测量误差:4%Rh,气体浓度误差10PPM(4)、设置上下限温湿度和二氧化碳浓度的值,(5)、当湿度低于20度时,单片机控制加热装置,高于27度时停止加热;(6)、当温度高于30度时,单片机控制自动控制制冷设备,当制冷到25度时停止制冷。(7)、湿度低于30%RH时,单片机控制接通加湿设备, 超过50%RH是停止加湿;(8)、当二氧化碳浓度超过了800PPM时接通继电器接通释放氧气设备。测试到了正常值得时候停止接通设备。(9)电源工作范围:DC3.35.0V系统主要工作任务如下: 根据本毕业设计实际的任务要求,选择合适的温湿度传感器,完成温湿度的测量,选择适合的气体检测传感器完成必要气体的含量检测,并设计显示电路模块、时钟电路模块、超限处理模块、复位电路模块的程序。系统开始工作后,根据初始条件读取湿度值和温度值以及二氧化碳气体含量值,测量数据经处理后,将其与设定的温湿及气体含量限度值比较,如果发现当前的温湿度超限,则自动通过单片机来控制继电器进而动作,未超限时,系统显示正常的湿温度度值。1.4方案论证方案一:采用单片机89C51作为主芯片控制单总线的DS18B20的温度传感器和HS110X相对湿度传感器以及二氧化碳传感器TGS4160组成测量和控制系统。方案二:采用嵌入式超低功耗单片机MSP430系列单片机来控制,温湿度传感器和A/D转换器于一体的SHT11芯片构成温湿度以及二氧化碳气体浓度传感器TGS4160的测量和控制系统。89C51系列单片机相对于MSP430系列单片机,51系列的只有32个I/O口驱动电源需要5V,而MSP430系列单片机I/O一共有48个,端口比较多,当51的端口不满足时必须外扩端口,而MSP430单片机的端口基本就能满足需求,而且MSP430的驱动电压只需要3.3V相对于51,省电低功耗。由于传统的模拟式温湿度传感器一般不仅要设计信号调理电路,还要进行复杂的校准和标定过程,其测量精度难以保证,并且使用分立的温度传感器和湿度传感器测量电路比较麻烦。而SHT11是具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,集温湿度传感器和A/D转换器于一体,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点,使用起来比较方便,且电路简单。该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。而分离式的温度湿度检测不仅会加重系统的工作量,也会导致系统的精度,准确度出现问题,因此本设计采用方案二。本设计核心部件为超低功耗嵌入式单片机MSP430,信号采集及处理部分由SHT11构成以及二氧化碳传感器MG811,进入单片机经处理后通过LCD12864显示温湿度,信号显示采用的液晶屏点阵显示,其他组成部分为实时时钟发生电路,产生与现在相同的时间和具体日期,通过LCD12864液晶模块显示。在软件设计部分有对测量的温湿度进行上下值的设定,当测量超过限定值时,通过超限自动控制调节温湿度电气处理电路对其进行处理,分别动作为过冷制热,过热制冷,过湿除湿,过干加湿,硬件中包括一个开关,为复位开关。开机后,所有器件初始化,DS1302产生实时时间和日期,温湿度传感器SHT11开始进行温湿度测量和计算,最后通过LCD液晶显示器显示结果。在测量结果中有超过设定的温湿度上下限的,通过超限模块做出反应。电路主要包括了MSP430控制模块、SHT11温湿度测量模块、二氧化碳检测模块TGS4160、DS1302时间模块、LCD显示模块、超限继电器处理模块。其他是一些附件,比如复位、晶振电路。总体框图如下单片机MSP430CO2浓度传感器AM-4检测模块A/D转化器显示模块报警电路继电器超限处理键盘温湿度传感器图1-1 总体框图第2章 工具简介系统单片机代码采用C语言编写,并用IAR软件检查程序有无错误,把生成的需下载的文件,下载到实体的器件中去使单片机进行工作。2.1 C语言C语言的运算符丰富,它包括的范围相当广泛,使得C语言的运算类型极其丰富,并且表达方式的类型多样化,能够实现在高级语言中不能实现的运算,它有32个关键字,9种控制语句。和汇编语言一样,它能够对位,字节和地址进行操作;数据类型很丰富,能实现各种复杂的数据类型,同时还加入了指针的概念,使得效率更高,同时支持图形编辑,以及多种显示器等;它所应用的结构式语言,这种方式会让程序有层次,一目了然,同时语法显示不严格,C的优点:设计自由度高,它提供给用户的方式是一函数的形式,它们可以方便调用,使得程序完全结构化;地址的访问上,能够访问物理地址,对硬件进行直接操作;适用范围广,能够适用于多种操作,例如:DOS、UNIX等,同时适用于多种机型。C的缺点:主要是数据封装的安全性不高,因此这一点也成为了C语言和C+的最大的区别,另一方面由于语法以及变量的类型没有严格限制,也造成了较低的安全性,再者从应用角度来说,它比较其他的高级语言来说较为难以掌握。2.2 IAR软件IAR Embedded Workbench for ARM 是 IAR Systems 公司为 ARM 微处理器开发的一个集成开发环境(下面简称 IAR EWARM)。比较其他的 ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。故在这里介绍给打算学习使用或正在使用 ARM芯片的朋友们共同探讨。IAR Systems公司目前推出的最新版本是IAR Embedded Workbench for ARM version4.30,并提供一个32k代码限制、但没有时间限制的免费评估版。IAR EWARM 中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种 ARM 内核、外部设备甚至中断的软件运行环境。从中可以了解和评估 IAREWARM 的功能和使用方法。我们编译整理的这本快速用户指南采用评估版软件安装目录 C:Program filesIAR SystemEmbedded workbench 4.0ARMtutor 下的教程为例,一步一步介绍 IAR EWARM的使用方法。该教程采用了两个 C 语言程序,tutor.c 和 utilities.c。它们不和任何特定的硬件关联,所以介绍中的全部操作都是用模拟程序完成的。IAR EWARM的主要特点如下:(1)、 高度优化的 IAR ARM C/C+ Compiler(2)、IAR ARM Assembler(3)、一个通用的 IAR XLINK Linker(4)、IAR XAR 和 XLIB 建库程序和 IAR DLIB C/C+运行库(5)、功能强大的编辑器(6)、项目管理器(7)、命令行实用程序(8)、IAR C-SPY 调试器(先进的高级语言调试器)MSP430使用的开发工具主要是嵌入式单片机常用的IAR软件,其使用方法如下:(1)、生成一个新项目EWARM 是按项目进行管理的,它提供了应用程序和库程序的项目模板。项目下面可以分级或分类管理源文件。允许为每个项目定义一个或多个编译连接(build)配置。在生成新项目之前,必须建立一个新的工作区(Workspace)。一个工作区中允许存放一个或多个项目。另外用户最好建立一个专用的目录存放自己的项目文件。例如在本指南中我们生成一个 C:Program filesIAR SystemMy project 目录。现在双击桌面上的 IAR Embedded Workbench 图标,出现 IAR EWARM 开发环境窗口。生成新的工作区选择主菜单 File New Workspace 生成新工作区。选择主菜单 Project Create New Project,弹出生成新项目窗口,在 Tool chain 栏中选择 ARM,然后点击 OK 按钮在弹出的另存为窗口中浏览和选择新建的 My projects 目录,输入文件名 project1,然后保存。这时在屏幕左边的 Workspace 窗口中将显示新建的项目名,最后保存工作区。 、给项目添加文件在 Workspace 中选择希望添加文件的目的地,可以是项目或源文件组。在这里选择project1,在选择主菜单 Project Add Files 打开标准浏览窗口,选择安装目录 ARMtutor下的上述 2 个文件,点击打开按钮,把它们添加到 Project1 目录下。 设置项目文件选择通用选件,选中 Workspace 中的 project1 Debug,然后选择主菜单 Project Options。也可以先选择 project1 Debug,然后选择鼠标右键命令中的 Options。选择编译器选件,在 Options 窗口的 Category 中选择 C/C+ Compiler。(2)、编译和连接应用程序这一步编译和连接(build)项目程序。同时生成一个编译器列表文件(compiler list file)和一个连接器存储器分配文件(linker map file)。、编译源文件选中 workspace 中 utilities.c 文件,选择主菜单 Project Compile,或工具条中的 Compile 按钮,或按右键后选择 Compile命令,编译结束会出现个窗口,用同样的方法编译tutor.c。、查看编译器文件列表list 文件的结构,双击 Workspace 窗口中的 Utilities.lst,打开 list 文件,它包含以下信息:文件头显示编译器的版本信息,列表文件生成时间,source 文件、list 文件和object 文件的名字和路径,编译命令行及选件等信息。文件体显示为每条源语句生成的汇编代码和二进制代码,以及变量如何被分配到不同的段。文件尾显示所需的堆栈、程序代码以及数据存储器的总量,同时报告错误和警告信息。选择主菜单 Tools Options 弹出 IDE Options 对话窗口,选择 Editor 页面。选择 Scanfor Change Files 选件。此选件将自动打开编辑窗口中的文件,目前是 Utilities.lst 文件。按 OK 按钮。选中 Workspace 窗口中的 Utilities.c,按鼠标右键选择弹出框中的 Options。从弹出的对话框左边的 Category 中选择 C/C+ Compiler 并确定 Override inherited settings。打开 Optimization 页面,把优化级别从 None 改定为 High。然后按 OK 按钮。重新编译 Utilities.c,请注意这时编辑窗口中的 Utilities.lst 文件已经自动被刷新。文件尾显示的代码大小已经因优化级别的升高而减小。对本例而言,Optimization 应选择 None。所以在连接处理前应该将优化级别恢复到原来的设置。这时应选中 Utilities.c,按鼠标右键选择弹出框中的 Options。选择 C/C+Compiler 并取消 Override inherited settings。然后重新编译 Utilities.c。、连接应用程序先选中 Workspace 窗口中的 Project1Debug,然后选择主菜单 Project Options,弹Options对话窗口在左边的 Category 中选择 Linker,显示 IAR XLINK 的各选件页面点击 OK 按钮保存 IAR XLINK 选件选择主菜单 Project Make 或鼠标右键 Make 命令,连接目标文件,生成可执行代码。Build 消息窗口中将显示连接处理的消息。连接的结果将生成一个带调试信息的代码文件 project1.d79 和一个存储器分配(MAP)文件 project1.map、查看MAP文件双击 Workspace 中的 project1.map 文件名,编辑器窗口中将显示该 MAP 文件。 MAP从文件中我们可以了解以下内容:文件头中显示连接器版本,输出文件名以及连接命令使用的选件。CROSS REFERENCE 段显示程序入口地址。RUNTIME MODEL 段显示使用的运行时模块的属性。MODULE MAP 段显示所有被连接的文件。每个文件中,作为应用程序一部分加载的有关模块的信息,包括各段和每个段中声明的全局符号都列出来。SEGMENTS IN ADDRESS ORDER 段列出了组成应用程序的所有段的起始地址和结束地址,字节数,类型和对齐标准等。END OF CROSS REFERENCE 段落显示总的代码和数据字节数。到此为止,已经生成 project1.d79 应用程序并可以用于在 IAR C-SPY 中调试。(3)、用C-SPY调试应用程序使用 C-SPY 的模拟器(Simulator)来展现 IAR C-SPY 调试器的基本特点。前面各节生成的 project1.d79 应用程序已经可以用 C-SPY 调试器进行调试。用户利用调试器可以查看变量、设置断点、观察反汇编代码、监视寄存器和存储器、在 Terminal I/O 窗口打印输出。 开始调试、组织窗口、检查源语句、检查变量、设置和监视断点、在反汇编窗口上调试、监视寄存器、查看存储器、观察Terminal I/O、执行程序到结束第3章 硬件设计3.1 主控芯片的介绍 在如今满世界都是在讲低碳低消耗的年代,对于电子行业也有着不小的影响的作用,本课题在考虑到消耗方面,撇开了比较常用的,比较简单的51系列的单片机,因为功耗的原因选择了德州公司新开发的一类具有16位总线的带FLASH 的超低功耗MSP430单片机由于其性价比和集成度高,受到广大技术开发人员的青睐,它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而 图3-1 MSP430F149的引脚图且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备。我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化 ,MSP430系列将会得到越来越多人的喜爱。MSP430F149的引脚图如上图3.1-13.1.1 MSP430F149的工作方式 通过对不同模块操作模式和CPU状态的智能化管理,MSP430芯片的工作方式可以适应多种超低电压和超低功耗的需求,即便在中断处理期间也一样,一个中断事件可以把系统从各种低功耗方式唤醒并且通过RETI指令返回到中断以前的工作状态。系统适用的时钟信号有ACLK和MCLK。ACLK就是晶振的频率信号,MCLK和SMCLK是ACLK的倍频信号,作为系统和子系统时钟。 下面是芯片支持的六种工作方式:1、活动方式(AM);CPU和不同组合的外围模块被激活,处于活动状态。2、低功耗方式0(LPM0);CPU停止工作,外围模块继续工作,ACLK和SMCLK有效,MCLK的环路控制有效。3、低功耗方式1(LPM1);CPU停止工作,外围模块继续工作,ACLK和SMCLK有效,MCLK的环路控制无效。4、低功耗方式2(LPM2);CPU停止工作,外围模块继续工作,ACLK有效, SMCLK和MCLK的环路控制有效。5、低功耗方式3(LPM3);CPU停止工作,外围模块继续工作,ACLK有效, SMCLK和MCLK的环路控制无效,并且数字控制振荡器(DCO)的DC发生器被关闭6、低功耗方式4(LPM4);CPU停止工作,外围模块继续工作(如果提供外部时钟),ACLK信号被禁止(晶体振荡器停止工作), SMCLK和MCLK的环路控制无效,并且数字控制振荡器(DCO)的DC发生器被关闭通过软件对内部时钟系统的不同设置,可以控制芯片处于不同工作方式。整个时钟系统提供丰富的软硬件组合形式,以达到最低的功耗并发挥最优的系统性能,具体有:1、使用内部时钟发生器(DCO)无需外接人和元件;2、选择外接晶体或陶瓷谐振器,可以获得最低频率和功耗3、采用外部时钟信号。状态寄存器SR中共有四个用于控制CPU和系统时钟发生器的控制位,可以影响时钟系统的操作方式,控制各种低功耗方式快速转换。他们是:SCG1、SCG0、OscOff和CPUOff当系统时钟发生器基本功能确定后,SCG1、SCG0、OscOff和CPUOff是最重要的低功耗控制位,在中断响应前。他们总是被压入堆栈保存起来,以便返回时恢复原态,在中断处理期间,他们可以通过间接存取堆栈中的数据来改变,以便程序在中断返回后可以进入另一种工作方式。CPUOff: CPUOff位如果置1,CPU停止工作。SCG0: SCG0位如果置1,将禁止FLL+工作SCG1: SCG1位如果置1,将禁止MCLK和SMCLK信号OscOff: OscOff位如果置1,LFXT1晶体振荡器停止工作DC发生器: 当SCG0和SCG1都为1 时,DCO的DC发生器工作停止。3.1.2 P口介绍MSP430f149常用的端口有P1、P2、P3、P4、P5、P6,它们都可以直接用于输入/输出。MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1P6的每一位都可以独立用于输入/输出,即具有位寻址功能。常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。端口的功能:(1)P1,P2端口: I/O,中断功能,其他片内外设功能如定时器、比较器;(2)P3,P4P5P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等;具体每个口的作用如下AVCC 模拟正电源端,向 SVS,brownout,oscillator,FLL+,等电路供电AVSS 内部连接于 DVSS DVCC 数字正电源端,提供所有部件电源(由AVCC供电的除外)DVSS 数字地,所有部件的接地(通过AVCC/AVSS供电的除外)NC 空脚P1.0 通用数字I/O定时器-A,捕获方式,CCIOA输入,比较方式OUT0输出P1.1 通用数字I/O定时器-A,捕获方式,CCIOB输入,MCLK输出P1.2 捕获方式:CCI1A输入,比较方式:OUT1输出P1.3 通用数字I/O/SVS,SVS 比较器的输出端P1.4 通用数字I/OP1.5 通用数字I/O/定时器A输入时钟/ACLK输出P1.6 通用数字I/O比较器A输入脚P1.7 通用数字I/O比较器A输入脚P2.0 通用数字I/O/定时器-A,捕获方式:CCI2A输入,比较OUT2输出P2.1 通用数字I/OP2.2 通用数字I/O/LCD段23输出脚P2.3 通用数字I/O/LCD段22输出脚P2.4 通用数字I/O/LCD段21输出脚P2.5 通用数字I/O/LCD段20输出脚P2.6 通用数字I/O/比较器A输出/LCD段19输出脚P2.7 通用数字I/O/LCD段18输出脚P3.0 通用数字I/O/LCD段17输出脚P3.1 通用数字I/O/LCD段16输出脚P3.2 通用数字I/O/LCD段15输出脚P3.3 通用数字I/O/LCD段14输出脚P3.4 通用数字I/O/LCD段13输出脚P3.5 通用数字I/O/LCD段12输出脚P3.6 通用数字I/O/LCD段11输出脚P3.7 通用数字I/O/LCD段10输出脚P4.0 通用数字I/O/LCD段9输出脚P4.1 通用数字I/O/LCD段8输出脚P4.2 通用数字I/O/LCD段7输出脚P4.3 通用数字I/O/LCD段6输出脚P4.4 通用数字I/O/LCD段5输出脚P4.5 通用数字I/O/LCD段4输出脚P4.6 通用数字I/O/LCD段3输出脚P4.7 通用数字I/O/LCD段2输出脚P5.0 通用数字I/O/LCD段1输出脚P5.1 通用数字I/O/LCD段0输出脚COM0 LCD公共输出端COM0P5.2 通用数字I/O/LCD公共输出端COM1P5.3 通用数字I/O/LCD公共输出端COM2P5.4 通用数字I/O/LCD公共输出端COM3R03 LCD模拟电平第四极输入脚(最低电平V5)P5.5 通用数字I/O/LCD模拟电平第三极输入脚(最低电平V3或V4)P5.6 通用数字I/O/LCD模拟电平第二极输入脚(最低电平V2)P5.7 通用数字I/O/LCD模拟电平第一极输入脚(最低电平V1)P6.0P6.7 通用数字I/O脚RST/NMI 复位输入脚或非屏蔽终端输入端TCK 测试时钟.它是芯片编程和测试的时钟输入脚TDI 测试数据输入.它是用作数据输入.芯片的保护熔丝与它相连TDO/TDI 测试数据输出,它作为数据输出或者编程数据输入终端TMS 测试模式选择,TMS在芯片编程和测试时是输入引脚XIN 晶体振荡器XT1输入脚,可以连接标准晶体或晶体振荡器XOUT/TCLK 晶体振荡器XT1输入脚,或测试时钟输入脚MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。其中P1,P2具有7个寄存器,P3P6具有4个寄存器。通过设置寄存器我们可以实现:每个I/O位独立编程;任意组合输入,输出和中断;P1,P2所有8个位全部可以用作外部中断处理;可以使用所以指令对寄存器操作;可以按字节输入、输出,也可按位进行操作。端口P1,P2的功能可以通过它们的7个控制寄存器来实现。这里,Px代表P1或P2。(1)PxDIR:输入/输出方向寄存器。 8位相互独立,可以分别定义8个引脚的输入/输出方向。8位再PUC后都被复位。使用输入/输出功能时,应该先定义端口的方向 。作为输入时只能读,作为输出时,可读可写。0:输入模式;1:输出模式。(2)PXIN:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。所以其引脚的方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。(3)PXOUT:输出寄存器。该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。(4)PXIFG:中断标志寄存器。他的8个标志位标志相应引脚是否有中断请求有待处理。0:无中断请求, 1:有中断请求。其中断标志分别为PXIFG.0PXIFG.7。应该注意的是:PXIFG.0PXIFG.7共用一个中断向量,为多源中断。当任一事件引起的中断进行处理时,PXIFG.0PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位。另外,外部中断事件的时间必须保持不低于1.5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志位置位。(5)PXIES:中断触发沿选择寄存器。如果允许PX口的某个引脚中断,还需定义该引脚的中断触发方式。0:上升沿触发使相应标志置位,1:下降沿触发相应标志置位。如:MOV.B #07H, &P1IES ;p1低3位下降沿触发中断。(6)PXIE:中断使能寄存器。PX口的每一个引脚都有一位用以控制该引脚是否允许中断。0:禁止中断 ,1:允许中断。MOV.B #0E0H, &P2IE ;P2高3位允许中断。(7)PXSEL:功能选择寄存器。P1,P2两端口还具有其他片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的方式来实现。PXSEL用来选择引脚的I/O端口功能与外围模块功能。0:选择引脚为I/O端口,1:选择引脚为外围模块功能。如:P1SEL|=0X10; /P1.4为外围模块功能。端口P3、P4、P5、P6没有中断能力,其余功能同PI,P2。除掉端口P1,P2与中断相关的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户使用P口实验利用P口的中断功能实验: MAIN MOV #SFE(CSTACK),SP /*初始化堆栈指针*/ MOV #(WDTHOLD+WDTPW),&WDTCTL/*停看门狗定时器*/ LOOP2 BIS #GIE,SR /*普通中断允许*/ EINT /*开中断*/ MOV.B #000H,&P1DIR /*定义P1口为输入方向*/ MOV.B #000H,&P1SEL /*定义P1口为P端口功能*/ MOV.B #002H,&P1IE /*P1.1口为中断允许*/ MOV.B #000H,&P1IES /*定义P1.1口为上升沿产生中断*/ JMP LOOP2 /*循环等待中断*/ 下面为中断程序的测试 LOOP1 MOV.B #001H,&P1DIR /*定义P1.0口为输出口*/ MOV.B #001H,&P1OUT /*定义P1.0口输出的为高电平,发光二极管灯亮*/ MOV.B #000H,&P1IE /*返回中断前的PC及其他状态*/ MOV.B #000H,&P1OUT /*将P1.0口置低,发光二极管灯灭*/ RETI /*中断返回*/ COMMON INTVEC /*列中断向量表*/ ORG PORT1_VECTOR DW LOOP1 /*中断向量的入口地址为LOOP1*/ END 实验结果为:在运行中,当给P1.1口一个高电平时,PC装入中断程序的地址LOOP1,进入中断程序段,P.0口被置高,此时发光二极管灯亮,两个指令周期之后灯灭,此后又返回中断前的地址开始执行,等待下一次中断的到来.3.1.3 MSP430指令的介绍MSP430 有自身 语言,汇编语言也不同于其他类型的单片机,伪指令也是变幻莫测,但又很重要,一般的写法需要注意的地方如下。(1)、“#include” 不能大写。(2)、程序段前的伪指令可以套用下列模板,在以后的几章中的程序都采用此模板,只是中间的主程序变化而已:#include MSP430x14x.h /*把库文件包括进来 ,这个库文件是必须的,其他的库文件视需要而定*/RSEG UDATA0/*定义数据段一般默认数据段段地址是从 0200H 开始的也可以自己定义数据段开始地址,但必须在 0200H 到 09FFH*/DS 0/*表示数据段从默认的段开始,偏移地址为 0,若为 DS N,表示数据段的偏移地址从 N 开始,此时的物理地址为(0200+N)H*/ADINPUT EQU 00200H /*将 0200H 地址命名为 ADINPUT,此后程序中的地址 0200H 可以用 ADINPUT 表示,便于程序的可读性,注意:标号必须顶格写*/A DW 5H/*定义 A 字变量的值为 5H,此时将会将 5H 写到数据段的当前偏移地址上,便于后面使用,变量也得顶格写*/ RSEG CSTACK/*定义堆栈段*/ DS 0/*段偏移值为 0H,物理地址为默认开始地址值*/
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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