广告

原创 最近做的一个PWM波

2013-1-13 19:43 895 0 1 分类: MCU/ 嵌入式

这个程序是正对430f149,开始学习这款单片机,由于我需要参数一个频率在100K~200K之间的频率,所以就采用外部晶振。。由于最开始设置没对,时钟没信号输出。最后发现不能设置LPM3 ,并且后面应该有个循环。当修改之后,就能正常的工作!

程序比较短,就附在后面了

#include  <msp430x14x.h>
#include  "BoardConfig.h"

/****************主函数****************/
void main(void)

    unsigned int i;
    WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗
   
    /*------选择系统主时钟为8MHz-------*/
    BCSCTL1 &= ~XT2OFF;                       // 打开XT2高频晶体振荡器
    do
    {
        IFG1 &= ~OFIFG;                       //清除晶振失败标志
        for (i = 0xFF; i > 0; i--);           // 等待8MHz晶体起振
    }
    while ((IFG1 & OFIFG));                   // 晶振失效标志仍然存在?
     BCSCTL2 |= SELM_2+SELS;             //使MCLK = XT2
    
     BoardConfig(0xf0);              //关闭数码管和电平转换,打开流水灯
    
    CCTL0 = CCIE;                   //使能CCR0中断
    CCR0 = 3;                    //设定周期0.5S               
    TACTL |= TASSEL_2 + ID_0  + MC_1 ; //定时器A的时钟源选择ACLK,增计数模式
    P2DIR = 0xff;                   //设置P2口方向为输出
    P2OUT = 0xff;
 
    _EINT();                        //使能全局中断
//  LPM3;                           //CPU进入LPM3模式
     while(1);
 //   {}
}

/*******************************************
函数名称:Timer_A
功    能:定时器A的中断服务函数
参    数:无
返回值  :无
********************************************/
#pragma vector = TIMERA0_VECTOR
__interrupt void TimerA_ISR(void)

    P2OUT ^= 0xff;                  //P2口输出取反
}

广告

文章评论 1条评论)

登录后参与讨论

huiyanhappy_991111419 2013-1-25 15:36

受教了
相关推荐阅读
wfbisheng_262691721 2013-01-03 21:50
菜鸟,请你们真爱生命,远离Proteus
*注:此文专为21IC而著,可以转载,但需保留本说明,否则将可能导致版权追究       Proteus可能是本版面最受争议的软件之一,我骂他,同时也因为骂他而受别人骂,所以今天我就来告诉新同学...
wfbisheng_262691721 2012-12-31 11:44
nios ii 调试SDRAM读写
最近想用Nios完成SDRAM读写的问题,可是总是出问题,如果不用SDRAM,即是直接对IO口赋值,能够正常的完成,可是当把数据先缓冲到SDRAM中,然后再进行读取一直没反应。然后上网搜原因,大概...
wfbisheng_262691721 2012-12-25 11:37
nios 中常见函数
  (转)NiosII常用函数整理 IO操作函数 函数原型:IORD(BASE, REGNUM)  输入参数:BASE为寄存器的基地址,RE...
wfbisheng_262691721 2012-12-25 10:22
nios 工程编译报错问题
在编译时发生了如此报错,根据报错发现应该是路径太长了,可是转到D根目录下还是报错,上网收了一下,有可能是自己的工程名与下面底层模块名同名了, 或是工程名或者是模块明中有空格号等。 在C盘...
wfbisheng_262691721 2012-12-07 11:29
Cyclone III中LVDS的设计
  一,概述 LVDS低压差分信号,最早由美国国家半导体公司 提出的一种高速串行信号传输电平,由于它传输速度快,功耗低,抗干扰能力强,传输距离远,易于匹配等优点,迅速得到...
我要评论
1
0
广告
关闭 热点推荐上一条 /1 下一条