基于MSP430单片机的数据采集系统设计.doc

上传人:文库蛋蛋多 文档编号:4148220 上传时间:2023-04-07 格式:DOC 页数:39 大小:793.50KB
返回 下载 相关 举报
基于MSP430单片机的数据采集系统设计.doc_第1页
第1页 / 共39页
基于MSP430单片机的数据采集系统设计.doc_第2页
第2页 / 共39页
基于MSP430单片机的数据采集系统设计.doc_第3页
第3页 / 共39页
基于MSP430单片机的数据采集系统设计.doc_第4页
第4页 / 共39页
基于MSP430单片机的数据采集系统设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于MSP430单片机的数据采集系统设计.doc》由会员分享,可在线阅读,更多相关《基于MSP430单片机的数据采集系统设计.doc(39页珍藏版)》请在三一办公上搜索。

1、基于MSP430单片机的数据采集系统设计 摘要本论文主要阐述了一种以MSP430F149单片机为核心的多路数据采集系统。该系统采用了模块化的设计思想,系统硬件电路的设计包括主控电路设计、电源部分设计、模拟量采集电路部分设计、复位电路部分设计、串口通信电路部分设计五部分。电源电路为整个提供3.3V电源电压,复位电路采用MAX809芯片实现对单片机的复位,具有很高的可靠性;模拟量数据采集通过片内的A/D转换通道与外部的采集传感器进行连接;单片机电路主要是完成与其它电路的接口,采集系统采集得到数据后,通过UART串口将数据送到上位机上去,可以将数据交给上位机进行处理,从而降低采集系统的负担,并且也可

2、以避免采集系统的海量存储器;软件开发部分采用C语言编程,软件开发以IAR Systems公司Embedded Workbench for MSP430为集成开发环境,达到了采集到的数据能在PC机上显示、存储、绘制曲线、同时PC机能给单片机发送控制命令等功能。该系统充分体现了智能化、低功耗、高精度的发展趋势。关键词: MSP430;串口通信;传感器;A/D转换Abstract This paper describes the MSP430F149 microcontroller as the core of a multi-channel data acquisition system. The

3、 system uses a modular design, system hardware design, including the master circuit design, power supply design, part of the design of analog acquisition circuit, reset circuit part of the design, serial communication circuit part of the design of five parts. To provide 3.3V power supply circuit for

4、 the entire supply voltage reset circuit using MAX809 reset the microcontroller chip with high reliability; analog data acquisition through the on-chip A / D conversion channels and the acquisition of external sensors connected; SCM circuit is mainly done with the other circuits of the interface dat

5、a acquisition system are collected through the UART serial data up to the host computer, the data can be processed to the host computer, thereby reducing the burden of collection system, and also to avoid capture system of mass storage; software development part of the use of C language programming,

6、 software development to IAR Systems Corporation Embedded Workbench for MSP430 is an integrated development environment, to the collected data in PC, display, storage, drawing curves, and PC functions to the microcontroller send control commands and other functions. The system fully embodies the int

7、elligent, low-power, high-precision trends.Key words: MSP430; serial communication; sensor; A / D conversion 目 录1绪论11.1研究背景11.2 论文主要内容和结构12基于MSP430单片机采集系统的设计方案22.1 基于MSP430单片机采集系统需求分析22.2系统整体方案设计23系统硬件设计与实现(单元电路设计)33.1主控电路的设计43.1.1 MSP430单片机的选择43.1.2 MSP430单片机的端口选择53.1.3 单片机电路设计53.2电源部分设计63.3复位电路部分设

8、计73.4传感器模拟量采集电路部分设计83.5 串口通信电路部分设计103.5.1SP3220芯片选择113.5.2串口通信的电路图124基于MSP430单片机采集系统软件开发134.1软件开发环境134.1.1 IAR Embedded Workbench介绍134.1.2 IAR Embedded Workbench 开发步骤134.2软件开发设计194.3关键软件程序214.3.1初始化设置214.3.2中断服务程序234.3.3 主处理程序24结束语31参考文献301绪论1.1研究背景数据采集是从一个或多个信号获取对象信息的过程。在科学研究及其他各种领域中,数据采集和监测已经成为日益重

