- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014北京市电子设计大赛一等奖
我今年刚参加的,一等奖:
电路仿真图在后面:
竞赛中只发了1个放大器芯片,双通道。所以滤波方面,我没使用放大器。鉴于我的脉冲波是固定1000HZ,所以我采用三阶RC滤波,也可采用四阶,五阶,阶数越多,滤波效果越好,但功耗,压降越大。应适当选择,我选三阶,效果亦不错。
滤波后直接采用同相比例放大器,简单易懂。利用放大器,还有程序占空比调节1V-3V-5V。
选用RC滤波器应注意 R*C=1/1000.根据实际情况寻找电阻,竞赛场那不是多大的电阻都提供,特抠。
PWM程序:
为便于滤波,我采用固定1000HZ频率,调节占空比即可改变滤波后直流电压的大小。
#include msp430g2553.h
#include TA_PWM.h
int i=0,k=0;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1MHz
DCOCTL = CALDCO_1MHZ;;
TA1_PWM_Init(S,1,F,0);
TA1_PWM_SetPeriod(1000);
// TA1CCR1=500;
CCTL1 = CCIE;
CCTL0 = CCIE;
// CCR0 interrupt enabled
CCR0 = 1000;
CCR2=900;
TACTL = TASSEL_2 + MC_1; //P2.1波形输出
_EINT();
while(1);
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0_A0 (void)//1.0shu
{
i++;
if(i=10000)
{ i=0;
k++;
if(k=3)k=0;
}
}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer0_A1(void)
{
if(k==0) TA1CCR1=91;//三个占空比
if(k==1) TA1CCR1=281;
if(k==2) TA1CCR1=470;
}
电路仿真图:
/*需要调用的C文件
* TA_PWM.c
*
* Created on: 2013-2-9
* Author: Administrator
*/
#include msp430g2553.h
#define DEADTIME 0 //预设死区时间,以TA的clk为单位
/*******设定TA输出IO口,目前设定为MSP430G2553,20Pin封装无TA0.2********/
#define TA01_SET P1SEL |= BIT2; P1DIR |= BIT2 //P1.6
#define TA02_SET P3SEL |= BIT0; P3DIR |= BIT0 //P3.0
#define TA11_SET P2SEL |= BIT1; P2DIR |= BIT1 //P2.1
#define TA12_SET P2SEL |= BIT4; P2DIR |= BIT4 //P2.4
#define TA01_OFF P1SEL= ~BIT6; //P1.6
#define TA02_OFF P3SEL = ~BIT0; //P3.0
#define TA11_OFF P2SEL = ~BIT1; //P2.1
#define TA12_OFF P2SEL = ~BIT4; //P2.4
/****************************************************************************
* 名 称:TA0_PWM_Init()
* 功 能:TA0定时器作为PWM发生器的初始化设置函数
* 入口参数:Clk:时钟源 S=SMCLK; A=ACLK ; E=TACLK(外部输入); e= TACLK(TACLK取反)
Div:时钟分频系数: 1/2/4/8
Mode1:通道1的输出模式 F设为超前PWM(模式7),B滞后PWM(模式3) ,D带死区增PWM(模式6),0=禁用
Mode2
文档评论(0)