基于MSP430的信号发生器设计课程设计任务说明书.docx

上传人:b****6 文档编号:3557786 上传时间:2022-11-23 格式:DOCX 页数:31 大小:752.84KB
下载 相关 举报
基于MSP430的信号发生器设计课程设计任务说明书.docx_第1页
第1页 / 共31页
基于MSP430的信号发生器设计课程设计任务说明书.docx_第2页
第2页 / 共31页
基于MSP430的信号发生器设计课程设计任务说明书.docx_第3页
第3页 / 共31页
基于MSP430的信号发生器设计课程设计任务说明书.docx_第4页
第4页 / 共31页
基于MSP430的信号发生器设计课程设计任务说明书.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于MSP430的信号发生器设计课程设计任务说明书.docx

《基于MSP430的信号发生器设计课程设计任务说明书.docx》由会员分享,可在线阅读,更多相关《基于MSP430的信号发生器设计课程设计任务说明书.docx(31页珍藏版)》请在冰豆网上搜索。

基于MSP430的信号发生器设计课程设计任务说明书.docx

基于MSP430的信号发生器设计课程设计任务说明书

基于MSP430的信号发生器设计

 

课程设计任务书

学生姓名:

专业班级:

自动化

指导教师:

工作单位:

题目:

基于MSP430的信号发生器设计

初始条件:

1.运用所学的单片机和C语言等知识;

2.用到元件:

MSP430LaunchPad,IAR软件,LED灯。

要求完成的主要任务:

基于MSP430单片机设计一款信号发生器,作品采用MSP430LaunchPad结合DAC和运算放大器,实现可产生正弦波、三角波、锯齿波的信号发生器。

①能产生正弦波,三角波,锯齿波;

②能通过按键切换波形;

③幅值连续可调,频率按键可调,输出使能控制,LED指示;

④搭建硬件电路,编制完整的程序并调试;

⑤撰写设计说明书及调试心得。

时间安排:

1.1月10日----1月12日查阅资料及确定方案总体设计

2.1月13日----1月15日编程

3.1月16日开始调试程序

4.1月17日撰写课程设计报告

5.1月18日正式开始答辩

 

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

摘要

信号发生器是电子实验室的基本设备之一,目前各类学校广泛使用的是标准产品,虽然功能齐全、性能指标较高,但是价格较贵,且许多功能用不上。

本设计介绍一款基于MSP430G2452单片机的信号发生器。

该信号发生器虽然功能及性能指标赶不上标准信号发生器,但能满足一般的实验要求,且结构简单,成本较低。

本次需要完成的任务是以MSP430LaunchPad的单片机为控制核心、LED作为指示、DAC模块作为转换与按键电路作为输入构成的一种电子产品。

MSP430LaunchPad单片机为控制核心,能实时的进行控制;按键输入调整输出状态,LED灯显示输出波形状态,DAC0832将单片机输出的数字信号转化为模拟量,经运放放大后输出。

在本次程序设计中充分利用了单片机内部资源,涉及到了LED驱动、中断系统、函数调用等。

关键字:

MSP430LaunchPad,按键输入,DAC0832,OPA07

 

1概述

1.1作品基本情况介绍

本作品基于TI的LaunchPad,选用TI的MSP430G2452这款单片机设计了一款信号发生器。

作品采用查表原理来实现信号的产生,外围使用一些基本的DAC和放大电路,实现了可产生正弦波、三角波、锯齿波的信号发生器。

信号发生器的主要技术参数如下:

1.频率范围:

1HZ--1KHZ

2.频率步进间隔:

1HZ

3.输出幅值:

8V

4.其他:

幅度连续可调、频率按键可调、输出使能控制、LED指示

1.2系统硬件和软件框图

1)系统硬件框图

 

 

图1系统硬件框图

2)系统软件框图:

 

图2系统软件框图

2硬件系统设计

2.1MSP430G2系列LaunchPad开发板介绍

TI的MSP430G2系列Launchpad开发板是一款适用于TI最新MSP430G2xx系列产品的完整开发解决方案。

其基于USB的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。

LaunchPad具有集成的DIP插座,可支持多达20个引脚,从而使MSP430ValueLine器件能够简便地插入LaunchPad电路板中。

此外,其还可提供板上Flash仿真工具,以直接连接至PC轻松进行编程、调试和评估。

此外,它还提供了从MSP430G2xx器件到主机PC或相连目标板的9600波特率的UART串行连接。

