標(biāo)題: MSP430單片機(jī)LED節(jié)拍程序 [打印本頁]

作者: 51hei單片    時間: 2016-3-14 19:51
標(biāo)題: MSP430單片機(jī)LED節(jié)拍程序
本程序是《MSP430系列單片機(jī)系統(tǒng)工程設(shè)計(jì)與實(shí)踐》書里面的源碼,(包含工程文件 )完整例程下載:http://www.torrancerestoration.com/bbs/dpj-46245-1.html


關(guān)于本程序的詳細(xì)解說大家可以點(diǎn)擊上圖下載電子書

  1. #include <msp430x42x.h>
  2. #include "BasicTimer.h"

  3. void LED1_Process()         /* 任務(wù)1 */
  4. {
  5.   static unsigned int LED1_Timer;  
  6.   LED1_Timer++;
  7.   if(LED1_Timer>=8) {LED1_Timer=0; P1OUT^=BIT1;}
  8. }
  9. void LED2_Process()         /* 任務(wù)2 */
  10. {
  11.   static unsigned int LED2_Timer;  
  12.   LED2_Timer++;
  13.   if(LED2_Timer>=4) {LED2_Timer=0; P1OUT^=BIT3;}
  14. }
  15. void LED3_Process()         /* 任務(wù)3 */
  16. {
  17.   static unsigned int LED3_Timer;  
  18.   LED3_Timer++;
  19.   if(LED3_Timer>=2) {LED3_Timer=0; P1OUT^=BIT4;}
  20. }

  21. void main( void )
  22. {
  23.    WDTCTL = WDTPW + WDTHOLD;                   // 停止看門狗
  24.    FLL_CTL0 |= XCAP18PF;                // 配置晶振負(fù)載電容
  25.    P1DIR |= BIT1 + BIT3 + BIT4;         // 三個LED所在IO口設(shè)為輸出
  26.    P1OUT =0;                            // 全滅
  27.    BT_Init(16);                         // BasicTimer設(shè)為1/16秒中斷一次
  28.    while(1)
  29.    {
  30.       Cpu_SleepWaitBT();        //休眠,等待BT喚醒,以下代碼1/16秒執(zhí)行一次
  31.       LED1_Process();           //LED1閃爍任務(wù)
  32.       LED2_Process();           //LED2閃爍任務(wù)
  33.       LED3_Process();           //LED3閃爍任務(wù)
  34.    }
  35. }
復(fù)制代碼








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1