固体密度测试仪软件设计.doc_第1页
固体密度测试仪软件设计.doc_第2页
固体密度测试仪软件设计.doc_第3页
固体密度测试仪软件设计.doc_第4页
固体密度测试仪软件设计.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)题目:固体密度测试仪软件设计院 (系): 电子信息工程学院 专 业: 自动化 班 级: 060401 学 生: 董 婧 学 号: 060401125 指导教师: 陈忠孝 2010年 06月本科毕业设计(论文)题目:固体密度测试仪软件设计院 (系): 电子信息工程学院 专 业: 自动化 班 级: 060401 学 生: 董 婧 学 号: 060401125 指导教师: 陈忠孝 2010年 06月固体密度测试仪软件设计摘 要针对市面上的密度仪存在精度低、显示不便、所测样本种类受限、操作复杂等问题,在分析常用的固体密度测量方法的基础上,提出了一种基于阿基米德浮力定律测量标本密度的方法,并完成了固体密度仪硬件电路设计和配套软件编程工作,同时给出了密度仪的技术指标及测量结果的误差分析。密度仪由称重传感器、放大器、单片机、及显示部分等组成。该固体密度仪可以用于测量多种标本的密度,同时实现了各种固体密度自动测试和密度值实时显示功能,提高了工作效率,减少了人为误差。本密度仪具有智能化程度高、自动LCD(Liquid Crystal Display)显示密度值、存储测试结果、操作简单等优点。关键词:传感器;密度;单片机;LCDiSolid Density Tester - Software DesignAbstractDensity instrument for the market has many disadvantages, such as low precision, difficult to display result, restricted by variety of the samples, complicated to operate, etc. Based on analyzing the formal density measurement of solid matters,the paper brought forward a kind of density measurement method for the rocks and minerals based on the Archimedes law, finished the designing of density instrument hardware circuit and the compiling of support software, supplied the technical index of density instrument and the error analysis of measurement result. The density instrument consists of load sensor, amplifier, single-chip microcomputer,display. This density instrument can be used for measuring the density of all kinds of the solid sample. It can realize the auto testing function for all kinds of solid density and the real-time display function of the density value, increase the work efficiency,decrease the man-made error. The instrument we designed has the advantages of high intelligences, density value autodisplay with LCD (Liquid Crystal Display),measuring results storage, capability of communicate with computer, and easy to operate, etcKey words:sensor;density;microprocessor;LCDii目录中文摘要iAbstractii1 绪 论11.1固体密度测试仪的介绍11.2固体密度测试仪的背景及发展11.3固体密度测试仪的测量方法11.4本论文的内容安排22 固体密度测试仪方案设计32.1固体密度测试仪的测量原理32.2固体密度测试仪的总体设计32.3固体密度测试仪实现的功能43 固体密度测试仪硬件简介53.1传感器模块53.2放大器模块53.3 A/D转换模块53.4单片机MSP430F149模块53.5显示器模块63.6电机驱动模块63.7键盘模块73.8报警器模块74 固体密度测试仪的软件设计84.1固体密度测试仪的软件设计方法8I4.2固体密度测试仪的软件总体设计94.2.1单片机MSP430F149的存储器组织84.2.2单片机MSP430F149与外围模块接口及地址分配94.2.3单片机MSP430F149的寄存器94.2.4 FM12864的寄存器214.2.5软件设计的主流程234.3 固体密度测试仪的各模块的流程244.3.1键盘流程图254.3.2 A/D转换流程图264.3.3滤波流程图274.3.4电机控制流程图284.3.4报警流程图294.3.5数据处理流程图294.3.6 LCD显示流程图305 固体密度测试仪的调试与误差分析315.1 固体密度测试仪的软硬件联合调试315.2 固体密度测试仪的误差分析316 结论32参考文献33致谢34毕业设计(论文)知识产权声明35毕业设计(论文)独创性声明36附录A 程序清单37II附录B 外文原文及翻译49III 1 绪论 1 绪论1.1固体密度测试仪的介绍固体密度测试仪用于测量固体标本的密度,在地球物理探矿、建筑行业钢材、水泥材质分析或矿石标本成分含量分析中,密度参数测量是衡量其质量或成分含量非常重要的依据之一。对于规则形状的固体,密度检测一般比较容易实现,而对于不规则形状的固体,密度测量目前还是个难题,特别是在需要测量大量矿石样本的场合,过去使用的方法效率非常低下,很容易造成操作人员的疲劳,极易产生误差。很明显,已有的密度参数测量方法已不适应当前的需求,必须用更加先进的测量装置来提高测量的效率和精度。随着生产力的发展和对密度测量精度要求的不断提高,固体密度测量技术得到了迅速发展,能否又快又精确的测量一个物体的密度,关系到整个密度测量的成败。1.2固体密度测试仪的背景及发展固体材料密度测量的历史已很悠久,现已达到很高的精度。至今科学工作者仍在不断地寻求新的原理和方法以便更精确地测量材料的密度。目前,密度测量最基本、最经典的方法仍然是阿基米德法。而小质量,高精度的密度测量是发展趋势之一。1972年Cawthome和Sinclair使用0.1天平,测量30mg试样的密度其精度达到0.04,也有利用各种原理,制造专门仪器来测量密度的。1.3固体密度测试仪的测量方法通常,固体密度参数测量有机械法,电子自动法两种。前者手工操作,手续繁琐,效率低,规则形状固体的测量难以实现。后者是一种基于阿基米德浮力定律对固体的密度进行测试的方法,采用单片机技术,通过一定的硬件电路和配套软件来实现固体密度的测试。操作简单、精确度高、性能稳定可靠,特别适合测量不规则形状物体的密度。但一般的方法如机械法可以对规则形状的固体进行测量,但对形状非常不规则的固体则无法测量,故采用电子法利用阿基米德定律可实现对不规则固体密度的测量,且具有操作简单、精度高、性能稳定、可靠性高等优点。1 西安工业大学毕业设计(论文) 1.4本论文的内容安排第1章 绪论。主要介绍固体密度测试仪的背景、发展和测量方法以及论文的内容安排。第2章 固体密度测试仪方案设计。 主要介绍固体密度测试仪的测量原理、总体设计及其实现的功能。第3章 固体密度测试仪硬件简介。简要介绍传感器模块、放大器模块、A/D转换模块、单片机MSP430F149模块、显示器模块、电机驱动模块、键盘模块以及报警器模块。第4章 固体密度测试仪的软件设计。主要介绍固体密度测试仪的软件设计方法、软件的总体设计其中包括单片机MSP439F149的存储器组织和地址分配、软件设计的主流程以及各模块的流程。第5章 固体密度测试仪的调试与误差分析。固体密度测试仪的测试结果以及误差分析。第6章 结论。总结设计经验及学到的东西。 2 固体密度测试仪方案设计 2 固体密度测试仪方案设计2.1固体密度测试仪的测量原理物理学中密度定义为单位体积物体的质量。设固体标本的质量为M,体积为V,测量密度为,根据密度定义,有=M/V (2.1.1)如果固体标本在空气中的重量为P1=Mg (2.1.2)在固体标本在水中的重量为P2=(M-M0)g (2.1.3)则浸没在水中前后的重量差为P1-P2=M0g (2.1.4)其中g表示重力加速度,M0表示与固体标本同体积的水的质量。根据阿基米德浮力定律,固体标本的体积为V =M0/0=(P1-P2)/0g (2.1.5)则固体标本的密度为=P1/g/(P1-P2)/(0g)=0 P1 /(P1-P2) (2.1.6)式中0为水的密度,因为0=1 g/cm 于是所测固体标本的密度为=P1/(P1-P2) (2.1.7) 可见,只要分别求出固体标本在空气中的重量P1和该固体标本在水中的重量P2,根据式(2.1.7)即可得到被测固体标本的密度值。2.2固体密度测试仪的总体设计固体密度测试仪基于阿基米德原理设计,采用称重传感器称出固体标本在空气中的重量P1和固体标本在水中的重量P2,并将微弱的电信号经放大器转换成单片机能够识别的电压信号,送单片机系统进行处理,并送显示器显示出结果。固体密度测试仪由MSP430F149单片机及外围电路组成,主要完成信号的采集、数据转换、滤波、数据处理、显示等工作。 固体密度测试仪的原理框图如图2.1所示:3 西安工业大学毕业设计(论文) MSP430F14912位ADC4片应变压阻传感器AD620蜂鸣器接口电路LCD12864键 盘电机驱动L298电机 图2.1固体密度测试仪原理框图2.3固体密度测试仪实现的功能此次设计的固体密度测试仪主要测量质量小于500g的固体的密度。实现的具体功能如下:(1) 测量固体在空气中的重量、在水中的重量。(2) 计算出固体密度。(3) 用LCD显示重量和密度。(4) 自动调零点。(5) 具有异常报警功能。 4 3 固体密度测试仪硬件简介 3 固体密度测试仪硬件简介3.1传感器模块固体密度测量系统中传感器由4片性能完全相同的压阻式应变片组成,通过压阻效应实现重力到电阻的转换,再由桥路转换为电压。3.2放大器模块AD620是一种只用一个外部电阻就能设置放大倍数为11000的低功耗、高精度仪表放大器。它体积小,为8管脚的SOIC或DIP封装;供电电源范围2.3V18V;最大供电电流仅为1.3mA。3.3 A/D转换模块在MSP430F149中有一个12位精度的A/D转换模块ADC12,主要由5大功能模块组成,且都可独立配置,它们分别为:带有采样/保持功能的ADC内核,可控制的转换存储,可控制的参考电平发生器,可控制和选择的时钟源,可控采样及转换时序电路。ADC12有4种工作模式:可以在单通道上实现单次转换或多次转换,也可以在序列通道上实现单次转换或重复转换。对于序列通道转换,采样顺序完全由用户定义。转换的结果保存在16个转换寄存器中,这样ADC12可以进行多次转换而不需要软件干预,这一点提高了系统性能,也减少了软件开销。3.4单片机MSP430F149模块MSP430F149单片机是美国德州仪器(TI)推向市场的一种16位超低功耗的混合信号处理器。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。MSP430F149单片机的主要特点有:(1) 超低功耗MSP430F149单片机的电源采用1.83.6V,RAM数据保持方式下耗电仅0.1A,活动模式耗电250A/MISP(MISP:每秒百万条指令数),IO输入端口漏电流最大仅50nA。27 西安工业大学毕业设计(论文) 另外,MSP430F149单片机采用矢量中断,支持十多个中断源,并可以任意嵌套。用中断请求将CPU唤醒只要6s,通过合理编程,既可以降低系统功耗,又可以对外部事件请求作出快速响应。(2) 强大的处理能力MSP430F149单片机是16位单片机,采用了目前流行的、颇受学术界好评的精简指令集(RISC)结构,一个时钟周期可以执行一条指令,使MSP430F149在8MHz晶振工作时,指令速度可达8MIPS。同时采用了16位多功能硬件乘法器功能、DMA等一系列先进的体系结构,大大增强了它的数据处理和运算能力,可以有效地实现一些数字信号处理的算法(如FFT、DTMF等)。3.5显示器模块固体密度测试仪采用FM12864图形液晶显示模块,128*64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。液晶显示12864的外部I/O引脚用的是5V的逻辑电平,而单片机MSP430F149的I/O引脚的电平是3.3V。MSP430F149输出高电平时,最小值为1.8V,但在显示器12864上可能为低电平。所以在单片机MSP430F149与显示器接口中应加一个电平转换芯片。如果引脚数量较少,可以直接用三极管电阻来转换。但由于固体密度测试仪的引脚较多,所以选用一片74LVC16245芯片来进行电平转换,可以实现3.3V到5V的电平转换。表3.1 接口电路的功能 3.6电机驱动模块由L298N构成的PWM功率放大器的工作形式为单极可逆模式。其驱动电压可达46V,直流电流综合可达4A。两个 H桥的下侧桥臂晶体管发射极连在一起,其输出脚(SENSEA和SENSEB)用来连接电流检测电阻。Vss接逻辑控制的电源。Vs为电机驱动电源,当 Vs=40时,最高输出电压可达35V,连续电流可达2A。IN1-IN4输入引脚为标准TTL逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其控制引脚使能关系如表3.2:表3.2 L298N的功能在固体密度测试仪设计中,只用到L298N驱动电机正反转的功能。在设计中,通过P4.0接ENA端口,P4.1接IN1接口,P4.2接IN2接口,通过IN1、IN2控制电机正反转。3.7键盘模块固体密度测试仪采用查询方式来判断有无按键按下,当引脚为低电平时有效,当查询到管脚口为低电平时,执行相应功能。表3.3 各个键值的功能键值功能S1固体密度测试仪开S2固体密度测试仪关S3测量标本在空气中的重量S4电机正转标本下降S5测量标本在水中的重量S6电机反转物体上升S7取消报警3.8报警器模块报警器被广泛用于电子产品当中,当报警器的功能要求比较低时,蜂鸣器是比较常用的报警器件。固体密度测试仪就是用一个蜂鸣器来实现系统报警。蜂鸣器由单片机的P1.3引脚控制,当P1.3输出为高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P1.3输出为低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过软件控制P1.3脚的电平来开启或关闭蜂鸣器。当标本的重量大于500g或者标本在水中的重量大于在空气中的重量时,蜂鸣器工作,发出报警。 4 固体密度测试仪的软件设计 4 固体密度测试仪的软件设计4.1固体密度测试仪的软件设计方法MSP430F149是一种具有集成度高、功能强、功耗极低等技术特点的16位单片机。用C语言程序设计来实现系统的应用软件开发,可以大大提高开发调试工作的效率;同时,所产生的文档资料也容易理解。所以,软件采用C语言设计。系统的软件程序固化在MSP430F149单片机的内部Flash存储器中,软件结构是经典的前后台程序结构,为保证程序的执行速度及程序代码的紧凑性,程序采用结构化、模块化的结构设计,将软件划分为一个主程序和若干子程序模块,如采样模块、数据处理模块、LCD显示模块等,按照程序流程轮流调用各个子程序模块。4.2 固体密度测试仪的软件总体设计4.2.1单片机MSP430F149的存储器组织MSP430F149的存储器空间采用“冯-纽曼结构”,代码存储器(ROM、EPROM、RAM)和数据寄存器(ROM、EPROM、RAM)由同一组地址及数据总线放在一个地址空间中。物体上完全分离的存储区域,例如内部ROM、RAM、SFR,外围模块,以及外接的存储器,都位于一个公共地址空间中。总的寻址空间在小存储器模式时为64KB,小存储模式采用线性寻址空间。存储器构成为64KB或更少时采用小存储模式,安排在最低的64KB。小存储模式的空间结构和数据宽度如表4.1所示: 西安工业大学毕业设计(论文) 表4.1 小存储模式下的空间结构和数据宽度地址 7 0中断向量表程序存储器跳转控制表数据表等数据存储器16位外围模块8位外围模块特殊功能寄存器0FFFFh0FFE0h0FFDFh0200h0100h010h00h4.2.2单片机MSP430F149与外围模块的接口及地址分配(1) MSP430F149与外围模块的接口:P1.3接报警模块;P2.0P2.5,P3.0P3.7接显示器模块: P2.0接接口电路的1DIR,P2.1控制显示模块的CS1位,P2.2控制显示模块的CS2位,P2.3控制显示模块的E位,P2.4控制显示模块的R/W位,P2.5控制显示模块的D/I位,P3.0P3.7接显示模块的DB0DB7。P4.0P4.2接电机驱动模块: P4.0接电机驱动模块的ENA,P4.1接电机驱动模块的IN1,P4.2接电机驱动模块的IN2。P5.0P5.6依次接键盘的S1S7;P6.0接放大器模块。(2) 数据的地址分配:aN为存放采样数据的数组地址为0200h;P1为标本在空气中的重量地址为0300h;P2为标本在水中的重量地址为0302h;为标本的密度地址为0304h。4.2.3单片机MSP430F149的寄存器(1) 时钟模块 MSP430F149单片机时钟模块提供3个时钟信号,供给片内各部分电路使用。1 ACLK 辅助时钟信号,ACLK可提供CPU外围功能模块作时钟信号使用。2 MCLK 主时钟信号,MCLK主要用于MCU和相关系统模块作时钟使用。可设置相关寄存器来决定分频因子及相关的设置。3 SMCLK 子系统时钟,可设置相关寄存器来决定分频因子及相关的设置。表4.2 DCOCTL DCO控制寄存器76543210DOC.2DCO.1DCO.0MOD.4MOD.3MOD.2MOD.1MOD.0DCO.0-DCO.2定义8种频率之一,可以分段调节DCOCLK频率,相邻两种频率相差10%,而频率由注入直流发生器的电流定义。MOD.0-MOD.4定义在32个DCO周期中插入的Fdco+1的周期个数,而在下一个DCO周期中为Fdco周期,控制改换DCO和DCO+1选择的两种频率。如果DCO常数为7,表示已经选择最高频率,此时不能利用其进行频率调整。表4.3 BCSCTL1 基本时钟系统控制寄存器176543210XT2OFFXTSDIVA.1DIVA.0XT5VRsel.2Rsel.1Rsel.0XT2OFF 控制XT2振荡器的开启与关闭 XT2OFF=0,XT2振荡器开启 XT2OFF=1,XT2振荡器关闭(默认为XT2关闭)XTS 控制LFXT1工作模式,选择需结合实际晶体振荡器连接情况。 XTS=0,LFXT1工作在低频模式(默认) XTS=1,LFXT1工作在高频模式(必须连接有高频相应的高频时钟源)DIVA.0 DIVA.1 控制ACLK分频。0 不分频1 2分频2 4分频3 8分频XT5V 此位设置为0。Rsel.0 Rsel.1 Rsel.2 三位控制某个内部电阻以决定标称频率。 Rsel=0,选择最低的标称频率 Rsel=1,选择最高的标称频率表4.4 BCSCTL2 基本时钟系统控制寄存器276543210SELM.1SELM.0DIVM.1DIVM.0SELSDIVS.1DICS.0DCORSELM.1 SELM.0 选择MCLK时钟源0 时钟源为DCOCLK (默认) 1 时钟源为DCOCLK2 时钟源为XT2CLK3 时钟源为LFTXT1CLKDIVM.1 DIVM.0 选择MCLK分频0 1分频(默认)1 2分频2 4分频3 8分频SELS 选择SMCLK时钟源0 时钟源为DCOCLK (默认)1 时钟源为XT2CLKDIVS.1 DICS.0 选择SMCLK分频0 1分频1 2分频2 4分频3 8分频DCOR 选择DCO电阻0 内部电阻1 外部电阻PUC信号之后,DCOCLK被自动选择MCLK时钟信号,根据需要,MCL的时钟源可以另外设置为LFXT1或者XT2。设置顺序如下:1 复位OscOFF2 清除OFIFG3 延时等待至少50s4 再次检查OFIFG,若仍然置位,则重复3、4步骤,直到OFIFG=0为止。(2) I/O 端口 数字输入输出端口使用特性:1 所有端口都可以单独进行编程。2 可以进行输入输出和中断条件的任意组合。3 对具有中断功能的引脚输入沿可进行选择。4 具有第2功能选择,以适合不同I/O口操作。5 所有指令支持端口控制寄存器的读写操作。表4.5 PxDIR 方向寄存器76543210P7DIRP6DIRP5DIRP4DIRP3DIRP2DIRP1DIRP0DIR 0 为输入模式 1 为输出模式在PUC后全都为复位,作为输入时,只能读;作为输出时,可读为写。表4.6 PxIN 输入寄存器76543210PxINPxINPxINPxINPxINPxINPxINPxIN 输入寄存器是只读的,用户不能对它写入,只能读取其IO内容。此时引脚方向必须为输入。表4.7 PxOUT 输出寄存器76543210P7OUTP6OUTP5OUTP4OUTP3OUTP2OUTP1OUTP0OUT 这是 IO 端口的输出缓冲器,在读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。表4.8 PxIFG 中断标志寄存器76543210P7IFGP6IFGP5IFGP4IFGP3IFGP2IFGP1IFGP0IFG标志相应引脚是否有待处理中断信息。 0 没有中断请求 1 有中断请求表4.9 PxIES 中断触发沿选择寄存器76543210P7IESP6IESP5IESP4IESP3IESP2IESP1IESP0IES 0 上升沿使相应标志置位 1 下升沿使相应标志置位表4.10 PxIE 中断使能寄存器76543210P7IEP6IEP5IEP4IEP3IEP2IEP1IEP0IE 0 禁止中断 1 允许中断表4.11 PxSEL 功能选择寄存器76543210P7SELP6SELP5SELP4SELP3SELP2SELP1SELP0SEL0 选择引脚为I/O功能1 选择引脚为外围模块功能端口P3、P4、P5、P6是没有中断功能的,其它功能与P1、P2相同。(3) WDT看门狗 看门狗定时器实际上是一个特殊的定时器,它的功能是当程序运行发生故障时序时能使系统重新启动。其原理就是发生故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统复位。这样当在调试程序或预计程序运行在某段内部可能瞬时发生时序错误时(如外部电路干扰)选用设置看门狗定时中断可以避免程序跑飞。看门狗的定时时间可以通过WDTCTL中的低三位选择,当系统时钟为1MHZ时,最大可设置为1秒钟,最小可设置64微秒。WDTCTL是一个16位寄存器,其高字节为口令,口令为5AH,当对它写入操作时必须写口令才能操作,否则会导致系统复位。另外该模块还具有定时器的功能。用户可通过TMSET位进行选择并通过设置CNTCL来使WDTCNL从0开始计数。其定时按选定的时间周期产生中断请求。当WDT工作在定时器模式时,WDTCTL中断标志位在定时时间到时置位,因该模式下定时器中断源是单源的,当得到中断服务时其WDTCNL标志位复位。表4.12 WDTCNT 计数单元15-0这是16位增计数器,由MSP430F149所选定的时钟电路产生的固定周期时钟信号对计数器进行加法计数。如果计数器事先被预置的初始状态不同,那么从开始计数到计数溢出为止所用的时间就不同。WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。表4.13 WDTCTL 控制寄存器15-876543210口令HOLDNMIESNMITMSELCNTCLSSELIS1IS0WDTCTL由高8位口令和低8位控制命令组成。要写入操作WDT的控制命令,出于安全原因必须先正确写入高字节看门狗口令。口令为5AH,如果口令写错将导致系统复位。读WDTCTL时不需要口令。这个控制寄存器还可以用于设置NMI引脚功能。IS0 IS1 选择看门狗定时器的定时输出。其中T是WDTCNT的输入时钟源周期。0 T * 1 T * 2 T * 3 T * SSEL 选择WDTCNT的时钟源0 SMCLK 1 ACLKCNTCL 当该位为1时,清除WDTCNT。TMSEL 工作模式选择0 看门狗模式1 定时器模式NMI 选择RST/NMI引脚功能,在PUC后被复位。0 RST/NMI引脚为复位端1 RST/NMI引脚为边沿触发的非屏蔽中断输入NMIES 选择中断的边沿触发方式0 上升沿触发NMI中断1 下降沿触发NMI中断 HOLD 停止看门狗定时器工作,降低功耗0 WDT功能激活1 时钟禁止输入,计数停止(4) 定时器 定时器资源功能说明: (1) 看门狗定时器(WDT):主要用于程序在发生错误时用作单片机系统复位重启的。另外,也可作为一个基本定时器使用。 (2) 定时器A:作基本定时器使用,结合捕获/比较功能模块可实现时序控制,可编程波形信号发生输出。可作串口波特率发生器使用。 (3) 定时器B:作基本定时器使用,与定时器A基本相同,但是功能方面有某些功能会比定时器A增强些。表4.14 TACTL 控制寄存器15-109876543210未用SSEL1SSEL0ID1ID0MC1MC0未用CLRTAIETAIFGSSEL1、SSEL0 选择定时器输入分频器的时钟源表4.15 Timer_A 时钟源SSEL1SSEL0输入时钟源说明00TACLK用特定的外部引脚信号01ACLK辅助时钟10SMCLK子系统时钟11INCLK见器件说明ID1 ID0 输入分频选择 00 不分频 01 2分频 10 4分频 11 8分频MC1 MC0 计数模式控制位 00 停止模式 01 增计数模式 10 连续计数模式 11 增/减计数模式CLR 定时器清除位 POR或CLR置位时定时器和输入分频器复位。CLR由硬件自动复位,其读出始终为0。定时器在下一个有效输入沿工作。如果不是被清除模式控制暂停,则定时器以增计数器模式开始工作。TAIE 定时器中断允许位0 禁止定时器溢出中断1 允许定时器溢出中断TAIFG 定时器溢出标志位增计数模式:当定时器由CCR0计数到0时,TAIFG置位。连续计数模式:当定时器由0FFFFh计数到0时,TAIFG置位。增/减计数模式:当定时器由CCR0减计数到0时,TAIFG置位。(5) ADC12模数转换模块 ADC的模块内核是共用的,通过前端的模拟开关分别来完成采集输入。ADC12是一个精度为12位的ADC内核,1位非线性微分误差,1位非线性积分误差。内核在转换时会参用到两个参考基准电压,一个是参考相对的最大输入值,当模拟开关输出的模拟变量大于或等于最大值时ADC内核的输出数字量为满量程,也就是0XFF;另一个则是最小值,当模拟开关输出的模拟变量小于或等于最小值时ADC内核的输出数字量为最低量程,也就是0X00。而这两个参考电压是可以通过软件来编程设置的。 ADC内核在每次完成转换时都会将相应通道上的输出结果存储到相应用通道缓冲区单元中,共有16个通道缓冲单元。同时16个通道的缓冲单元有着相应的控制寄存器,以实现更灵活的控制。表4.16 ADC12CTL0 转换控制寄存器015-1211-876543210SHT1SHT0MSC2.5VREFONADC12ONADC12TOVIEADC12TVIEENCADC12SC 表4.17 ADC12SC 采集/转换控制位ENC=1SHP=1ADC12SC由0变为1启动AD转换AD转换完成后ADC12SC自动复位ISSH=0SHP=0ADC12SC保持高电平时采集ADC12SC复位时启动一次转换ENC=1表示转换允许(必须使用);ISSH=0表示采样输入信号为同相输入;SHP=1 表示采样信号SAMPCON来源于采样定时器;SHP=0表示采样直接由ADC12SC控制。用软件启动一次AD转换,需使用一条指令来完成 ADC12SC与ENC的设置。ENC 转换允许位0 ADC12SC为初始状态,不能启动AD转换1 首次转换由SAMPCON上升沿启动只有在该位为高电平时,才能用软件或外部信号启动转换。在不同转换模式下ENC由高电平变以低电平的影响不同:(1) 当CONSEQ=0(单通道单次转换模式) 且ADC12BUSY=1(ADC12处于采样或者转换时),中途撤走ENC信号(高电平变为低电平),则当前操作结束,并可能得到错误结果。所以在单通道单次转换模式整个过程中,都必须保证ENC 信号有效。(2) 当CONSEQ0(非单通道单次转换模式) 时,ENC由高电平变为低电平,则当前转换正常结束,且转换结果有效,在当前转换结束时停止操作。ADC12TVIE 转换时间溢出中断允许位 0 没发生转换时间溢出 1 发生转换时间溢出当前转换还没有完成时,又发生一次采样请求,则会发生转换时间溢出。如果允许中断,则会发生中断请求。ADC12OVIE 溢出中断允许位0 没有发生溢出1 发生溢出当ADC12MEMx中原有的数据还没有被读出,而现在又有新的转换结果数据要写入时,则会发生溢出。如果相应的中断允许,则会发生中断请求。ADC12ON ADC12内核控制位 0 关闭ADC12内核 1 打开ADC12内核REFON 参考电压控制位 0 内部参考电压发生器关闭 1 内部参考电压发生器打开2.5V 内部参考电压的电压值选择位 0 选择1.5V内部参考电压 1 选择2.5 V内部参考电压表4.18 MSC 多次采样/转换位有效条件MSC值含义SHP=10每次转换需要SHI信号的上升沿触发采样定时器CONSE!=01仅首次转换同SHI信号的上升沿触发采样定时器,而后采样转换将在前一次转换完成后立即进行其中CONESQ0表示当前转换模式不是单通道单次转换。SHT1,SHT0 采样保持定时器1,采样保持定时器0这是定义了每通道转换结果中的转换时序与采样时钟ADC12CLK的关系。采样周期是ADC12CLK周期的整4倍,则:Tsample=4*Tad12clk*N表4.19 SHT1,SHT0 采样保持定时器1,采样保持定时器0的分频因子SHITx0123456789101112-15N1248162432486496128192256表4.20 ADC12CTL2 转换控制寄存器215-1211-10987-54,32,10CSSTARTADDSHSSHPISSHADC12DIVADC12SSELCONSEQADC12BUSY大多数位只有在ENC=0时才可被修改,如315位。CSSTARTADD转换存储器地址位,这4位表示二进制数015分别对应ADC12MEM015可以定义单次转换地址或序列转换的首地址。SHS 采样触发输入源选择位 0 ADC12SC 1 Timer_A.OUT1 2 Timer_B.OUT0 3 Timer_B.OUT1SHP 采样信号(SAMPON选择控制位 0 SAMPCON源自采样触发输入信号 1 SAMPCON源自采样定时器,采样输入信号的上升沿触发采样定时器 ISSH 采样输入信号方向控制位 0 采样输入信号为同向输入 1 采样输入信号为反向输入ADC12DIV ADC12时钟源分频因子选择位,分频因子为3位二进制数加1ADC12SEL ADC12内核时钟源选择 0 ADC12内部时钟源:ADC12SC 1 ACLK 2 MCLK 3 SMCLKCONSEQ 转换模式选择位 0 单通道单次转换模式 1 序列通道单次转换模式 2 单通道多次转换模式 3 序列通道多次转换模式ADC12BUSY ADC12忙标志位 0 表示没有活动的操作 1 表示ADC12正处于采样期间、转换期间或序列转换期间ADC12BUSY只用于单通道单次转换模式,如果ENC复位,则转换立即停止,转换结果不可靠,需要在使ENC=0之前,测试ADC12BUSY位以确定是否为0。在其它转换模式下此位是无效的。表4.21 ADC12MEM0ADC12MEM15 转换存储器1514131211-00000MSBLSB这16位寄存器用来存储AD转换结果,只用其中低12位,高4位在读出时为0。表4.22 ADC12MCTLx 转换存储器控制寄存器76,5,43,2,1,0EOSSREFINCHEOS 序列结束控制位0 序列没有结束1 此序列中最后一次转换SREF 参考电压源选择位0 = =1 = 2,3 = = 4 = = / 5 = / 6,7 = = / INCH 选择模拟输入通道。用4位二进制码表示输入通道0-7 A0-A78 9 / 10 片内温度传感器的输出1115 ( - )/2中断控制寄存器:ADC12IFG、ADC12IE、ADC12IV表4.23 ADC12IFG 中断标志寄存器1514.10AC12IFG.15ADC12IFG.14.ADC12IFG.1ADC12IFG.0ADC12IFG.x=1 转换结束,并且转换结果已装入转换存储器ADC12IFG.x=0 ADC12MEM.x被访问表4.24 ADC12IE 中断使能寄存器1514.11ADC12IE.15ADC12IE.14.ADC12IE.1ADC12IE.0 ADC12IE.x=1 允许相应的中断标志位ADC12IFG.x在置位时发生的中断请求服务 ADC12IE.x=0 禁止相应的中断标志位ADC12IFG.x在置位时发生的中断请求服务(6) CPU模块 MSP430F149中断嵌套机制:(1) 单片机默认的是关闭中断嵌套,除非用户在一个中断程序中再次开总中断EINT。(2) 当进入中断程序时,只要不在中断中再次开中断,总中断是关闭的,此时来中断不管是比当前中断的优先级高还是低都不执行。(3) 若在中断A中开了总中断,可以响应后来的中断B(不管B的优先级比A高还是低),B执行完继续执行。注意:进入中断B总中断同样也会关闭,B执行完后跳出中断程序进入A程序时,总中断会自动打开。(4) 若在中断中开了总中断,后来的中断同时有多个,则会按优先级来执行,即中断优先级只有在多个中断同时到来时才起作用,中断服务不执行抢先原则。(5) 对于单源中断,只要响应中断,系统硬件自动清除中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位会被自动清除;对于多源中断要手动清除标志位,比如P1/P2口中断,要手工清除相应的标志位,如果在这种中断中用“EINT();”开中断,而在打开中断前没有

温馨提示

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

评论

0/150

提交评论