9、要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。在许多工业测控机械、医疗仪器以及消费电子产品中,都对数据采集系统的实时性与功耗提出了更高的要求:即在满足微功耗、微型化的总体设计原则的基础上,又要能实时反映现场采集数据的变化。这就对系统的功耗、采样速度、数据存储和传输速度等提出了更高的要求。然而,随着半导体与微控制器技术的飞速发展,各种微电子器件性能不断提升,功耗却不断降低。技术的进步使得高速度、低功耗的数据采集系统得以实现。自从

10、1996年TI公司推出的16位、具有超低功耗和丰富的片上外围模块的MSP430系列单片机,该系列单片机就以其低功耗特性被广泛应用于医疗、电子仪表以及消费类电子等产品中。MSP430系列单片机支持采用汇编语言和C语言进行开发,该系列单片机集成了较丰富的片内外设备,方便高效的开发环境,适应工业级运行环境。与目前广泛使用的89C51单片机相比,具有指令少,超低功耗,运算速度快等优点,因而在许多领域特别是要求超低功耗的领域得到了广泛应用。数据采集给我们的生活提供了许多的便利,设计的采集系统可同时测量温度、浓度、压力、湿度和流量等广泛应用于各种工业自控环境,环境温度监测、工业过程控制涉及水利水电等众多行

11、业。1.2 论文主要内容和结构本论文中主要介绍了多路数据采集系统的设计及实现方法;并且阐述了所用器件的工作原理、主要特点、硬件电路设计和软件设计,是一个具有完整功能的数据采集系统。通过对超低功耗系列单片机MSP430,上位机、MAX809芯片、SP3220芯片、电源芯片LM317等的介绍,达到熟悉器件的性能、功能及使用方法,应用C语言设计编程实现多路信号采集系统,实现采集到的数据能在PC机上显示、存储、绘制曲线、同时PC机能给单片机发送控制命令等功能,并用Protel绘制电路原理图。本论文大体结构主要由绪论、MSP430单片机采集系统的设计方案、硬件电路的设计与实现和系统软件开发四部分组成。硬

12、件电路的设计与实现由单片机模块、传感器模拟量采集模块、串口通信模块和电源供电及复位模块等来实现它的功能;系统软件开发分为软件开发环境和软件开发设计两部分。2基于MSP430单片机采集系统的设计方案2.1 基于MSP430单片机采集系统需求分析为了使该采集系统能更好地使用目前的数据采集,基于MSP430单片机的采集系统应具有以下功能:远端控制功能。即单片机与上位机进行串口通讯;能采集多路信号。即可实现8通道数据采集;采集到的数据能在PC机上显示、存储等功能;具有同时监控温度、湿度、压力和流量等功能;复位功能。芯片复位具有很高的可靠性。2.2系统整体方案设计通过2.1节的功能分析,本系统采用模块化

13、的设计思路,以MSP430F149单片机作为系统的核心控制元件,软件开发以IAR Systems公司的Embedded Workbenchfor MSP430为集成开发环境,系统设计方案如图2-1所示。MSP430F149单片机采集传感器PC(上位机)复位模块8路A/D外设及参考电压输入口串口通信模块电源模块图21系统方案设计框图由图2-1可以看出,电源模块为整个系统提供电源电压,复位模块对MSP430F149单片机进行复位后,经8路A/D外设及参考电压与外部的采集传感器进行连接来采集数据,将采集到的数据通过串口通信模块传给上位机,由于单片机与上位机进行通信时接口电平不同,因此,需要进行接口转

