從圖中可以看出,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); //等待按鍵松開,循環等待,其他語句不再執行。若無此代碼,按鍵按下,燈一直亮(高頻閃爍,錯覺是亮),松開熄滅。 } } }
