收藏 分享(赏)

北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc

上传人:精品资料 文档编号:9751022 上传时间:2019-09-01 格式:DOC 页数:29 大小:3.98MB
下载 相关 举报
北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc_第1页
第1页 / 共29页
北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc_第2页
第2页 / 共29页
北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc_第3页
第3页 / 共29页
北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc_第4页
第4页 / 共29页
北京邮电大学课设 基于MSP430的简单信号发生器的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、基于 MSP430 的信号发生器设计报告学院:电子工程学院班级:2013211212组员:唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)指导老师:尹露课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)1 / 29一、摘要信号发生器是电子实验室的基本设备之一,目前各类学校广泛使用的是标准产品,虽然功能齐全、性能指标较高,但是价格较贵,且许多功能用不上。本设计介绍一款基于MSP430G2553单片机的信号发

2、生器。该信号发生器虽然功能及性能指标赶不上标准信号发生器,但能满足一般的实验要求,且结构简单,成本较低。本次需要完成的任务是以 MSP430 LaunchPad 的单片机为控制核心、DAC 模块作为转换与按键电路作为输入构成的一种电子产品。MSP430 LaunchPad 单片机为控制核心,能实时的进行控制;按键输入调整输出状态,DAC0832 将单片机输出的数字信号转化为模拟量,经运放放大后,在示波器上输出。在本次程序设计中充分利用了单片机内部资源,涉及到了中断系统、函数调用等。关键字:信号发生器 MSP430 单片机 数模转换二、设计要求以 msp430 单片机为核心,通过一个 DA(数字

3、模拟)转换芯片,将单片机输出的方波、三角波、正弦波(数字信号)转换为模拟信号输出。提供芯片:msp430G2553、DAC0832、REF102、LM384、OP07 。参考框图如下:LauchpadMSP430电 位 器按 键 1DA转 换DAC0832 放 大 输 出LM384按 键 N按 键 2AD图 1 硬件功能框图1、基本要求(1) 供电电压 VDD= 5V12V;()(2) 信号频率:5500Hz(可调) ;()(3) 输出信号电压可调范围:0.5*VDD,直流偏移可调:0.5*VDD ;()(4) 完成输出信号切换;()(5) 方波占空比:平滑可调 20%80%;()(6) 通带

4、内正弦波峰峰值稳定度误差:10%(负载 1K) 。 ()课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)2 / 292、发挥部分(1) 信号频率:52000Hz(可调) ;()(2) 多通道同时输出同频正弦波,方波,三角波。 (频率可调) ;(3) 输出频率与幅度可调的正弦波与余弦波,相位误差5 度;(4) 自由发挥。三、实验器材MSP430G2553 单片机(Texas Instrument) ;DAC0832 模数转换芯片;REF102 高

5、精度电压基准;OP07 运算放大器;阻值不同的电阻及电位器若干;电容若干;导线若干。1、 MSP430G2553 单片机TI 的 MSP430G2 系列 Launchpad 开发板是一款适用于 TI 最新 MSP430G2xx 系列产品的完整开发解决方案。其基于 USB 的集成型仿真器可提供为全系列 MSP430G2xx 器件开发应用所必需的所有软、硬件。LaunchPad 具有集成的 DIP 插座,可支持多达 20 个引脚,从而使 MSP430 Value Line 器件能够简便地插入 LaunchPad 电路板中。此外,其还可提供板上 Flash 仿真工具,以直接连接至 PC 轻松进行编程

6、、调试和评估。此外,它还提供了从 MSP430G2xx 器件到主机 PC 或相连目标板的 9600 波特率的 UART 串行连接。MSP430G2 系列 Launchpad 开发板的特性:(1)USB 调试与编程接口无需驱动即可安装使用,且具备高达 9600 波特的 UART 串行通信速度;(2)支持所有采用 PDIP14 或 PDIP20 封装的 MSP430G2xx 和 MSP430F20xx 器件;(3)两个按钮可实现用户反馈和芯片复位;(4)器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板。(5)由此易知,MSP430 单片机将用于系统的控制部分。2、 DAC08

7、32 模数转换芯片DAC 模块主要由 DAC0832 和 OPA227PA 运算放大器组成。DAC0832 是 8 分辨率的D/A 转换集成芯片。与微处理器完全兼容。这个 DA 芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。其主要参数如下:(1)分辨率为 8 位;(2)电流稳定时间 1us;(3)可单缓冲、双缓冲或直接数字输入;课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)3 / 29(4)只需在满量程下调