14、换。采用SP3220芯片来完成接口电平的转换 ,最后传输到上位机,完成数据的采集、接收及校验。 3系统硬件设计与实现通过2.2节系统方案设计,系统整体电路的设计包括主控电路设计、电源部分设计、模拟量采集电路部分设计、复位电路部分设计、串口通信电路部分设计五部分。系统整体电路设计如图31所示。 图3-1系统整体设计电路图3.1主控电路的设计3.1.1 MSP430单片机的选择MSP430系列单片机是美国德州仪器公司(TI)推出的超低功耗16位混合信号处理器(Mixed Signal Processor),集多种领先技术于一体。该系列单片机集成了较丰富的片内外设备,方便高效的开发环境,适应工业级运

15、行环境,具有超低功耗、运算性能强大、开发工具方便先进、系统整合丰富实用等优点。与目前广泛使用的89C51单片机相比,具有指令少,超低功耗,运算速度快的特点。因此,该系统选用了MSP430单片机。MSP430系列器件包含CPU、程序存储器(ROM、ROM和Flash ROM)、数据存储器(RAM)、运行控制、外围模块和振荡器和倍频器等主要功能模块。其基本结构如图3-2所示。可以看出,MSP430内部包含了计算机所有部件,是一个真正的单片机(微控制器MCU)。CPU由一个16位的ALU、16个寄存器和一套指令控制逻辑组成。在16个寄存器中,程序计数器PC、堆栈指针SP、状态寄存器SR和常数发生器C

16、Gl、CG2这4个寄存器有特殊用途。除了R3CG2和R2CGl外,所有寄存器都可作为通用寄存器来用于所有指令操作。常数发生器是为指令执行时提供常数的,而不是用于存储数据的。对CGl、CG2访问的寻址模式可以区分常数的数据。在CPU内部有一组16位数据总线和16位的地址总线;CPU运行正交设计、对模块高度透明的精简指令集;PC、SR和SP配合精简指令组所实现的控制,使应用开发可实现复杂的寻址模式和软件算法。存储器MSP430系列采用“冯纽曼结构”。因此,RAM、ROM和全部外围模块都位于同一个地址空间内,即用一个公共的空间对全部功能模块进行寻址。支持外部扩展存储器是将来性能增强的目标。特殊功能寄

17、存器及外围模块安排在 000H1FFH区域;RAM和ROM共享0200HFFFFH区域,数据存储器(RAM)的起始地址是0200H。存储器与CPU及存储器数据总线(MDB)、存储器地址总线(MAB)的连接关系如图3-2所示,它提供时钟信号MCLK。ROM UJPFlash ROM1KB60KBCPURAM126B10KB MDB .16位图3-2 MSP430单片机内部结构关系图3.1.2 MSP430单片机的端口选择MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM 8个端口,下面是具体的端口功能。(1)P1,P2端口:I/O,中断功能,其他片内外设功能如定时器、比较器;(2

18、)P3,P4,P5,P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等;(3)S,COM端口:I/O,驱动液晶。即端口COM为液晶片的公共端,S为液晶片的段码端,它们实现与液晶片的直接接口,液晶片输出端也可经软件配置为数字输出端口。根据本系统设计需求选择了MSP430F149单片机的P3.6,P3.7,P6.0-P6.7等端口,它具有I/O,其它片内外设功能如SPI、UART模式,A/D转换等功能。3.1.3 单片机电路设计单片机电路作为整个系统的核心控制部分,主要是完成与其它电路的接口,在该系统中,单片机主要是负责将采集到的数据通过串口送到上位机进行处理。单片机MSP43

