本實驗是用兩個按鍵分別控制小燈的亮滅。在這個實驗裡用到的暫存器分別是p0,p1,p0sel,p0dir,p1dir和p0inp。
p0/p1:p0/p1口暫存器;
p0sel:p0功能選擇暫存器,主要是選擇相應位的功能(0,普通i/o;1,外設功能)。
p0dir/p1dir:p0/p1口方向選擇暫存器,主要是選擇相應位的方向(0,輸入;1,輸出)。
p0inp:p0口輸入模式暫存器,(0,上拉;1,下拉)。
兩個led燈的管腳分別為p1_0和p1_1,其中,功能選擇(p0sel)定義為普通io輸出;方向選擇p0dir定義為輸出
k鍵對應的是p0_5,cancel鍵對應的是p0_4,up/down/left/right鍵對應的是p0_6
設定這幾個按鍵的管腳的步驟分別是:功能選擇(p0sel),方向選擇(p0dir),輸入模式選擇(p0inp)。源**見下:
按下確定按鈕led燈亮,再按一下燈滅,取消按鈕也是一樣的效果。
#define k1 p0_4 //按鍵引腳定義,以便控制紅燈
#define k2 p0_5
void initkey(void) //按鍵引腳初始化
uchar keyscan(void) //按鍵掃瞄函式
}if(k2 == 0)
}return(0);
}void initial(void)//led引腳初始化
void main(void)
if(keyvalue == 2)}}
CC2430基礎實驗 外部中斷
外部中斷實驗是使用兩個按鍵來翻轉led狀態,但這裡兩個按鍵不是做鍵盤用,二是產生中斷觸發訊號。p0ifg為p1口中斷標誌暫存器 ien1為中斷使能暫存器1。led管腳設定 即先全域性ea,然後p0中斷開啟,最後相應中斷位置開啟。p1inp 0x0c 有上拉 下拉 p2inp 0x40 選擇上拉 p1...
CC2430基礎 外部中斷分析
外部中斷實驗是使用兩個按鍵來翻轉led狀態,但這裡兩個按鍵,一是做鍵盤用,二是產生中斷觸發訊號。實驗共用到p1 p1 p0dir p1 p0sel p1 p0inp pictl ien1和p0ifg幾個個暫存器。其中前幾個的作用前面的文章裡應經介紹過了,這裡就不再重複說明了。這裡主要是講一下後幾個暫...
CC2430 串列埠使用詳解
為了完成課題,最近下定決心學習cc2430。網上的資料很多,重複的部分不做過多的介紹,沒有的部分做一下少許的補充,希望對大家有用!建議各位使用更新的cc2530,該晶元為cc2430的替代版本 全部 如下,先看一下整體!標頭檔案 include hal.h include stdio.h 函式宣告 ...