资源简介

系统时钟配置详解和ADC10的PWM做的呼吸灯,效果还行

资源截图

代码片段和文件信息


#include “msp430g2553.h“


unsigned char list[]={“HelloWorld!“};
volatile int i=0Timer_data=0Flag=0;
void delay()
{
  int ij;
  for(i=500;i>0;i--)
    for(j=100;j>0;j--);
}

/********************************************************************
* 名称  :   Init_Clk()
* 功能  :   MSP430时钟系统初始化程序
* 输入  :   无
* 返回值:   无
*********************************************************************/
void Init_Clk()                //时钟系统设置
{
 // DCOCTL |= DCO0 + DCO1 + DCO2;  //根据手册频率图为最大频率
 //BCSCTL1 |= RSEL0 + RSEL1 + RSEL2 + RSEL3;//以上两句与下两句等价?
  DCOCTL = CALDCO_16MHZ;       //设定时钟为DCO模式
  BCSCTL1 = CALBC1_16MHZ;      //设定时钟范围16MHZ
  BCSCTL2 |= SELM0 + DIVM_0;// SELMx:MCLK时钟源选择(0 or 1)
                                 //DIVM_x:MCLK分频(1/2/4/8)
   // + SELS + DIVS_3           //SELS :  SMCLK时钟源选择(1)
                                //(0选择DOCCLK1选择XT2CLK or 无XT2
                                // 时,自动选择LFXT1CLK)
  BCSCTL3 |= XT2S0 + LFXT1S0 + XCAP_2;//XT2Sx:XT2输入频率的范围
                                      //LFXT1Sx:LFXT1输入频率的范围
                      //XCAPx:LFXT1晶振的值选择匹配的电容值
    //XT2OF:XT2晶振故障判断位;LFXT1OF:LEXT1晶振的故障判断位。(默认:0)
    //注:IE1时钟中断使能标志位OFIE
    //注:IFG1时钟中断标志寄存器位OFIFG
}

/*void Init_BasicTimer()         //基本定时器初始化
{
  IE2 |= BTIE;                //使能基本定时器   
}
*/
/********************************************************************
* 名称  :   Init_TimerA()
* 功能  :   MSP430定时器A初始化程序
* 输入  :   无
* 返回值:   无
*********************************************************************/
void Init_TimerA()            //定时器A初始化
{
  TACTL |= TASSEL_1 + MC_1 + TACLR;// + ID_3
                      //时钟源选择(0:TACLK 1:ACLK 2:SMCLK 3:)
                      // 计数模式(0:停止 1:增计数 2:连续计数)
                      //清除计数
                      //TAIE:定时器A中断允许使能。注意:中断子程序中清除标识位
  CCTL0 = CCIE;       //CCRO中断使能
  CCR0 = 32768;       //计数  
}
/********************************************************************
* 名称  :   PWM_OUT()
* 功能  :   MSP430输出PWM波初始化程序
* 输入  :   无
* 返回值:   无
*********************************************************************/
void PWM_OUT()
{
  TACTL |= TASSEL_1 + MC_1 + TACLR;//时钟源:ACLK;增计数模式
  CCTL0 = CCIE;
  CCR0 =328;         //周期大约1ms
  CCTL1 |= OUTMOD_3;//输出模式7
  CCR1 = 0; //占空比设置  0  P1DIR |= BIT1 + BIT2 + BIT6;
  P1SEL |= BIT1 + BIT2 + BIT6;
  P1OUT |= 0;
}

int main(void)
{
  
  WDTCTL = WDTPW + WDTHOLD;             // Stop watchdog timer
//  P1SEL = 0;
//  P1DIR |= 0xff;                      // Set P1 to output direction
  P2DIR |= BIT0 + BIT1 + BIT2;
  P2SEL |= BIT6 + BIT7; 
 // lcd_init();
  Init_Clk();
 // write_listchar(2list); 
//  Init_TimerA();
  PWM_OUT();
  _EINT();
  LPM0;
  /*  while(1) 
    {   
      i++;
      write_time(1i);
      delay();
    }*/
}


#pragma vector = TIMER0_A0_VECTOR
__interrupt void timer_A0(void)
{
     //LPM0_EXIT;
    i++;
    if(i>=656)  
   // write_time(1i);
    { 
      Flag = ~Flag;
 

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

     文件      12489  2012-04-01 13:56  PWM_BreathLed\Backup of ceshi.ewd

     文件      43790  2012-03-31 12:23  PWM_BreathLed\Backup of ceshi.ewp

     文件       2103  2012-07-05 15:25  PWM_BreathLed\ceshi.dep

     文件      20108  2012-07-04 10:34  PWM_BreathLed\ceshi.ewd

     文件      50239  2012-07-04 10:34  PWM_BreathLed\ceshi.ewp

     文件       3536  2012-07-05 15:25  PWM_BreathLed\ceshi_1.c

     文件        159  2012-03-31 12:22  PWM_BreathLed\ceshi_1.eww

     文件       9159  2012-07-05 15:25  PWM_BreathLed\Debug\Exe\ceshi.d43

     文件        145  2012-07-05 15:25  PWM_BreathLed\Debug\Obj\ceshi.pbd

     文件      10931  2012-07-05 15:25  PWM_BreathLed\Debug\Obj\ceshi_1.r43

     文件          0  2012-07-05 15:25  PWM_BreathLed\path.txt

     文件       1317  2012-07-05 15:25  PWM_BreathLed\settings\ceshi.cspy.bat

     文件       4947  2012-07-05 15:25  PWM_BreathLed\settings\ceshi.dbgdt

     文件       1536  2012-07-05 15:25  PWM_BreathLed\settings\ceshi.dni

     文件       3481  2012-07-05 15:25  PWM_BreathLed\settings\ceshi_1.wsdt

     目录          0  2012-07-05 10:18  PWM_BreathLed\Debug\Exe

     目录          0  2012-03-31 12:10  PWM_BreathLed\Debug\List

     目录          0  2012-07-05 15:25  PWM_BreathLed\Debug\Obj

     目录          0  2012-07-05 10:18  PWM_BreathLed\Debug

     目录          0  2012-07-05 10:18  PWM_BreathLed\settings

     目录          0  2012-07-05 15:25  PWM_BreathLed

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

               163940                    21


评论

共有 条评论