19、0F149的P3.6、P3.7端口分别与串口通信模块T1IN、ROUT连接;DVCC与电源3.3V的输出口相接;RST/NIMI与复位模块的RESET/端口相连;P6.0-P6.7分别与传感器模拟量AIN1-AIN7端口相连。单片机的接口电路非常简单,通过片内的A/D通道实现模拟量采集,采用片内的A/D转换部分不仅可以降低系统设计的复杂性,而且还可以提高系统的可靠性,避免接口的复杂性,同时还可以减小PCB板的面积,模拟采集的参考电压采用的是片内提供的参考电压。在这里需要考虑干扰问题,在该系统中的干扰比较小,因此模拟地和数字地共地,模拟电源输入端增加一个滤波电容以减小干扰。电路图如图3-3所示。

20、图3-3单片机电路3.2电源部分设计电源部分是整个系统的关键,系统以LM317芯片作为电源供电设计的核心。整个系统采用3.3V电压供电。LM317的输出电压范围是1.2V至37V,负载电流最大为1.5A。它的使用非常简单,仅需两个外接电阻来设置输出电压。此外它的线性调整率和负载调整率也比标准的固定稳压器好。LM317是美国国家半导体公司的三端可调正稳压器集成电路。LM317内置有过载保护、安全区保护等多种保护电路。通常LM317不需要外接电容,除非输入滤波电容到 LM317 输入端的连线超过6英寸(约15厘米)。使用输出电容能改变瞬态响应。调整端使用滤波电容能得到比标准三端稳压器高的多的纹波抑

21、制比。LM317能够有许多特殊的用法。比如把调整端悬浮到一个较高的电压上,可以用来调节高达数百伏的电压,只要输入输出压差不超过LM317的极限就行。当然还要避免输出端短路。还可以把调整端接到一个可编程电压上,实现可编程的电源输出。如图3-4所示为LM317是常见的可调集成稳压器,最大输出电流为2.2A,输出电压范围为1.2537V。 图3-4中1、2脚之间为1.25V电压基准,为保证稳压器的输出性能,R1应小于240欧姆,改变R2阻值即可调整稳压电压值,D1,D2用于保护LM317。 图3-4 LM317电源电路注意:为了减小电源噪声,应给各个电源均加上滤波电容,一般取10F和0.1 F的大小

22、电容组合。3.3复位电路部分设计复位电路是单片机工作的必要条件。因此,在单片机系统里,单片机需要复位电路,复位电路可以采用R-C复位电路,也可以采用复位芯片实现的复位电路,R-C复位电路具有经济性,但可靠性不高,用复位芯片实现的复位电路具有很高的可靠性,因此为了保证复位电路的可靠性,该系统采用复位芯片实现的复位电路,该系统采用MAX809芯片。为了减小电源的干扰,还需要在复位芯片的电源输入腿加一个0.1uF的电容来实现滤波,以减小输入端受到的干扰。MAX809芯片是一种单一功能的微处理器复位芯片,用于监控微处理器(uP)、微控制器(uC)以及其他逻辑系统的电源电压。它可以在上电、掉电和节电情况

23、下向微控制器提供复位信号。当电源电压降至预置的复位门限以下时,该电路就发出一个复位信号,并在电源已经升高到此复位门限后至少保持140ms。 MAX809为漏极开路输出,MAX809为推挽输出。MAX809适用于低电平有效的复位输出MAX809适用于高电平有效的复位输出。特性监控5.0V、3.3V、3V电源;复位延时时间最小为140ms;抗电源的瞬态干扰;低至1.1V电源时仍能产生有效的复位信号;小型的三管脚SOT-23封装;无需外部配件;适用于-40+105的温度范围。电路图如图3-5所示。 图3-5 MAX809STR芯片电路3.4传感器模拟量采集电路部分设计3.4.1传感器选择本系统对日常