MSP430G2系列Launchpad开发板的特性:

USB调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度。

支持所有采用PDIP14或PDIP20封装的MSP430G2xx和MSP430F20xx器件。

两个通用数字I/O引脚分别连接至绿光和红光的LED灯可提供视觉反馈。

两个按钮可实现用户反馈和芯片复位。

器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板。

2.2方案论证与选择

方案一:

控制部分由MSP430G2452实现,波形产生采用单片压控函数发生器(MAX038等),可同时产生频率可控可变的正弦波、三角波、方波。

优缺点:

简单易行,采用专用芯片,系统体积大大减小;但频率步进的步长很难控制,并且整个设计中MSP430G2452仅完成简单的控制功能,资源没有充分利用。

方案二:

由MSP430G2452实现对专门的DDS芯片(如AD9850)的控制,产生各种波形。

优缺点:

此方案产生波形的频率稳定度高,易于程控。

但DDS芯片价格高,系统成本高。

方案三:

由MSP430G2452结合DAC0832实现各种波形的产生。

优缺点:

此方案可以充分利用MSP430G2452上的资源,降低系统成本,但是产生波形频率较低。

综上,方案三充分利用MSP430G2452的资源,外围电路简单、系统成本较低,可以满足信号发生器的要求,所以最终采用方案三。

2.3硬件电路系统设计

系统主控部分采用IT的MSP430G2452LaunchPad开发板;外围电路主要包括DAC模块、电源及按键模块。

1)DAC模块:

DAC模块主要由DAC0832和OPA227PA运算放大器组成。

DAC0832是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

其主要参数如下:

*分辨率为8位;

* 电流稳定时间1us;

*可单缓冲、双缓冲或直接数字输入;

*只需在满量程下调整其线性度;

*单一电源供电(+5V~+15V);

*低功耗,20mW

其引脚功能如下:

*D0~D7:

8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);

*ILE:

数据锁存允许控制信号输入线,高电平有效;

*CS:

片选信号输入线(选通数据锁存器),低电平有效;

*WR1:

数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;

*XFER:

数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;

*WR2:

DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。

由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

*IOUT1:

电流输出端1,其值随DAC寄存器的内容线性变化;

*IOUT2:

电流输出端2,其值与IOUT1值之和为一常数;

*Rfb:

反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

*Vcc:

电源输入端,Vcc的范围为+5V~+15V;

*VREF:

基准电压输入线,VREF的范围为-10V~+10V;

*AGND:

模拟信号地;

*DGND:

数字信号地。

图3DAC0832引脚图

 

电路原理图如下图所示:

图4.DAC模块原理图

2)电源及按键模块:

系统共使用了四种电源:

12V、-12V、5V、-5V。

其中12V和-12V由电源模块产生,5V和-5V由L7805和L7905产生。

四个按键功能分别为:

信号输出使能、频率+、频率-、信号切换。

电源及按键模块电路原理图如下图所示:

图5.电源及按键模块原理图

2.4系统PCB图设计

1)DAC及放大模块PCB图如下图所示:

图6.DAC模块PCB图

2)电源及按键模块PCB图如下图所示:

图7.电源及按键模块PCB图

3程序设计

3.1程序主流程

如图8所示为程序主流程图:

 

图8系统主流程框图

3.2程序设计

系统程序主要分为以下几个模块:

初始化程序、主程序、输出程序和中断函数。

3.2.1初始化程序

初始化程序主要完成的引脚的配置

voidPort_init()

{

//P2.0,P2.5点灯

P2DIR|=(BIT0+BIT5);

P2OUT|=BIT0;//初始为Sine,点亮相应指示灯

P2OUT&=~(BIT5);

//四个按键P2.1使能,P2.2波形选择,P2.3频率加,P2.4频率减

P2IES|=0x1E;

P2IE|=0x1E;

P2IFG|=0x1E;

P1DIR=0xff;

P1OUT=0xaa;

}

3.2.2主程序

主程序要负责总体程序管理功能,全局变量赋值。

intmain(void)

{

WDTCTL=WDTPW+WDTHOLD;//关看门狗

WaveSelect=5;

f_out=50;

M=0;

Key=0;

K=count[f_out];

Port_init();//IO口初始化

_BIS_SR(GIE);//开系统中断

while

(1)

{

if(Key==1)output();

}

};

 

3.2.3按键中断程序

主要完成按键的读取,以及相应的输出量赋值。

 

