• 大小: 929B
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-24
  • 语言: 其他
  • 标签: MSP430PWM  

资源简介

这是基于MSP430F5529单片机实现的PWM程序,最后输出的正弦波,通过改变占空比实现。

资源截图

代码片段和文件信息

#include  
int m=0;
int Sin[]={64677073767982858891949699102
104106109111113115117118120121123124
125126126127127127127127127127126126125
124123121120118 117115113111109106104102
999694918885827976737067646057545148
 4542393633312825232118161412109764
3211000000011234679101214161821
2325283133363942454851545760}; 
/*
 * main.c
 */
int main(void) {
//int i;
    WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
UCSCTL1 |= XTS;      //选择ACLK=LFXT,高频
/*do
{
IFG1&=~OFIFG;    //清除晶体故障标志位
for(i=0xFF;i>0;i--);  //延时
}
while((IFG1&0FIFG)!=0);  //晶体故障标志无置位
IFG1&=~OFIFG;       //清除晶体故障标志*/
UCSCTL2 |= SELM_3;   //CPU主时钟MCLK=LFXT18MHz
P2SEL|=BIT3+BIT4+BIT5;
P2DIR|=BIT3+BIT4+BIT5;
P2OUT|=BIT3+BIT4+BIT5;
P1DIR|=BIT0;
TA2CTL |= ID_1+TASSEL_1+MC_1;   //MC_1增模式
//TA2CCTL0=CCIE;      //捕获比较寄存器0中断允许
TA2CCTL1=OUTMOD_7;      //捕获比较1输出模式7
TA2CCR0=256;//PWM计数周期
//__bis_SR_register(LPM3_bits+GIE);   //芯片低功耗,GIE全局中断使能
//__no_operation();
    while(1)
    {
     if(m>127)
     m=0;
     else
     m++;
     P1OUT ^= 0x01;
     TA2CCR1=Sin[m];
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1365  2015-04-23 21:12  main.c

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

                 1365                    1


评论

共有 条评论