24、采集作用的需求分析,选择了DS18B20数字温度传感器、粉尘浓度传感器、湿度传感器和空气流量传感器 。l DS18B20数字温度传感器是美国Dallas公司继DS1820之后推出的增强型单总线温度传感器,它具有体积更小、精度更高、适用电压更宽、可组网等优点,该温度传感器可广泛应用于数据采集系统中的环境温度监测,取得了良好的测温效果。与传统的热敏电阻相比,它具有可根据实际要求设置转换精度并直接将温度值转换为数字量独处的特点。DS18B20数字温度传感器的主要特性有:适应电压范围宽、单线接口方式、可编程分辨率为912位,可实现高精度测温、具有温度报警功能和支持多点组网功能实现组网内的多点测温。l

25、NF10GCG1000型粉尘浓度传感器主要用于各种粉尘作业场所总粉尘的连续监测,公共场所等环境监测。其特点是:测量快速准确、灵敏度高、性能稳定、可预置K值、直接显示并输出粉尘质量浓度。l 湿度传感器是能感受气体中水蒸气含量,并转换成可用输出信号的传感器。选用湿敏元件是最简单的湿度传感器。湿敏电阻的特点是在基片上覆盖一层用感湿材料制成的膜,当空气中的水蒸气吸附在感湿膜上时,元件的电阻率和电阻值都发生变化,利用这一特性即可测量湿度。 l 空气流量传感器是测定吸入发动机的空气流量的传感器。电子控制汽油喷射发动流量传感器机为了在各种运转工况下都能获得最佳浓度的混合气,必须正确地测定每一瞬间吸入发动机的

26、空气量,以此作为ECU计算(控制)喷油量的主要依据。3.4.2模拟量采集电路在该系统中主要考虑模拟前端为传感器,从传感器送来的是标准信号(即4mA-20mA),这样设计具有一定的通用性,只要前端接不同的传感器就可以采集不同的信号源。由于A/D转换基准为电压,也就是参考源为电压,所以A/D转换的是电压,这样需要将电流信号转换成电压信号。图3-7模拟信号采集前端部分,图3-8为模拟量采集具体的电路。 图3-7模拟信号采集前端部分图3-8模拟量采集由图3-7所示,第1路信号采集了数字量的温度;第2路信号采集了粉尘的浓度;第3路信号采集了空气湿度;第4路采集了空气的流量;第5路完成了数字量的温度采集;

27、第6路完成了对空气粉尘浓度的采集;第7路完成了对空气湿度的采集;第8路完成了对空气流量的采集。由图3-8所示,采集电路通过一个电阻将电流信号转换成电压信号,为了提高采集的进度,需要采用高精度的电阻,这里采用的是精度为1%的电阻。电路中采用二极管作为ESD保护电路,考虑到干扰问题,采用电容进行滤波处理,增加采集电路的抗干扰问题,数字量采集电路部分设计与此类似。3.5 串口通信电路部分设计该系统实现串口模块主要是与上位机进行通信,单片机系统将采集到的数据送到上位机进行处理,从而减轻单片机系统的处理负担。由于单片机与上位机进行通信时接口电平不同,因此需要进行接口转换,这里采用SP3220芯片来完成接

28、口电平的转换。SP3220芯片与一般的RS232芯片在使用上基本相同。如图3-9所示为串口通信的框图。MSP430单片机SP3220PC 图3-9串口通信框图3.5.1SP3220芯片选择SP3220是一款低功耗的RS232驱动芯片,该芯片有以下特性:(1) 宽电压供电,供电电压为:3.3V5.0V;(2) 上传速率可达235Kbps;(3) 低功耗的电流为1uA;(4) 增强性ESD规范。为了便于硬件电路的设计,下面图3-10给出该芯片的管脚图: 图3-10 SP3220芯片图由图3-10可以看出,该芯片具有16个管脚,下面是具体的管脚功能。EN/:接收使能管脚;SHDN/:低功耗控制管脚;

