CC2430基礎 按鍵控制開關實驗

2022-08-18 09:42:11 字數 752 閱讀 8780

本實驗是用兩個按鍵分別控制小燈的亮滅。在這個實驗裡用到的暫存器分別是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 函式宣告 ...