MSP430 - LaunchPad - MSP430G2553 - Indicatory LED control by Button

首先看一下LaunchPad , MSP430G2553示意圖
MSP-EXP430G2 LaunchPad Overview


動作:使用按鍵P1.3(圖左下角Push Button位置)來控制LED閃爍,當按下按鍵時兩顆LED會交互閃爍。


As below is code content:


#include <msp430g2553.h>

void main(void)
{
   WDTCTL = WDTPW + WDTHOLD; //Turn off watch dog
   P1OUT = 0x09;                       //setting PT1.3 & PT1.0 (LED1 default is high) is high level         P1DIR = 0x41;                              //setting PT1.0 & PT1.6 are output
   P1REN = 0X08;                   //setting PT1.3 pull-up resistor
   char flash;
   for ( ; ; )                                       //Polling Loop
   {
    if ((P1IN & 0x08) == 0)          //If P1IN & 0x08 is low , the for loop will be executed
        for(flash = 0 ; flash < 20; flash++)
        {
            P1OUT ^= 0x41;               //NOT BIT0 & BIT6 level 
            __delay_cycles(500000);
        }
   }
}

/*__delay_cycles內填的數字為cycle次數。(並不是代表真正的延遲秒數)。而真正的延遲秒數必須根據裝置設定的工作時脈頻率cycle次數而計算出來的。函數內的可填入的無號長整數unsigned long表示數值範圍04294967295,(也就是2的32次方-1),注意!!如果填入數值超過4294967295除錯將會有溢值的錯誤訊息範例中所使用預設的DCO工作頻率為1MHz,換算成時間週期為10^-6(s),函數內填數字如果為100000,經計算結果,則延遲時間為100ms。玩家可以試著改改看這個參數,調整閃爍間隔( 計算公式: 10^-6週期s * 100000 cycle = 0.1s = 100ms )*/


操作影片:





留言