ZigBee外部中斷控制

2021-08-26 23:40:54 字數 1404 閱讀 3647

1,首先我們來認識一下幾個暫存器

ien0,ien1,ien2               //各外設或埠中斷使能暫存器

p0ien、p1ien,p2ien       //通用i/o 中斷使能暫存器

pictl                                   //埠中斷控制為位,配置上公升沿觸發中斷還是下降沿觸發中斷

ea                                        //全域性中斷總開關,這個開關在ien0暫存器的第七位,可位定址。

如果想設定中斷優先順序可通過設定ip0,和ip1這兩個暫存器來實現!

下面上資料手冊說明

當使用外部中斷的時候只需要配置以上的相關暫存器位就可以了!

2,例;使用p1_1埠的外部中斷來使led燈亮滅

#include #define uint8_t unsigned char

#define uint16_t unsigned int

#define led p1_0

#define key p1_1

// 軟體延時函式,使用不同的系統時鐘,延時不一樣

void delay_ms(uint16_t n)

{ uint16_t i=0,j=0;

for(i=0;i其中中斷子函式寫法有點特別

#pragma vector = 「p1int_vector 」                 這一句前面等號前面的固定寫法「」裡面的是中斷源,這個可以在標頭檔案裡面找到

__interrupt void 「point_1」()                                 這一句前面void前面的也是固定寫法「」裡面的是自己定義的函式名稱

當然在中斷函式的最後我們不要忘記了清楚中斷標誌哦,不然cpu會一直進入中斷函式!

好了,以上就是中斷的用法了!

外部中斷控制

內外部中斷,除了 器中斷和復位中斷不可遮蔽,其餘中斷均可遮蔽,除了不可遮蔽中斷和引導載入中斷ep0i或者lp4i外,所有中斷在系統復位時都是預設被遮蔽的。當1個中斷正在執行服務期間,adsp會在每個週期都對中斷鎖存暫存器ilat中的相應位清0,以禁止該中斷服務程式重複響應。涉及到中斷的主要有以下這幾...

zigbee基礎應用(三)外部中斷

zigbee基礎應用 三 外部中斷 1.暫存器篇 按鍵s1中斷控制初始化 p0ien 0x2 p0.1 設定為中斷方式 1 中斷使能 pictl 0x2 下降沿觸發 ien1 0x20 允許p0口中斷 p0ifg 0x00 初始化中斷標誌位 ea 1 開啟總中斷 2.軟體實現篇 include de...

外部中斷控制LED燈開關

在51微控制器中,有2路外部中斷輸入int0 p3.2 和int1 p3.3 2路中斷觸發訊號 低電平觸發和下降沿觸發。中斷允許暫存器ie 0 禁止中斷 1 使能中斷 tf1 定時 計數器t1溢位中斷請求標誌位 0 無中斷請求 1 有中斷請求 tr1 定時 計數器t1啟動位 0 停止 定時 計數器 ...