8、整其线性度;(5)单一电源供电(+5V+15V) ;(6)低功耗,20mW其引脚功能如下:(1)D0D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁存器的数据会出错) ;(2)ILE :数据锁存允许控制信号输入线,高电平有效;(3)CS :片选信号输入线(选通数据锁存器) ,低电平有效;(4)WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由ILE、CS、WR1 的逻辑组合产生 LE1,当 LE1 为高电平时,数据锁存器状态随输入数据线变化换,LE1 的负跳变时将输入数据锁存;(5)XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于 5

9、00ns)有效;(6)WR2:DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。由WR2、 XFER 的逻辑组合产生 LE2,当 LE2 为高电平时,DAC 寄存器的输出随寄存器的输入而变化,LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并开始 D/A 转换。(7)IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化;(8)IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数;(9)Rfb:反馈信号输入线,改变 Rfb 端外接电阻值可调整转换满量程精度;(10)Vcc:电源输入端,Vcc 的范围为+5V+15V;(11)VREF:基准电压输入线,V

10、REF 的范围为-10V +10V;(12)AGND:模拟信号地;(13)DGND:数字信号地3、 REF102 高精度电压基准REF102 是高精度 10V 电压基准集成电路。由于 REF102 无需外加恒温装置,因而功耗低、升温快、稳定性好、噪声低。REF102 的输出电压几乎不随供电电源电压及负载变化。通过调整外接电阻,输出电压的稳定性及温度漂移可降至最校 11.4V 至 36V 的单电源供电电压及优异的全面性能使 REF102 成为仪器、A/D、D/A 及高精度直流电源应用的理想选择。REF102 的特点:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :20

11、13211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)4 / 29(1)高精度输出:+10V 0.0025V(2)超低温度漂移:2.5ppm/(3)高稳定性:5ppm/1000 小时(典型值)(4)高负载调整率:1ppm/V ,10ppm/mA(5)宽供电电压范围:11.4VDC 至 36VDC(6)低噪声(7)低静态电流:1.4MaREF102 的引脚:(2)为芯片电源脚,电压范围是 11.4V36V;(4)为公共引脚;(5)为外接调整电阻脚,调整输出电压稳定度及温度漂移;(6)为输出引脚;(8)为输出噪声衰减。4、 OP07

12、 运算放大器OP07 芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电路。由于 OP07 具有非常低的输入失调电压(对于 OP07A 最大为 25V ) ,所以 OP07 在很多应用场合不需要额外的调零措施。OP07 同时具有输入偏置电流低(OP07A 为2nA)和开环增益高(对于OP07A 为 300V/mV)的特点,这种低失调、高开环增益的特性使得 OP07 特别适用于高增益的测量设备和放大传感器的微弱信号等方面。OP07 芯片引脚功能说明:1 和 8 为偏置平衡( 调零端),2 为反向输入端,3 为正向输入端,4 接地,5 空脚 6 为输出,7 接电源。课程设计报告基于 MSP430

13、 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)5 / 29四、硬件电路设计1、 整体设计思路方案一:控制部分由 MSP430G2553 实现,波形产生采用单片压控函数发生器(MAX038 等) ,可同时产生频率可控可变的正弦波、三角波、方波。优缺点:简单易行,采用专用芯片,系统体积大大减小;但频率步进的步长很难控制,并且整个设计中 MSP430G2553 仅完成简单的控制功能,资源没有充分利用。方案二:由 MSP430G2553 实现对专门的 DDS 芯片( 如 AD98

14、50)的控制,产生各种波形。优缺点:此方案产生波形的频率稳定度高,易于程控。但 DDS 芯片价格高,系统成本高。方案三:由 MSP430G2553 结合 DAC0832 实现各种波形的产生。优缺点:此方案可以充分利用 MSP430G2553 上的资源,降低系统成本,但是产生波形频率较低。综上,方案三充分利用 MSP430G2553 的资源,外围电路简单、系统成本较低,可以满足信号发生器的要求,所以最终采用方案三。2、 硬件控制模块这次试验共有三个按键输入,分别作为切换波形,加频,减频。一个滑动变阻器作为占空比的调节,一个作为幅度的调节,一个作为直流偏置的调节。按键直接采用分压法给一个高电位,当

15、按下去的时候相当于接地也就输出了低电平。占空比的调节在于分压法,让滑动变阻器所占电压在 02.5 伏,从而输给芯片产生相应的占空比,再输出。3、 DAC0832 的模块其八位数据输入接 MSP430 的八位数据输出,通过 Iout1 端口输出。使能端与 430 相连,电源接 12V。Iout2 接地, f 不接。4、 放大模块课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)6 / 29采用了反向放大电路,电源输入电压是 12 伏,放大了 5 倍

16、左右。同时在放大电路前并联一个滑动变阻器 100K,通过它来调节整个 DAC 对应的输出负载电阻,也就可以达到改变电压的幅度的目的。效果如下(由于该方波是 2KHz 的方波,频率较高因此边沿看上去不垂直):5、 直流偏置采用反向加法电路通过改变直流的接入电阻调节直流电压的大小。图如下,u1 为放大之后的输入,u2 为-12 伏的电压。 R1,3,6 都是 5K 的电阻, R2 位 100k 的电位器。则Uout1=12*5/R2-U1,这就达到了直流偏置的效果。课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(20122110

17、69)王旭东(2013211134)李务雨(2013211138)7 / 29效果见下图:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)8 / 29课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)9 / 29五、 软件程序设计1、 设计指标与功能(1)波形产生和切换。正弦波、三角波和方波依次切

18、换,采样点均为 100 个。(2)频率调节。从 5Hz 到 2000Hz 可调,步进 5Hz,一共 400 个有效频率点。(3)占空比调节。从 20%到 83%平滑可调,使用 ADC10 连续采集滑动变阻输出电压实现。2、 软件模块介绍(1) 变量及宏定义#define SWITCH_SIG_TYPE (BIT0) /P1.0#define ADD_FREQ (BIT1) /P1.1#define SUB_FREQ (BIT2) /P1.2#define DAC_WR (BIT3) /P1.3#define ADC10_IN_PORT (BIT4) /P1.4#define P1_IN_POR

19、TS (SWITCH_SIG_TYPE + ADD_FREQ + SUB_FREQ + ADC10_IN_PORT)#define P1_OUT_PORTS DAC_WR / 3:DAC WR#define P1_INTERRUPT (SWITCH_SIG_TYPE + ADD_FREQ + SUB_FREQ)#define P2_OUT_PORTS (0xff) / DAC data in#define TOTAL_SAMPLING_POINTS 100#define MAX_FREQ_STEPS 400#define ENABLE_WR_PORT P1OUT /当前的波形,0表示正弦波,1

20、是三角波,2 是方波int tccr0_now; /表示当前的计数初值uint ccr0_idx; /表示当前计数初值在表中的索引号uchar point_now; /表示现在采用点的索引值int duty_circle; /表示当前的方波高电平的点数,用于表示占空比。const long tccr0_tableMAX_FREQ_STEPS=32000, .,78, 75 ;/5-2000Hz 每隔 5Hz 频率对应的计数器初值表,一个 400 个频点。const uchar sin_dataTOTAL_SAMPLING_POINTS=.;/正弦值表,100 点。const uchar tri

21、a_dataTOTAL_SAMPLING_POINTS=.;/三角波值表,100 点。课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)10 / 29(2) 基本时钟系统MSP430x2xx 家族的单片机的基本时钟系统模块如下图所示:MSP430 有四个时钟源:LFXT1CLK、XT2CLK、DCOCLK 和 VLOVLK,系统时钟使用 BCSCTL1 寄存器设置。下面的初始化代码将系统的时钟时钟源设置为16MHz,DCO 的频率设置为 16MH

22、z。void init_DCO()BCSCTL1 = CALBC1_16MHZ;DCOCTL = CALDCO_16MHZ;上述的每一个时钟源都可以驱动时钟信号电路产生周期时钟信号,一共有三种独立的时钟信号,分别是 MCLK、SMCLK 和 ACLK,其时钟源可以任意指定。这些时钟课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)11 / 29由寄存器 BCSCTL2 设置。BCSCTL2 = SELM_1 + DIVM_0;/ SELMx 位置