29、C1+、C1-:电压增倍的充电电容的正极和负极;C2+、C2-:倒置充电电容的正极和负极;V+、V-:由充电电容产生的5.5V的正极和负极;Vcc:电源管脚; GND:接地管脚;T1OUT:RS232驱动的输出;T1IN:TTL/CMOS的输入; R1OUT:TTL/CMOS的输出;R1IN:RS232的输入。根据系统需求选用了SP3220芯片的SHDN/、T1OUT、T1IN、 R1OUT和R1IN五个管脚。3.5.2串口通信的电路图 图3-11串口通信的电路图由图3-11所示,通过一个上拉电阻R208将SHDN/管脚拉高,使该芯片一直处于工作状态,如果系统需要处于低功耗状态,也可以通过单片

30、机来控制该管脚,工作的时候将该管脚设置为低电平,需要处于低功耗的时候将该管脚设置为高电平,这样很容易实现控制。在管脚C1+、C1-、C2+、C2-、V+和V-分别放置0.1uF的电容实现充电作用,满足相应的充电泵的要求。管脚T1OUT、TIN、RIOUT和RIN分别是232转换的输入输出脚,实现单片机的TTL电平与上位机的接口电平的转换。考虑到减小电源的干扰,还需要在芯片的电源输入腿加一个0.1uF的电容来实现滤波,以减小输入端受到的干扰。4基于MSP430单片机采集系统软件开发4.1软件开发环境该系统采用的开发环境是IAR Embedded WorkbenchforMSP430V3.42A,

31、Embedded Workbenchfor MSP430是IAR Systems公司为MSP430微处理器开发的一个集成开发环境。4.1.1 IAR Embedded Workbench介绍IAR Embedded Workbench 是一种用于开发应用各种不同的目标处理器的灵活的集成环境。它提供一个方便的窗口界面用于迅速的开发和调试。Embedded Workbench 支持多种不同的目标处理器,使用项目模式组织应用程序。它有如下一些特点。(1)通用性a) 可以在Windows环境下运行;b) 分层的项目(Project)表示;c) 直观的用户界面;d) 工具与编辑器全集成;e) 全面的超文