图9按键中断流程图

#pragmavector=PORT2_VECTOR

__interruptvoidP2_ISR_KEYS(void)

{

unsignedinti,Keytime1=0,Keytime2=0;

unsignedcharPushKey;

PushKey=P2IFG&(BIT1+BIT2+BIT3+BIT4);

for(i=0;i<1000;i++);//除干扰

if((P2IN&PushKey)==PushKey)

{

P2IFG=0;

return;

}

if(PushKey&BIT1)//P2.1输出使能

{

Key=1;//允许输出信号

}

if(PushKey&BIT2)//P2.2波形选择

{

Key=0;

WaveSelect+=5;

switch(WaveSelect)

{

case5:

P2OUT|=BIT0;P2OUT&=~(BIT5);break;

case10:

P2OUT|=BIT5;P2OUT&=~(BIT0);break;

case15:

P2OUT|=BIT0+BIT5;break;

default:

WaveSelect=5;P2OUT|=BIT0;P2OUT&=~(BIT5);break;

}

}

if(PushKey&BIT3)//P2.3频率加

{

while((P2IN&BIT3)==0)//判断按键是否是长按

{

Keytime1++;

if(Keytime1>60000)

{

Keytime2++;

Keytime1=0;

if(Keytime2>10)

{

if(f_out<=100)f_out+=5;

elsef_out=1;

Keytime2=0;

}

}

}

if(f_out<=100)f_out+=1;

elsef_out=1;

}

if(PushKey&BIT4)//频率减

{

while((P2IN&BIT4)==0)//判断按键是否是长按

{

Keytime1++;

if(Keytime1>60000)

{

Keytime2++;

Keytime1=0;

if(Keytime2>10)

{

if(f_out)f_out-=5;

Keytime2=0;

}

}

}

if(f_out)f_out-=1;

}

P2IFG=0;

return;

}

3.2.4输出程序

根据各参数量,输出相应数字信号

 

图10输出函数流程图

voidoutput(void)

{

unsignedlongj;

K=count[f_out];

if(WaveSelect==5)//正弦波

{

P1OUT=sin[M];

for(j=0;j<100000;j+=K);

M++;

if(M==255)M=0;

}

if(WaveSelect==10)//锯齿波

{

if(M<=255)

{

P1OUT=value[M];

for(j=0;j<100000;j+=K);

M++;

}

if(M>255)

{

P1OUT=value[510-M];

for(j=0;j<100000;j+=K);

M++;

if(M==510)M=0;

}

}

if(WaveSelect==15)//三角波

{

P1OUT=value[M];

for(j=0;j<100000;j+=K);

M++;

if(M==255)M=0;

}

}

4程序调试与运行结果

烧录程序后,将LaunchPad重新上电,用示波器观测输出波形,开始时有一个固定电平输出,只有当按下输出允许键后才有输出波形,开始默认输出正弦波,按下波形选择键后表示波形的LED灯会亮,且输出为一固定电平,只有当再次按下输出允许键后才会再次有波形输出;按下频率加减键后,输出波形的频率会做出相应变化,但是由于波形效果不太理想,所以无法测出其频率。

实测波形如下:

正弦波

锯齿波

三角波

结束语

当我选这个题目的时候,我是想结合电赛的题目,做一下信号类题目的训练,于是就确定了简易波形发生器这个题目。

开始时我查阅了很多资料,找了好几套方案,实际也做了三套方案,结果使用MAX038以及采用单片机模拟DDS的方案都没有成功,所以最后才确定使用DAC0832,结果实验结果还可以,但是由于时间问题,在波形的频率调节和设定这一块并没有得到完善,波形还好,但是频率调节效果不明显,这也是由于波形的输出和频率调节都是采用数组的方式来实现的,但是由于数组并没有经过精确测量,所以还是有一定的偏差,相信在后面的时间里我会逐渐把系统完善,做到真正准确的频率可调。

通过这次课设,感受颇多,不仅停留在成功完成自我满足上,而且还有调试过程中经验的收获,这些对于我来说,都是格外宝贵的。

一次经历,一次收获,很多时候,只有经历了,才明白其中滋味,才会找到适合自己的。

对于我来说,这也可以看做一次学习,如何面对困难,面对未知,我想这次课设给了我一些,尽管不是全部,但我从中瞧见了自己进步,瞧见了自己学习热情,我想这才是最宝贵,最值得珍惜的。