23、 SELM_1,选择 MCLK 的时钟源为 DCOCLK,DIVM_0 分频比为 1BCSCTL2 / SELS 位为 0 表示将 SMCLK 的时钟源设置为 DCOCLK(3) 定时器 A定时器 A 是一个 16 位的计时器,有三种计数模式,可配置任意时钟源驱动,多种capture/compares 模式和寄存器。定时器 A 的工作模式如下表所示MCx 模式 工作方式00 Stop 停止计时01 Up mode 从 0 到 TACCR0 循环计数10 Continous mode 从 0 到 0FFFFH 循环计数11 Up/down mode 从 0 计时到 TACCR0 再回到 0 循环

24、定时器的计数模式和时钟源的选择由寄存器 TACTL 设置。定时器的中断的产生主要依赖 capture/compare 寄存器的设置。MSP430x2xx 家族一共有三套独立的 capture/compare 寄存器,可以独立产生中断。本程序使用的是连续计数模式,计数和中断产生方式如下图所示。本程序只是用了capture/compare 寄存器 TACCR0 和 TACTL0 产生中断。课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)12 / 2

25、9void init_timer_A0(void)TACTL |= TASSEL_2 + MC_2;/ TASSELx置 TASSEL_2选择SMCLK 作为时钟源,/ MC_2设置技术模式为连续模式TACCR0 = tccr0_now;/设置捕获/比较寄存器0 的初值TACCTL0 |= CCIE;/ 捕获/ 比较寄存器0的中断使能(4) 单片机 ADC10MSP430 的 ADC 是一个十位的模数转换模块,转换出的数字范围为 01023。转换值的计算公式为:ADC10 一共有两大类工作方式,第一种是直接转换方式,该模式主要的特点是转换后的数据直接存放在 ADC10MEM 寄存器中。第二种是

26、数据传输方式,主要特点是会将数据自动存放在内存中用户定义好数组中。在直接转换方式中又有四种模式:CONSEGx 模式 工作方式00 单通道单次转换 一个通道输入,只转换一次,下一次转换的触发需要用户手动设置。课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)13 / 2901 多通道顺序转换 多通道输入,每个通道依次转换一次,下一次转换的触发需要用户手动设置。10 单通道循环转换 一个通道输入,下一次转换的触发自动触发。11 多通道顺序循环 多个

27、通道输入,每个通道依次转换,下一次转换自动触发。ADC10 的中断可选择在数据在 ADC10MEM 里准备好后触发。本程序使用的是单通道单次转换,并且不设置 ADC10 中断,而是在主函数的 while(1)循环中手动处理采集数据的时序。之所以不采用中断模式是因为在 MSP430 中默认不能中断嵌套,当 ADC10 中断进入时,定时器中断就无法进入,从而影响定时器的精度,另外如果开启中断嵌套,那么中断处理将会更复杂,因此权衡考虑后选择该工作方式。这种方式下 ADC10 在主程序中执行转换和处理,而定时器中断可以按时进入,保证了定时器的精度。转换的流程如下图所示:ADC10 的参考电平可以有多种

28、选择,如下所示:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)14 / 29本程序选择的是第二种参考电平设置。其中 VREF+是 ADC10 内置的参考电平,将ADC10CTL0 寄存器的 REF2_5V 位置 1,表示该电平为 2.5V。Vss 是 MSP430 的 20 号引脚,将其接地,表示最低参考电平为 0。因此转换值的计算公式为 NADC=1023*Vin/2.5。初始化函数如下:void init_ADC10(void)ADC10

29、CTL1 |= INCH_4;/ A4通道,P1.4输入模拟值。ADC10CTL1 |= SHS_0;/ Sample-and-hold source select ADC10SCADC10CTL1 |= ADC10SSEL_3;/ 时钟源为SMCLKADC10CTL1 / 数据存储格式,表示使用ADC10MEM的低十位存储数据ADC10CTL1 |= CONSEQ_0;/ 单通道单转换模式ADC10AE0 = ADC10_IN_PORT;/P1.4输入模拟值ADC10CTL0 / 屏蔽中断ADC10CTL0 |= SREF_1 + ADC10SHT_0 + REF2_5V + REFON;/

30、 VR+ = 2.5V, VR- = Vss = 0/REFON开启内部参考电平ADC10CTL0 / REFOUT位置1会将参考电压输 出到P1.3 和P1.4上,不需要因此置0.ADC10CTL0 |= ADC10ON;/打开ADC10主程序循环如下,采集数据到占空比的转换算法为右移 4 位再加 20:while(1)ADC10CTL0 /关闭采样使能while(ADC10CTL1 /检测是否忙ADC10CTL0 |= ENC + ADC10SC;/打开采样使能,开始转换while(ADC10CTL1 /检测是否忙int adc_data = ADC10MEM;/读取数据课程设计报告基于

31、MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)15 / 29duty_circle =(adc_data 4)+20;/占空比限制在 20(20%)83(83%)之间/采集到的数据是01023/右移四位就是063/加20就是2083/总采样点数是100点/占空比就是20/100=20% 83/100=83% 之间(5) 端口 I/O 与中断MSP430 有 P1、 P2 一共十六个通用 IO 口。其功能分配如下端口 功能 I/O 方向P2.0 P2.7 输出

32、8 位数据到 DAC 输出P1.0 按键中断,切换波形 输入P1.1 按键中断,增加频率 输入P1.2 按键中断,减小频率 输入P1.3 DAC 的 WR 信号 输出P1.4 ADC10 的模拟输入口 输入主要初始化端口方向、功能以及中断,程序如下:void init_port_io(void)P2DIR = P2_OUT_PORTS;/ 设置输出端口P2.0P2.7P2REN =0x00;/ 不使用上/下拉电阻P2SEL =0x00;/ 端口的功能为IOP2SEL2 =0x00;/ 端口的功能为IOP1DIR / P1.0 P1.1 p1.2 p1.4输入P1DIR |= P1_OUT_PO

33、RTS;/ P1.3输出给DAC WRP1REN =0x00;P1SEL =0x00;P1SEL2 =0x00;void init_port_interrupt(void)P1IES |= P1_INTERRUPT;/相应位置1 表示下降沿触 发P1IE |= P1_INTERRUPT;/输入位中断使能P1IFG /清除标志位课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)16 / 29五、功能实现1、 波形输出及切换波形的输出主要靠定时器周期

34、性触发中断,然后将波形值数组中的值依次循环写到 P2上。流程图如下:波形切换靠按键中断以及改变波形类型标志变量 curr_signal_type 实现,流程图如下:获得如下结果:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)17 / 292、 频率调节波形的频率调节通过改变计时器初值 TACCR0 来实现,所需的频率计算公式为波频率 = CPU 时钟频率/(采样点数*定时器初值)流程图如下:为了能够使得频率可达到 2000Hz,需要适当减小采

35、样点数。在没有实现最大 2000Hz时,采样电视为 200 点,将点数减少到 100 点,并适当减小 DAC 的 WR 信号的宽度,以课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)18 / 29达到在更高速的情况下能够将数据写入 DAC。结果如下。产生 5Hz 的正弦波:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务

36、雨(2013211138)19 / 29产生 2.145KHz 的正弦波3、 占空比调节占空比的调节主要靠 ADC10 采集电位器输入电压并按照一定的算法算出高电平持续的点数 duty_circle 来表示占空比。采集转换的流程图如下相应的产生方波的逻辑为:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)20 / 2920%占空比:80%占空比:课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小

37、组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)21 / 29六、问题及解决方案1、 三角波和方波没有波形最开始三角波的每一个采样点的值是由程序计算出来的,程序如下所示:case 1:/triangleif (point_now #define SWITCH_SIG_TYPE (BIT0) /P1.0#define ADD_FREQ (BIT1) /P1.1#define SUB_FREQ (BIT2) /P1.2#define DAC_WR (BIT3) /P1.3#define ADC10_IN_PORT (BIT4) /P1.4#def

38、ine P1_IN_PORTS (SWITCH_SIG_TYPE + ADD_FREQ + SUB_FREQ + ADC10_IN_PORT)#define P1_OUT_PORTS DAC_WR / 3:DAC WR#define P1_INTERRUPT (SWITCH_SIG_TYPE + ADD_FREQ + SUB_FREQ)#define P2_OUT_PORTS (0xff) / DAC data in#define TOTAL_SAMPLING_POINTS 100#define MAX_FREQ_STEPS 400#define ENABLE_WR_PORT P1OUT 课程

39、设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)24 / 29int tccr0_now;uint ccr0_idx;uchar point_now;int push_key;int duty_circle;const long tccr0_tableMAX_FREQ_STEPS=32000,16000,10666,8000,6400,5333,4571,4000,3555,3200,2909, 2666,2461,2285,2133,2000,1

