《毕业设计(论文)微波开关微波信号识别的方法设计与单片机软件设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)微波开关微波信号识别的方法设计与单片机软件设计.doc(30页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)任务书题 目微波开关微波信号识别的方法设计与单片机软件设计学生姓名学号专业班级测控1班设计(论文)内容及基本要求微波开关信号识别是微波开关信号检测的主要部分。其内容包括微波幅度检测、低频信号检测、高频信号检测和分析判断等。在正确理解信号时序的基础上,设计信号识别的方法并设计单片机的实现软件。为此,本设计的主要内容包括:1、 通过查阅相关资料(至少三篇以上英文资料),撰写开题报告一篇。2、 了解微波开关系统的工作原理及相关时序。3、 编制识别方法的流程图。4、 设计单片机识别微波信号的软件。5、 从三篇以上英文资料中选择翻译1.5万字符的英文资料一篇。6、 撰写合乎规范要求的论文
2、一篇。设计(论文)起止时间2011 年 02 月 10 日 至 2011 年 06 月 10 日设计(论文)地点西安石油大学测控技术及仪器教研室指导教师签名年 月 日系(教研室)主任签名年 月 日学生签名年 月 日微波开关微波信号识别的方法设计与单片机软件设计摘 要:本文研究了一种微波开关对微波信号识别的方法。微波开关是利用波束障碍原理,当接收模块接收到微波信号经过滤波、放大、解调后,送予主控制板的控制芯片(MSP430F149)对得到信号的幅值、低频频率、高频频率等参数进行测量,并依据风险进行判决。信号的识别包括对信号幅值和频率的测量。幅值测量利用的是MSP430F149芯片的A/D转换模块
3、。选择适当的采样频率对模拟信号进行采样然后转换得数字信号并进行比较得到信号的最大值,进而完成幅值的检测;而频率测量主要利用MSP430F149芯片定时器的捕获、中断和比较功能,根据捕获上升沿和下降沿得到的时差计算信号的周期,然后再计算信号的频率。本文主要阐述了信号幅值、频率测量的流程图及频率测量的程序。关键字:微波开关;主控板;幅值;频率 The design of a recognition method on microwave signal and single-chip microcomputer softwareAbstract: This paper studies a micro
4、wave switch to microwave signal recognition method. Microwave switch is using the principle of the beam, when receiving module obstacles to receive microwave signal after filtering, amplification, demodulation, send to the main control board after the control chip (MSP430F149) to get the signal ampl
5、itude, low frequency and high frequency parameters, such as frequency measurement, and based on risk decision. The identifying including signal amplitude and frequency measurement. Amplitude measurements of the use of MSP430F149 chip is A/D conversion module. The choice of appropriate sampling frequ
6、ency to the simulation signal sampling and then changed the digital signal and get the maximum signal comparison, then completes the amplitude of the detection; And the main use frequency measurement MSP430F149 chip of the timer interrupt capture, and compare features, according to capture rise and
7、decline of the get along the time difference of the cycle, and then calculated signals to calculate the frequency of the signal. This article mainly expounds the signal amplitude, frequency measurement of the flow chart and frequency measurement program.Keywords : Microwave Switch;the control chip;t
8、he amplitude; frequency目 录1 绪论11.1课题的意义11.2课题背景、国内外研究现状及发展趋势11.2.1 课题背景11.2.2 国内外研究现状21.2.3 发展趋势22 微波开关对信号频率和幅值的检测32.1 微波开关的结构与原理32.2 微波开关各模块结构32.2.1 微波开关的发射模块32.2.2 微波开开关的接收模块42.2.3 微波开关的主控板模块42.3 MSP430 F149的结构与功能62.3.1 MSP430 F149语言介绍62.3.2 指令介绍62.3.3 中断介绍及存储器段介绍72.3.4 硬件乘法器82.3.5 P口92.3.6 定时器及数模
9、转换102.3.8 USART通信模块132.3.9 比较器模块132.3.10 模数转换模块142.4 信号幅值和频率的检测152.4.1 幅值的检测152.4.3 频率的检测173 电路板实验数据及出现的问题203.1 接收板电路调试实验数据203.2发射电源板调试实验数据214 结论23毕业小结24参考文献25致 谢261 绪论1.1课题的意义我国电石工业经过60多年的发展,已经成为重要的基础化工原料产业。近年来,在下游需求不断增长的带动下,国内电石产能快速扩张。但是我国电石行业起步比较晚,很多企业仍以开放炉和半封闭炉作为生产技术方式,这种生产方式具有自动化水平低,生产能耗大,生产效率很
10、低,工人劳动强度大,生产环境差,存在较大的安全隐患等缺点1。因此,从近几年电石行业的发展趋势可知,密闭电石炉必将成为当今发展的主流,主要原因是密闭电石炉能实现安全、稳定、高效生产且炉气能回收利用。在电石生产中使用大型全密闭电石炉技术,生产原料动态地存在于密闭电石炉中,从上面进料下面出料。在生产工艺中,加料是否合理直接关系到生产成本高低,如果操作不当极易引起设备故障,甚至酿成严重的生产事故,所以必须对电石炉的物料实施严格的控制,既不允许太满,以免溢出,浪费资源,也不允许放空,导致故障。因此在电石生产中采用大型全密闭电石炉技术,对物料位的监测控制是一种关键的技术。本文所涉及的微波开关利用非接触式的
11、特点则很好地解决了全密闭电石炉的物料位检测问题,而微波信号的识别更是判定物料有无的关键所在。1.2课题背景、国内外研究现状及发展趋势1.2.1 课题背景自20世纪70年代至今,在高端卫星通讯系统到低端广播系统,军用雷达系统到民用个人通讯系统等各种射频/微波/毫米波应用领域。最早的微波开关采用几点结构实现,随着固态无源和有源器件制造工艺技术发展和成熟,高性能高速度的固态微波开关逐渐至全面代替了几点是开关。第一个固态PIN二极管微波开关诞生于1965年,与传统机电微波开关相比,基于PIN的开关显著增强了开关的微波性能,降低了开关体积,提高了开关的速。采用混合微波集成电路技术较易实现PIN二极管微波
12、开关,使其广泛应用于通讯、雷达等电子系统中。PIN二极管能提供更快的开关速度,能处理较大功率的射频微波信号。但PIN二极管的偏置在开状态时要求很高的前向电流,在关状态是需要较大的反向直流偏置电压,微波开关的性能极度依赖于PIN二极管本身的微波特性,使其实际应用领域受限制。在20世纪80年代,场效应晶体管技术的成熟及FET微波开关面世,FET逐渐取代了PIN二极管成为主流的开关器件,特别在低中应用领域。与PIN二极管微波开关相比,以GaAs FET为基础的微波开关具有简化的偏执网络,几乎可以忽略的直流功耗,简单的驱动电路,超高速的开关速度等固有优点。基于FET的微波开关易于微波单片电路集成,从而
13、在一个几平方毫米芯片上实现更多功能。1.2.2 国内外研究现状从近几年电石行业的发展趋势可知,密闭电石炉必将成为当今发展主流,主要原因是密闭电石炉能实现安全、稳定、高效生产且炉气能回收利用。在电石生产中使用大型全密闭电石炉技术,生产原料动态地存在于密闭电石炉中,从上面进料,下面出料。在生产工艺中,加料是否合理直接关系到生产成本的高低,如果操作不当极易引起设备故障,甚至酿成严重的生产事故,所以必须要对电石炉的物料量实施严格的控制,既不允许太满,以免溢出,浪费资源,也不允许放空,导致故障。微波开关很好的解决了这一问题,所以它必将得到广泛的应用。1.2.3 发展趋势微波开关开关芯片发展至今,无论是器
14、件还是开关性能都取得了巨大的进步。FET开关器件最早的MESFET,到HJFET、HEMT,器件性能逐渐提升,伴随设计方法改善、新设计技术出现,是的开关性能提升相当明显。开关工作波段从最早的L、S射频段,发展到X、Ka为微波段,到现在工作在Q、V、W毫米波段,开关带宽从最早的2GHz左右的窄带,发展到90年代左右40Hz的宽带,再到21世纪的120GHz的超宽带,取得显著提高;目前高功率开关的核心器件依然是PIN二极管,但随着半导体制造技术的发展,对GaN、SiC、高温宽能带半导体材料来说,、功率也不会市场效应管的弱项了,未来场效应管开关芯片可以承受较高的功率。由于开关频段不同,隔离度与插入损
15、耗等开关性能无法明确比较,但他们是衡量开关性能的重要指标,一直在得到提高,还出现了专门的实现地插入损耗、高隔离度的技术;速度是FET开关优势所在,出现亚纳秒级的超速开关;收到现在通讯高集成度的需求开关芯片的面积一直在缩小。未来毫米开关将沿着体积小、重量轻、成本低的单片机MMIC技术方向发展,在更高、更宽频段获得更好性能。2 微波开关对信号频率和幅值的检测2.1 微波开关的结构与原理本文所研究的微波开关采用了波束障碍的工作原理。即当微波束从发射器传送到接收器,接收器对接收到得信号进行滤波、放大,然后通过A/D转换传输给主控制模块,控制模块通过检测接收到波形的有无来判断发射器和接收器之间是否存在物
16、料,从而可以给PLC系统或SCADA系统提供相应的继电器状态,实现了物位监测的目的。智能微波开关的总体框图如图2-1所示,在稳定电源供电情况下,发射模块调制好本系统所需的微波信号,通过发射天线发送,接收天线接收信号,经接收模块进行滤波、放大,调理后的信号经主控制模块进行检测3。发射模块主控制板模块接收模块微波束电源模块电源模块图2-1 微波开关总体框图2.2 微波开关各模块结构2.2.1 微波开关的发射模块微波开关的发射模块基本结构框图如图2-2所示,所示,其中,低频信号通过一个基于555芯片的振荡电路形成,频率为37HZ-48HZ。而高频信号的产生则通过低频信号接入一个施密特触发器来实现,频
17、率为20KHZ。通过高频的信号来控制一个开种信息的间歇式微波发射信号,然而通过喇叭天线把信号发射出去。高频信号电源射频振荡器低频信号施密特触发器MOS管图2-2 微波开关发射模块基本框图2.2.2 微波开开关的接收模块微波开关的接收模块的基本结构框图如图2-3所示,发射过来的微波束被喇叭天线及高频振荡接收器所接收,然后对接收到的信号进行滤波、前置放大,并分3路进行解调,一路经整形、滤波、放大得幅值信号,另两路分别解调得到高频信号,低频信号。2.2.3 微波开关的主控板模块本文所研究的微波开关选用TI公司的MSP430F149作为主控制芯片。微波开关的主控制模块的硬件设计基本组成如图2-4所示。
18、通过JTAG接口给单片机下载程序,单片机实时的处理接收模块调理后的信号,通过对接收到信号的幅值、低频频率、高频频率的交互检测,判断出发射和接收之间是否有物料的存在,通过LED灯来显示目前物料有无的状态并且改变继电器的状态,完成物料检测的功能。另外,单片机可以与上位机机通信完成幅值的显示、信号频率的显示、微波开关SN号得烧写等多种功能。MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,使它得到广泛应用。它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两
19、个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备4。 喇叭天线、高频振荡接收器滤波前置放大整形、滤波、放大高频信号解调2低频信号解
20、调1幅值信号图2-3 微波开关接收模块结构框图 上位机通信JTAG接口继电器CPU(单片机)实时时钟LED显示低频信号电源高频信号幅值被测信号图2-4 微波开关的主控制模块2.3 MSP430 F149的结构与功能2.3.1 MSP430 F149语言介绍程序下载原理及脱机工作原理:程序的在线调试是通过JATG口和F149片子的 RST、TCK、TDI、TDO、TMS引脚按一定的时序串行的传递程序代码和数据的,调试指令的命令传递都是通过这些数据线和控制线传递的,下载时序可参见资料1,其中的地址0FFFEH为复位向量的地址,它是程序遇到非屏蔽中断和程序启动的首要地址,地址中存放的是程序段开始的首
21、地址,因此必须把程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则,连接时将会出错,具体的表示方法在下一节中表示。程序的下载和在线调试的电源是通过计算机在JATG提供的,不须另外给加电源。 脱机工作时,是将F149的电源线上电,此时的复位时序同下载后在线复位的时序一样,只是时钟是通过F149内部时钟DCO提供的,上电后,程序将复位向量0FFFE中的地址装入PC,PC开始从程序段的首地址开始执行。脱机工作启动不需要任何操作,只需上电即可,电压要大于1.8v,一般取3v左右,另外,在脱机工作时,可以给RST端口加一个低电平脉冲以复位从程序开始重新执行。2.3.2 指令介绍 MSP430
22、有自身语言,汇编语言也不同于其他类型的单片机,但又很重要,下面是一些具体指令的介绍: 1.“#include” 不能大写。 2.程序段前的伪指令可以套用下列模板,在以后的几章中的程序都采用此模板,只是中间的主程序变化而已: #include MSP430x14x.h /*把库文件包括进来 ,这个库文件是必须的,其他的库文件视需要而定*/ RSEG UDATA0 /*定义数据段一般默认数据段段地址是从0200H开始的也可以自己定义数据段开始地址,但必须在0200H到09FFH*/ DS 0 /*表示数据段从默认的段开始,偏移地址为0,若为DS N,表示数据段的偏移地址从N开始,此时的物理地址为(
23、0200+N)H*/ ADINPUT EQU 00200H /*将0200H地址命名为ADINPUT,此后程序中的地址0200H 可以用ADINPUT表示,便于程序的可读性,注意:标号必须顶格写*/ A DW 5H /*定义A字变量的值为5H,此时将会将5H写到数据段的当前偏移地址上,便于后面使用,变量也得顶格写*/ RSEG CSTACK /*定义堆栈段*/ DS 0 /*段偏移值为0H,物理地址为默认开始地址值*/ RSEG CODE /*定义代码段1*/ DS 0 /*代码段1*/ RESET /*标号,表示程序段的开始地址,将被写入复位向量中*/ MOV #SFE(CSTACK),SP
24、 /*初始化堆栈指针*/ MOV #(WDTHOLD+WDTPW),&WDTCTL /*停止看门狗定时器*/ (程序段的内容) COMMON INTVEC /*表示中断向量定义*/ /*下面的伪指令都不顶格*/ ORG XXX 1 / *XXX1表示中断向量表中的具体的中断向量1*/ DW YYY1 /*YYY是中断程序入口标号,表示中断程序首地址*/ ORG XXX2 /* XXX2 表示中断向量表中的具体的中断向量2/ DW YYY2 /*YYY2是中断程序入口标号,表示中断程序首地址*/ ORG RESET_VECTOR /*复位向量,每个程序中都必须的,可以放在段开始前的伪指令中*/
25、DW RESET /*程序开始的地址标号*/ END /*程序结束*/ 3.下面是几个要注意的规定:所有的标号都要顶格写,所有的变量都要顶格写,所有的伪指令和指令都不能顶格写,CALL调用子程序是在标号前用“#”,而其他的转移指令中的标号前不用“#”,对外设的寄存器,当程序开始时,许多是复位为零的,如果要置位为1,可以直接将每一位的名称作立即数写入,例如:指令MOV #(WDTHOLD+WDTPW),&WDTCTL 就是将WDTCTL寄存器中的WDTHOLD和WDTPW位置位为高,很容易读程序内容。 4关于几类定义的区别:EQU、=、SET、VAR、ASSIGN都是给标号变量定义地址值的伪指令
26、,都可以出现在程序中的任何位置,但用法不一样,= 、EQU 是定义一个永久地址标号变量,一旦定义,在程序中的这个标号将固定在定义的地址上,不能改动。而SET、VAR、ASSIGN是暂时的地址标号变量,可以在程序中改动,一旦定义了一个标号地址,就可以对这个标号作地址访问,但必须是在数据段。另外,DB 、DW是定义变量在数据段当前的偏移位置,是作为数据定义的,不是作为地址定义的,例如: AA DB 2H /*此时在数据段的当前位置写入了2H到存储器,以后用AA时就是用数据2H,注:AA顶格写*/可以在以后的程序中看到这些区别5。其他的指令和伪指令都可以在相关资料上查找到,以上是经常出现的问题,一般
27、核心程序中的指令在语法上都不会有太大的问题。2.3.3 中断介绍及存储器段介绍 中断在MSP430中得以广泛的应用,它可以快速进入中断程序,之后返回中断前的状态,其时序为:PC执行程序中断允许置位 SR中的GIE置位 EINT(中断开) 中断到,中断标志位(IFG)置位从中断向量表中读取中断程序的入口地址,进入中断程序 执行中断程序 中断允许位复位 RETI中断返回回到原来地址。具体应用将会在应用程序中的到应用。MSP430单片机的片上存储器共为64K,表示为表2-5:表2-5 单片机的存储器对存储器的访问可以用间接寻址,这对于查表处理很方便,在此举一例子: 是对存储段200H的100个数的读
28、取和操作。 MAIN MOV #0200H,R6 /*从200H地址开始读出数据到R5中,可以加许多对R5(即数据段的内容)进行操作的 程序*/ MOV #100,R4 /*设取100个地址单元*/ LOOP1 MOV.W 0(R6),R5 /*间接寻址模式*/ ADD #2,R6 / *是字操作*/ ;. / *可以加对取出的数的操作*/ MOV.W R5,0(R6) / *操作完后再放回原地址*/ SUB.B #1,R4 /*循环100次*/ CMP #0,R4 JNZ LOOP1 实验结果为:可以从R5中看到数据存储器从200H开始的100个数值,在操作完后,可以在200H开始存储器中看
29、到操作后的结果满足要求。2.3.4 硬件乘法器 硬件乘法器不集成在CPU内,是独立于CPU运行的,运算时只需将两个操作数放进相应的地址中,就可以直接在结果寄存器中取数据,CPU可以工作在低功耗模式,如果用间接寻址模式,可以超低工耗的乘法计算大量的表数据,这儿列举一个例子,其他的几种情况类似于此:下面为有符号数(由第一个乘数决定类型)的乘法程序的部分 MOV #138H,R4 /*乘数2的地址为138H,这儿用间接寻址方式*/ MOV #-45H,&MPYS /*装第一个有符号乘数的数值入地址,第一个乘数MPYS决定了*/ MOV #35H,0(R4) /*装第二个有乘数的数值入地址*/ MOV
30、 RESLO,R5 /*结果低字送入R5中取出*/MOV RESHI,R6 /*结果高字送入R6中*/ MOV SUMEXT,R7 /*结果扩展送入R7中*/ 实验结果为可以在R7、R6、R5中看到-45*35的结果为FFFFFFFFF1B7H,结果正确。硬件乘法器的软件限制可见参考资料1,建议做乘法之前关掉中断6。2.3.5 P口 MSP430F149有6个8位的P口,其中P1、P2口占两个中断向量,共可以接16个中断源,还可以直接利用P口的输入输出寄存器,直接对外进行通信。因为所有的P口都是和其他外设复用的,因此在用端口之前都要用功能选择寄存器选定所用的功能是外设还是P口,选定之后还要在方
31、向寄存器中确定是是输出还是输入,我实验了一个程序,前部分是实现中断功能的程序,后部分为中断程序是实现直接用P口对外提供一个短脉冲的程序,在我们设计的开发板中,专门利用了P口的输入输出功能对外存24WCXX和实时时钟芯片8563的数据通过的存取I2C总线的读取和写入。还利用了P口向电池充电的开启电路。下面是个例子: 例:利用P口的中断功能实验: 。 MAIN MOV #SFE(CSTACK),SP /*初始化堆栈指针*/ MOV #(WDTHOLD+WDTPW),&WDTCTL /*停看门狗定时器*/ LOOP2 BIS #GIE,SR /*普通中断允许*/ EINT /*开中断*/ MOV.B
32、 #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 #0
33、00H,&P1OUT /*将P1.0口置低,发光二极管灯灭*/ RETI /*中断返回*/ COMMON INTVEC /*列中断向量表*/ ORG PORT1_VECTOR DW LOOP1 /*中断向量的入口地址为LOOP1*/ END 实验结果为:在运行中,当给P1.1口一个高电平时,PC装入中断程序的地址LOOP1,进入中断程序段,P.0口被置高,此时发光二极管灯亮,两个指令周期之后灯灭,此后又返回中断前的地址开始执行,等待下一次中断的到来7。2.3.6 定时器及数模转换 MSP430中有两个16位定时器,还可以利用看门狗定时器。由于定时器的是16位的,则可以在秒数量级上定时,且具有2
34、个中断向量,便于处理各种定时中断。定时器的应用在F149中具有举足轻重的作用,可以利用MSP430F149中的定时器的比较模式产生PWM(数字脉冲调制)波形,再经过低通滤波器产生任意函数的波形,也就是说,可以通过定时器的比较模式实现数模转换功能。另外,定时器还具有捕获模式,可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量,如果和比较器结合,还可以测量电阻、电容、电压、电流、温度等,可以这样说,只要能通过传感转换为时间长度的,都可以通过定时器的捕获定时功能实现值的测量。在开发板中,利用定时器,我们设计了一个PWM滤波输出的函数发生器。另外,我们还利用定时器的捕获功能和比较器的比较功能测电阻
35、和电容。下面是比较器测电阻的实验程序和时序: 程序和设计流图为图2-6所示:初始化定义各P口功能用P口给电容充电比较器开始工作定时器开始定时开始放电至捕获电压进入中断程序,读捕获的时间计算时间,再重复测量计算图2-6 设计流程Reset MOV #SFE(CSTACK),SP /*初始化堆栈指针*/ MOV #(WDTHOLD+WDTPW),&WDTCTL /*停看门狗定时器*/ MOV #GIE,SR /*一般中断允许*/ MOV.B #004H,&P1SEL /*定义定时器A的A1作捕获输入*/ MOV.B #000H,&P1DIR /*定义端口方向为输入型*/ MOV #0FFFFH,&
36、CCR0 /*规定定时器的最大计数值为FFFFH*/ MOV #000H,&CCR1 /*给捕获初始值为0*/ MOV.B #004H,&P2DIR /*比较器的两个比较口为输入,输出口为输出型*/ MOV.B #01CH,&P2SEL /*定义了端口为比较器功能*/ MOV.B #0FFH,&P3DIR /*定义P3口输出一个高电平给电容充电*/MOV.B #000H,&P3SEL /*选择P口的功能*/ MOV.B #0FFH,&P3OUT /*输出给电容充电*/ EINT /*开中断*/ LOOP1 MOV.B #00CH,CACTL1 /*确定比较器的输入0口为外参考电压,这实验中为电
37、容上的电压*/ MOV.B #00FH,CACTL2 /*确定比较器的输入1口为外参考电压,这实验中为捕获时刻电压,由外电源提供,可变的,根据电阻和电容而定*/ MOV #08930H,&CCTL1 /*定时器A 的A1口的CCR1为捕获寄存器*/ MOV #002D2H,&TACTL /*写控制寄存器,定时器开始计数*/ MOV.B #000H,&P3DIR /*电容放电,等待放电电容上的电压降到捕获电压发生中断,此时的 CCR1中值为放电时间比例值*/ JMP LOOP1 CCR BIC #0FF0FH,&TACTL /*停定时器*/ MOV &CCR1,R5 /*从R5中看定时器的值,还
38、可以送到I/O口上*/ JMP CCR /*程序结束*/ COMMON INTVEC ORG TIMERA1_VECTOR DW CCR /*捕获中断向量*/ ORG RESET_VECTOR DW Reset END实验结果跟参考资料的充放电波形一样, 电容两端电压波形如图2-7:图2-7 电压波形计算电阻公式为:R测=R参*(N测/N参) (其中,N代表捕获的计数值) 由以上事例实验可得:电容必须选择得当,若太大可能定时器溢出中断而不是捕获中断,太小,则会为各电容的放电时间差不多,误差太大。捕获电压也必须得当,太大,可能定时时间太小,误差太大,太小,放电时间太长,可能溢出中断而不是捕获中断
39、.这实际是一个使用范围的问题,由于DCO的频率太高,定时器的计数太快,如果定时器的频率低,采用大电容,则使用范围会更大一些,精度更高一些。另外,可以用比较器和定时器的捕获用同样的原理测电容及其他的可以转换为时间的传感问题,这在实际应用中有更广泛的用途。2.3.7 时钟模块 MSP430F149的时钟可以自由选择,它包括一个内部DCO时钟和另外两个外部时钟,内部时钟的参数见参考资料1,其中最高可达到1042KHZ;外部可以接两个时钟,一个可接钟表晶振或标准晶振,另一个接最高时钟频率为8MHZ的晶振,8M是单片机的最高工作频率,对于晶振的选择,在参考资料一上介绍的很清楚,在此不在重复,对基础时钟的
40、控制,只需要对相应的控制寄存器写入相应的控制位就可以产生需要的时钟,还可以从相应的端口测的时钟频率,我们做了一个实验,是控制内部时钟的,可以从149的端口上测的相应的频率,只要开启时钟频率之后,时钟就继续存在到写入停止为止。2.3.8 USART通信模块通用串行同步异步通信模块是为了使MSP430F149多机通信用的,通过USART口连接RS202和RS485的驱动芯片可以实现单片机与计算机及其他的工作电平的匹配串行通信,由于MSP430F149具有两个通信口,因此可以分别用于RS202和RS485的串行通信。MSP430有同步和异步两种方式,每一种方式都有独立的帧格式和控制寄存器,只需要按照
41、需要和帧格式写入相应的寄存器就可以实现多机通信。由于MSP430的波特率产生比较自由,因此异步通信模式用的比较多,在毕业设计中,只实验了异步通信模式,在异步通信模式中,MSP430的波特率的产生有很独特的方式,可以实现多种波特率的产生,可以克服其他单片机的波特率受限的缺点。另外,在异步模式中,又根据需要分为线路空闲多机模式和地址位多机模式,如果只是两机通信,线路空闲比较多,用线路空闲多机模式比较好,由于MSP430的波特率发生器比较特别,在此,要着重讨论一下波特率发生器。波特率发生器是用波特率选择寄存器和调整控制寄存器来产生串行数据位定时.。波特率=BRCLK/(UBR+(M7+M6+M5+M
42、4+M3+M2+M1+M0),其中BRCLK为晶振频率,UBR为分频因子的整数,即晶振频率除以波特率的整数部分,而M7,M6,M5,M4,M3,M2,M1,M0分别为调整位,是分别写在UMCTL中的,如果置位,则对应的时序时间只能波特率分频器的输入时钟扩展一个时钟周期,每接受或发送一位,在调整控制寄存器的下一位被用来决定当前位的定时时间。协议的第一位的定时由URB加上M0决定,下一位由UBR加上M1决定,以后类推。而调整位取“0”还是“1”,取决于当前的分频因子与需要的分频因子的差距,如果大于0.5取“1”,如果小于0.5取“0”。2.3.9 比较器模块 比较器的应用在MSP430中很广,可以
43、做为可转换为电压的量的测量,这在参考资料中有很详细的说明,如果加上定时器的捕获功能,比较器的用途会更广,由于比较器的应用在定时器一章已有实验证明,在此不在多述,但有几点必须说明。 1. 比较器属于硬件型的,虽然很准确,但由于有软件的控制,造成的时间误差可能很大。因此存在一段时间的振荡,这造成测量的误差大,不能很精确。2. 比较器的参考电平很方便,可以都自由加,但不能超过片子的最高电压3.3V ,否则不能正常工作。比较器的应用还很多,可以很放心的用,在本设计中,有比较器的输入端口,还加了电阻和稳压和嵌位的二极管对在高压和负压时的芯片保护。2.3.10 模数转换模块 MSP430F149单片机中集
44、成了14路12位A/D转换,其中8路属于外部的信号转换,3路是对内部参考电压的检测转换,1路是接温控的传感电压转换,每一路转换都有一个可控制的转换存储器,而且,参考电平和时钟源都是可选择的,可以外部提供的,这给使用上带来了很大的灵活性。原理上不同于一般积分和逐次比较等A/D转换原理,它的输入信号是加在A/D的电容网络上的,通过电容的充电来采样信号进行A/D转换的。其时序可以归纳为图2-8:输入信号,开始采样时序写结束采样控制位,开始转换下次转换转换结束延时到采样结束选择通道模式,参考电平,时钟源,分频因子及中断源图2-8 A/D转换流程图A/D转换的时序和具体的一些注意事项和参数有很多,但有几点必须注意的地方:1.由于MSP430F149是采用加载信号到电容上充电的采样,因此必须要给一定的采样时间以能到达一定的精度和时间的不溢出,否则会出现时间溢出的中断。据测定其采样开始之后需要13个ADC12CLK周期延时。在实验时是采用的单步才能比较精确的测量,在全速时需要延时才能测量,否则采样结果为0。 2.在采样结束和转换的开始需要一个控制过