参考文献

[1]沈建华杨艳琴主编.《MSP430系列16位超低功耗单片机原理与实验》.北京航空航天大学出版社,2008年7月

[2]郭天祥主编.《51单片机C语言教程》.电子工业出版社,2009年

[3]洪利章扬李世宝主编,《MSP430单片机原理与应用实例》,北京航空航天大学出版社,2010年7月

[4]谭浩强主编.C程序设计(第四版)。

清华大学出版社,2010年7月

[5].2003

 

附录1

完整程序

***********************************************************************

设计者:

周晓奇

-----------------------------------------------

设计时间:

2014年1月12日

***********************************************/

#include

constunsignedcharsin[256]={

0x80,0x83,0x86,0x89,0x8c,0x8f,0x91,0x94,0x95,0x98,

0x9e,0xa1,0xa4,0xa7,0xaa,0xad,0xb0,0xb3,0xb6,0xb9,

0xbb,0xbe,0xc1,0xc3,0xc6,0xc9,0xcb,0xce,0xd0,0xd2,

0xd5,0xd7,0xd9,0xdb,0xde,0xe0,0xe2,0xe4,0xe6,0xe7,

0xe9,0xeb,0xec,0xee,0xf0,0xf1,0xf2,0xf4,0xf5,0xf6,

0xf7,0xf8,0xf9,0xfa,0xfb,0xfb,0xfc,0xfd,0xfd,0xfe,

0xfe,0xfe,0xfe,0xfe,0xff,0xfe,0xfe,0xfe,0xfe,0xfe,

0xfd,0xfd,0xfc,0xfb,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,

0xf5,0xf4,0xf2,0xf2,0xf0,0xee,0xec,0xeb,0xea,0xe7,

0xe6,0xe4,0xe2,0xe0,0xde,0xdb,0xd9,0xd7,0xd5,0xd2,

0xdb,0xce,0xcb,0xc9,0xc6,0xc3,0xc1,0xbe,0xbb,0xb9,

0xb6,0xb3,0xb0,0xad,0xaa,0xa7,0xa4,0xa1,0x9e,0x9b,

0x98,0x95,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7c,

0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,

0x5b,0x58,0x55,0x52,0x4f,0x4c,0x49,0x46,0x44,0x41,

0x3e,0x3c,0x39,0x36,0x34,0x31,0x2f,0x2d,0x2a,0x28,

0x26,0x24,0x21,0x1f,0x1d,0x1b,0x19,0x18,0x16,0x14,

0x13,0x11,0x0f,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,

0x06,0x05,0x04,0x04,0x03,0x02,0x02,0x01,0x01,0x01,

0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,

0x03,0x04,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,

0x0d,0x0e,0x0f,0x11,0x13,0x14,0x16,0x18,0x19,0x1b,

0x1d,0x1f,0x21,0x24,0x26,0x28,0x2a,0x2d,0x2e,0x31,

0x34,0x36,0x39,0x3c,0x3e,0x41,0x44,0x46,0x49,0x4c,

0x4f,0x52,0x55,0x58,0x5b,0x5e,0x61,0x64,0x67,0x6a,

0x6d,0x70,0x73,0x76,0x79,0x80

};

constunsignedintcount[101]={0,

4,8,12,16,20,24,28,32,36,40,

44,48,52,56,60,64,68,72,76,80,

84,88,92,96,100,104,108,112,116,120,

124,128,132,136,140,144,148,152,156,160,

164,168,172,176,180,184,188,192,196,200,

204,208,212,216,220,224,228,232,236,240,

244,248,252,256,260,264,268,272,276,280,

284,288,292,296,300,304,308,312,316,320,

324,328,332,336,340,344,348,352,356,360,

364,368,372,376,380,384,388,392,396,400

};

constunsignedcharvalue[256]={

0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,

0x08,0x09,0x0A,0x0B,0x0C,0X0D,0X0E,0X0F,

0x10,0X11,0X12,0X13,0x14,0X15,0X16,0X17,

0x18,0x19,0x1A,0X1B,0X1C,0X1D,0x1E,0x1F,

0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,

0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,

0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,

0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,

0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,

0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,

0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,

0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,

0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,

0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,

0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,

0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,

0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,

0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,

0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,

0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,

0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,

0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,

0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,

0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,

0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,

0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,

0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,

0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,

0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,

0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,

0xF0,0xF1,0xF2,0xF3,0xF4,0

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

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1