40、882,1777,1684,1600,1523,1454,1391,1333,1280,1230,1185,1142,1103,1066,1032,1000,969,941,914,888,864,842,820,800,780,761,744,727,711,695,680,666,653,640,627,615,603,592,581,571,561,551,542,533,524,516,507,500,492,484,477,470,463,457,450,444,438,432,426,421,415,410,405,400,395,390,385,380,376,372,367,3

41、63,359,355,351,347,344,340,336,333,329,326,323,320,316,313,310,307,304,301,299,296,293,290,288,285,283,280,278,275,273,271,268,266,264,262,260,258,256,253,251,250,248,246,244,242,240,238,237,235,233,231,230,228,226,225,223,222,220,219,217,216,214,213,211,210,209,207,206,205,203,202,201,200,198,197,1

42、96,195,193,192,191,190,189,188,187,186,184,183,182,181,180,179,178,177,176,175,174,173,172,172,171,170,169,168,167,166,165,164,164,163,162,161,160,160,159,158,157,156,156,155,154,153,153,152,151,150,150,149,148,148,147,146,146,145,144,144,143,142,142,141,140,140,139,139,138,137,137,136,136,135,135,1

43、34,133,133,132,132,131,131,130,130,129,129,128,128,127,126,126,125,125,125,124,124,123,123,122,122,121,121,120,120,119,119,118,118,118,117,117,116,116,115,115,115,114,114,113,113,113,112,112,111,111,111,110,110,109,109,109,108,108,108,107,107,107,106,106,105,105,105,104,104,104,103,103,103,102,102,1

44、02,101,101,101,100,100,100,100,99,99,99,98,98,98,97,97,97,96,96,96,96,95,95,95,94,94,94,94,93,93,93,93,92,92,92,91,91,91,91,90,90,90,90,89,89,89,89,88,88,88,88,87,87,87,87,86,86,86,86,86,85,85,85,85,84,84,84,84,83,83,83,83,83,82,82,82,82,82,81,81,81,81,81,80,80,80,78,75;/ cpu_freq/ ccr0 = -/ sig_fre

45、q * total_sampling_pointsconst ucharsin_dataTOTAL_SAMPLING_POINTS=127,135,143,151,159,167,174,182,189,196,203,209,215,221,226,231,235,239,243,246,249,251,253,254,254,254,254,253,252,250,247,245,241,237,233,228,223,218,212,206,199,192,185,178,171,163,155,147,139,131,123,115,107,99,91,83,76,69,62,55,4

46、8,42,36,31,26,21,17,13,9,7,4,2,1,0,0,0,0课程设计报告基于 MSP430 的信号发生器的设计学院:电子工程学院班级 :2013211212 小组成员: 唐卓浩(2012211069)王旭东(2013211134)李务雨(2013211138)25 / 29,1,3,5,8,11,15,19,23,28,33,39,45,51,58,65,72,80,87,95,103,111,119,127;const uchartria_dataTOTAL_SAMPLING_POINTS=0,5,10,15,20,26,31,36,41,46,52,57,62,67,7

47、2,78,83,88,93,98,104,109,114,119,124,130,135,140, 145,150,156,161,166,171,176,182,187,192,197,202,208,213,218,223,228,234,239,244,249,255,255,249,244,239,234,228,223,218,213,208,202,197,192,187,182,176,171,166,161,156,150,145,140,135,130,124,119,114,109,104,98,93,88,83,78,72,67,62,57,52,46,41,36,31,

48、26,20,15,10,5,0;#pragma vector = TIMER0_A0_VECTOR_interrupt void timer_A0(void)if(point_now = TOTAL_SAMPLING_POINTS)point_now =0;switch(curr_signal_type)case0:/ sin;write_dac(sin_datapoint_now);break;case1:/ trianglewrite_dac(tria_datapoint_now);break;case2:/ boxif(point_now =3)curr_signal_type =0;e

49、lseif(push_key if(ccr0_idx = MAX_FREQ_STEPS)ccr0_idx =0;tccr0_now = tccr0_tableccr0_idx;elseif(push_key if(ccr0_idx = MAX_FREQ_STEPS)ccr0_idx = MAX_FREQ_STEPS -1;tccr0_now = tccr0_tableccr0_idx;P1IFG /清除标志位void init_vars()curr_signal_type =0;point_now =0;ccr0_idx = MAX_FREQ_STEPS /2-1;/初始 1kHztccr0_now = tccr0_tab

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报