32、本帮助。(2) 编辑器a) 可以同时编辑汇编和C语言源文件;b) 编辑汇编和C语言程序的句法用文本格式和颜色区别显示;c) 强有力的搜索和置换命令,而且可以多个文件搜索;d) 从出错列表直接跳转到出错的相关文件的相关语句;e) 可以设置在出错语句前标志;f) 圆括号匹配;g) 自动缩进,可以设置自动缩进的空格;h) 每个窗口的多级取消与恢复。4.1.2 IAR Embedded Workbench 开发步骤第一次使用程序编写调试一般需要经过创建工作站、创建并保存工程、创建或加载源文件、保存工作站、设置工作环境(目标芯片、调试方式、仿真器接口类型、工程编译连接和调试七个步骤。第一步:创建新工作站

33、打开IAR Embedded Workbench。单击:“开始”、“程序”、IAR Systems、 IAR Embedded Workbench For MSP430 V3,自动创建一个新的工作站,出现如4-1所示的界面。 图4-1第一次进入Embedded Workbench界面提示如下:Create new project in current workspace:在新工作站中创建新的工程。Add existing project to current workspace:添加已经存在的工程到当前的工作站中。Open existing workspace:打开已经存在的工作站。Examp

34、le workspace: 打开示例工作站。根据您的具体情况选择上述4个选项之一。第二步:创建并保存工程单击选项中Create new project in new workbench。出现图4-2界面。图4-2 创建新工程选择工程类型(Empty project、asm、C、C+或xternally built executable),若选择的工程类型为Empty project,单击“OK”按钮,出现图4-3界面,选择保存路径,同时输入工程文件名(如test),单击保存,一个工程就建立完成了。图4-3 保存新工程第三步:创建一个新工程文件点击菜单Project-Creat New Proj

35、ect.如图4-4所示,弹出对话框如图4-5所示,因为我们所使用的开发语言是C,所以选择C结构下的main,点击“OK”将弹出工程文件保存路劲的对话框如图4-6所示,选择要保存的路径,填上新建的工程名称,点击“保存”按钮将弹出如图4-7所示的界面,在main.c编辑面板中将自动生成的main.c修改为#include“msp430x14x.h”Void main(void)WDTCTL=WDTPW+WDTHOLD;/Stop watchdog; 修改后如图4-8所示.然后点击左上角的save all菜单如图4-9所示,弹出保存工作区间对话框如图4-10所示,在对话框中设置好工作区间的保存路劲及

36、工作区间的名称,点击“保存按钮保存退出,返回图4-8所示的界面。图4-4 新建工程图4-5 选择开发语言创建main函数图4-6 设置工程保存路径及工程名称图4-7 新建的工程面板图4-8 修改后的main.c图4-9 点击save all保存图4-10 保存工作区间第四步:编辑代码,根据需要往工程中加入自己的C文件和H文件件。第五步:设置编译选项。代码编辑好以后,在工作面板左边,右键点击工作区间里的工程名称(我的工程名称为MCU_BasedTempretureDectection.ewp),选择Options.(如图4-11所示),弹出如图4-12所示的Options选项卡,根据我们的器件设

37、置相关的选项卡,完成后点击“OK”退出。图4-11 打开工程的Options选项卡图4-12 设置Options选项卡第五步:编译工程点击图4-13中红圈内的“Compile”和“make”对工程进行编译。注:compile只能编译单个文件,make将会对整个工程文件进行编译和链接最后生成可执行文件(后缀为.d43)图4-13 编译工程第六步:点击图4-13中红圈内的debug按钮,可编译生成的可执行文件下载到430单片机内部flash中,可以在线使用JTAG接口单步、多步调试或者设置断点调试,也可以关掉调试窗口,复位单片机后让其自动运行。至此,整个开发流程完毕。4.2软件开发设计本系统采用模

38、块化的设计思想,软件模块主要包括模拟量采集模块、数字量采集模块、串口通信模块和主处理模块。模拟量采集模块主要是单片机通过A/D通道采集来自传感器的信号,将信号进行处理。该模块主要涉及到A/D转换和定时器A的操作,主要完成8通道模拟数据的采集,并且通过定时器A来控制采集的频率,另外也设置一个标志来通知主程序已经获得新的数据,通过全局变量来实现与主处理程序实现数据的交互。这部分程序采用中断服务程序实现,在定时器A里先停止A/D转换,读取数据后启动A/D转换,然后再等待下一次中断的到来。数字量采集主要是单片机通过的一般I/O口与数字采集电路进行连接,单片机通过一般I/O口来简单的读取数字采集量的状态

39、,判断是高电平还是低电平。数据采集的时间间隔通过定时器B来完成,整个模块采用的是中断服务程序的结构完成。串口模块主要是与上位机的通信,从而将采集到的数据送到上位机进行处理。当接收到有数据时,设置一个标志来通知主程序有数据到来,当主程序有数据要发送的时候,设置一个中断标志进入中断发送数据。主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中主处理获得采集的模拟数据和数字量数据,并将得到的数据发送到上位机。下位机也接收来自上位机的的数据。整个程序基于中断服务结构,为了实现中断程序与主程序之间的数据交互,通过设置一些全局变量和全局的缓冲区来实现,具体的流程图如图4-14所示。图4-14主

40、流程图通过流程图可以看出,主处理只负责简单的标志判断和设置标志,然后从指定的缓冲区读取数据或将数据放到相应的缓冲区,其他的处理由中断来处理,因此主程序需要和中断程序进行交互。4.3关键软件程序整个软件设计包括初始设置、中置服务程序和主处理程序,下面对各个部分程序分别进行详细介绍。4.3.1初始化设置初始化程序主要包括时钟初始化,A/D初始化、串口初始化。下面为A/D初始化和定时器初始化的程序代码。void Init_ADC(void)/设置P6.0为模拟输入通道P6SEL = 0X07;/设置ENC为0,从而修改ADC12寄存器的值ADC12CTL0 &= (ENC);/转换的起始地址为:AD

41、CMEM0ADC12CTL1 = CSTARTADD_0;/设置参考电压为AVSS和AVCC,输入通道为A0ADC12MCTL0 = INCH_0; /设置参考电压为AVSS和AVCC,输入通道为A1 ADC12MCTL1 |= INCH_1; /设置参考电压为AVSS和AVCC,输入通道为A2 ADC12MCTL2 = INCH_2; /设置参考电压为AVSS和AVCC,输入通道为A3 ADC12MCTL3 = INCH_3; /设置参考电压为AVSS和AVCC,输入通道为A4 ADC12MCTL4 = INCH_4; /设置参考电压为AVSS和AVCC,输入通道为A5 ADC12MCTL5

42、 = INCH_5; /设置参考电压为AVSS和AVCC,输入通道为A6 ADC12MCTL6 = INCH_6; /设置参考电压为AVSS和AVCC,输入通道为A7 ADC12MCTL7 = INCH_7 + EOS;ADC12CTL0 = |ADC12ON;ADC12CTL0 = |MSC;/转换模式为:多通道、单次转换 ADC12CTL1 |=CONSEQ_1;/SMCLK, 时钟分频为1,采样脉冲由采样的定时器产生 ADC12CTL1 |= ADC12SSEL_1;ADC12CTL1 |= ADC12DIV_1;ADC12CTL1 |= (SHP);/使能ADC转换 ADC12CTL0

43、 |= ENC;return;void Init_TimerA(void)/选择SMCLK,清除TARTACTL = TASSEL1 + TACLR;/1/8 SMCLKTACTL += ID1;TSCTL += ID0;/CCR0 中断允许CCTL0 = CCIE;/频率为250HZ CCRO =4000;/增计数模式TACTL |= MC0;return;4.3.2中断服务程序该部分主要完成8通道模拟数据的采集,并且通过定时器A来控制采集的频率。另外,也设置一个标志来通知住程序已获得新的数据,通过全局变量来实现与主处理器程序进行数据交互。这部分采用中断服务程序实现,在定时器A里先停止A/D

44、转换,读取数据后启动A/D转换,然后在等待下一次中断的到来,下面为定时器A处理和A/D转换部分的程序代码。interrupt TIMERA0_VECTOR Void TimerA_ISR(void)int results8;int i;/关闭转换ADC12CTL0 &= ENC;/读初转换结果ADC_BUF0nADC_Count = ADC12MEM0; /读出转换结果 ADC_BUF1nADC_Count = ADC12MEM1; /读出转换结果 ADC_BUF2nADC_Count = ADC12MEM2; /读出转换结果 ADC_BUF3nADC_Count = ADC12MEM3; /

45、读出转换结果 ADC_BUF4nADC_Count = ADC12MEM4; /读出转换结果 ADC_BUF5nADC_Count = ADC12MEM5; /读出转换结果 ADC_BUF6nADC_Count = ADC12MEM6; /读出转换结果 ADC_BUF7nADC_Count = ADC12MEM7; nADC_Count += 1; if (nADC_Count = = 10) /设置标志 nADC_Flag = 1; nADC_Count = 0; /将数据倒向数据缓冲区 for (i = 0; i 10;i+) ADC_BUF_Temp0i = ADC_BUF0i; for (i = 0; i 10;i+) ADC_BUF_Temp1i = ADC_BUF1i; for (i = 0; i 10;i+) ADC_BUF_Temp2i = ADC_BUF2i;for (i = 0; i 10;i+) ADC_BUF_Temp3i = ADC_BUF3i;for (i = 0; i 10;i+) ADC_BUF_Temp4i = ADC_BUF4i;for (i = 0; i 10;i+) ADC_BUF_Tem

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号