5.1、按鍵SW1控制LED1亮滅


 從圖中可以看出,P1_2引腳可以感知SW1的狀態,SW1未按下P1_2=1高電平,按下后P1_2=0接地。

注意:P1_2引腳只是感知SW1,不影響SW1。

#include "ioCC2530.h" //引用CC2530頭文件

/**************************************************************
函數名稱:main
功    能:程序主函數
入口參數:無
出口參數:無
返 回 值:無
**************************************************************/
void main(void)
{
    P1SEL &= ~0x05;   //0101,設置P1_0口和P1_2為通用I/O口
    P1DIR |= 0x01;    //0001,設置P1_0口為輸出口,LED1連接着P1_0
    P1DIR &= ~0x04;   //0100,設置P1_2口為輸入口

    P1_0=0;           //熄滅LED1

    while(1)//程序主循環
    {
        if(P1_2 == 0)           //如果按鍵被按下,按下0,松開1
        {
            P1_0 = ~P1_0;   //反轉LED1的亮滅狀態,按鍵按下0變為1,按鍵松開,保持最新的值。
            while(!P1_2);   //等待按鍵松開,循環等待,其他語句不再執行。若無此代碼,按鍵按下,燈一直亮(高頻閃爍,錯覺是亮),松開熄滅。
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM