0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CC2530 外部中斷配置步驟

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-07-06 14:41 ? 次閱讀

第一章 硬件原理圖分析

img

第二章 配置按鍵中斷步驟

img

img

img

img

img

img

img

img

img

img

img

第三章 按鍵中斷代碼配置示例

#include < ioCC2530.h >
 ?
 //定義LED燈的端口
 #define LED1 P1_2
 #define LED2 P1_3
 ?
 //定義KEY按鍵的端口
 #define KEY1 P1_0       //定義按鍵為P1_0口控制
 #define KEY2 P1_1       //定義按鍵為P1_1口控制
 ?
 /*
 函數(shù)功能:LED燈IO口初始化
 硬件連接:LED1-- >P1_2 , LED2-- >P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3< 2;  //配置P1_2、P1_3為輸出模式
     LED1 = 1;
     LED2 = 1;
 }
 ?
 /*
 函數(shù)功能:初始化按鍵為中斷模式
 硬件連接:KEY1-- >P1_0  KEY2-- >P1_1  
 */
 void KEY_InterruptInit(void)
 {
     P1DIR&=~(0x3< 0); //配置P1_0、P1_1為輸入模式
     P1INP|= 0x3< 0;   //上拉
     P1IEN|= 0x3< 0;   //中斷使能
     PICTL|= 0x1< 1;   //下降沿觸發(fā)(P1口所有端口都共用一個配置)
     IEN2 |= 0x1< 4;   //端口P1中斷使能
     P1IFG&= ~(0x3< 0);//清除中斷標志位
     EA = 1;           //使能總中斷
 }
 ?
 ?
 void delay10ms(void)   //誤差 0us
 {
     unsigned char a,b,c;
     for(c=193;c >0;c--)
         for(b=118;b >0;b--)
             for(a=2;a >0;a--);
 }
 ?
 /*
 函數(shù)功能:P1端口中斷處理函數(shù)
 */
 #pragma vector = P1INT_VECTOR   //聲明P1口中斷服務(wù)函數(shù)的位置
  __interrupt void P1_Interrupt(void)  //中斷服務(wù)函數(shù)的名字的可以隨意命名
 { 
         if(P1IFG&1< 0)         //判斷按鍵1中斷
         {
           delay10ms();  
           if(!KEY1)
           {
              LED1 = !LED1;   
           }
            P1IFG&=~(1< 0);     //清中斷狀態(tài)
         }
         
         if(P1IFG&1< 1)         //判斷按鍵2中斷
         {
           delay10ms();  
           if(!KEY2)
           {
              LED2 = !LED2;   
           }
           P1IFG&=~(1< 1);     //清中斷狀態(tài)
         } 
         P1IF = 0;             //清P1口中斷標志
 }
 ?
 ?
 /*主函數(shù)*/
 void main(void)
 {
     LED_Init();//初始化LED燈控制IO口
     KEY_InterruptInit();//按鍵初始化
     while(1)          
     {  
             
     }
 }
 ?

第四章 CC2530的中斷系統(tǒng)說明

CC2530具有18個中斷源,每個中斷源都由各自的一系列特殊功能寄存器來進行控制。可以編程設(shè)置相關(guān)特殊功能寄存器,設(shè)置18個中斷源的優(yōu)先級以及使能中斷申請響應(yīng)等。我們常用的中斷源有下面幾個:

img

CC2530的中斷處理函數(shù)編寫方法

中斷服務(wù)函數(shù)與一般自定義函數(shù)不同,有特定的書寫格式:

< 1 > 在每一個中斷服務(wù)函數(shù)之前,都要加上一句起始語句:
 #pragma vector = < 中斷向量 >
 < 中斷向量 >表示接下來要寫的中斷服務(wù)函數(shù)是為那個中斷源服務(wù)的,該 語句有兩種寫法:
 #pragma  vector = 0x7B   或者   #pragma  vector = P1INT_VECTOR
 前者是中斷向量的入口地址,后者是頭文件“ioCC2530.h”中的宏定義。
 ?
 ?
 < 2 > _ _interrupt關(guān)鍵字表示該函數(shù)是一個中斷服務(wù)函數(shù),< 函數(shù)名稱 >可以 自定義,函數(shù)體不能帶有參數(shù),也不能有返回值。

CC2530的外部中斷

CC2530的P0、P1和P2端口中的每個引腳都具有外部中斷輸入功能,要使某些引腳具有外部中斷功能,需要對IENx寄存器、PxIEN寄存器和PICTL寄存器進行適當?shù)脑O(shè)置。 除了各個中斷源都有自己的中斷使能開關(guān)之外,中斷系統(tǒng)還有一個總開關(guān),可以同“EA = 1;”來打開總中斷。

P0、P1和P2端口分別使用P0IF、P1IF和P2IF作為中斷標志位,任何一個端口組上的引腳產(chǎn)生外部中斷時,都會將對應(yīng)端口組的中斷標志自動置位。注意,外部中斷標志必須在中斷服務(wù)函數(shù)中手工清除,否則CPU會反復(fù)進入中斷。 端口狀態(tài)標志寄存器P0IFG、P1IGF和P2IFG,分別對應(yīng)3個端口中各引腳的中斷觸發(fā)狀態(tài),當某引腳發(fā)生外部中斷觸發(fā)時,對應(yīng)的標志位會自動置位,這個標志同樣需要手工清除。
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 原理圖
    +關(guān)注

    關(guān)注

    1285

    文章

    6207

    瀏覽量

    230920
  • 按鍵
    +關(guān)注

    關(guān)注

    4

    文章

    222

    瀏覽量

    57491
  • CC2530
    +關(guān)注

    關(guān)注

    19

    文章

    220

    瀏覽量

    57482
  • 外部中斷
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

    15738
收藏 人收藏

    評論

    相關(guān)推薦

    CC2530 GPIO口輸入配置配置步驟

    介紹CC2530 GPIO口輸入配置配置。
    的頭像 發(fā)表于 07-06 14:40 ?2126次閱讀
    <b class='flag-5'>CC2530</b> GPIO口輸入<b class='flag-5'>配置</b><b class='flag-5'>配置</b><b class='flag-5'>步驟</b>

    CC2530外部中斷怎么使用

    摘要本文章主要介紹了CC2530外部中斷的使用,通過兩個按鍵P1.2和P0.1實現(xiàn)兩個中斷,打斷主函數(shù),實現(xiàn)嵌套的功能。
    發(fā)表于 12-01 07:41

    CC2530外部中斷的相關(guān)資料下載

    聲明:文章內(nèi)容皆為學習過程所理解,多主觀,僅供自己參考,多有疏漏,或有不當之處,多多包涵。這一章學習CC2530外部中斷,以按鍵中斷控制LED燈亮滅為例首先,
    發(fā)表于 12-06 08:07

    ZigBee通信應(yīng)用CC2530外部中斷應(yīng)用

    ZigBee通信應(yīng)用CC2530外部中斷應(yīng)用-外部中斷控制LED亮滅外部
    發(fā)表于 12-07 06:57

    基于CC2530的SDHC卡讀寫設(shè)計

    提出了將SDHC卡作為CC2530外部存儲設(shè)備實現(xiàn)數(shù)據(jù)存儲的方法。SDHC卡具有體積小、存儲容量大的特點,通過CC2530組建的無線傳感網(wǎng)絡(luò)適用于工業(yè)監(jiān)測,而將SDHC卡與CC2530
    發(fā)表于 05-02 14:28 ?3547次閱讀
    基于<b class='flag-5'>CC2530</b>的SDHC卡讀寫設(shè)計

    cc2530 adc測外部電壓

    CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應(yīng)用的一個真正的片上系統(tǒng)(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網(wǎng)絡(luò)節(jié)點。要在zigbee的組網(wǎng)中加入煙霧傳感器的模塊,所以需要用到cc2530的ADC對傳感器輸
    發(fā)表于 11-07 18:53 ?5458次閱讀
    <b class='flag-5'>cc2530</b> adc測<b class='flag-5'>外部</b>電壓

    CC2530授課筆記】⑥ 外部中斷中斷嵌套 (51內(nèi)核單片機)

    摘要本文章主要介紹了CC2530外部中斷的使用,通過兩個按鍵P1.2和P0.1實現(xiàn)兩個中斷,打斷主函數(shù),實現(xiàn)嵌套的功能。
    發(fā)表于 11-22 12:51 ?3次下載
    【<b class='flag-5'>CC2530</b>授課筆記】⑥ <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>及<b class='flag-5'>中斷</b>嵌套 (51內(nèi)核單片機)

    CC2530學習筆記:第二章:CC2530按鍵中斷控制

    聲明:文章內(nèi)容皆為學習過程所理解,多主觀,僅供自己參考,多有疏漏,或有不當之處,多多包涵。這一章學習CC2530外部中斷,以按鍵中斷控制LED燈亮滅為例首先,
    發(fā)表于 11-23 17:51 ?3次下載
    <b class='flag-5'>CC2530</b>學習筆記:第二章:<b class='flag-5'>CC2530</b>按鍵<b class='flag-5'>中斷</b>控制

    CC2530外部中斷部分代碼

    ZigBee通信應(yīng)用CC2530外部中斷應(yīng)用-外部中斷控制LED亮滅外部
    發(fā)表于 11-24 16:36 ?0次下載
    <b class='flag-5'>CC2530</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>部分代碼

    CC2530控制LED閃爍

    CC2530控制LED閃爍CC2530 控制LED閃爍電路圖知識點CC2530有兩個高頻時鐘輸入輸出配置程序及注釋CC2530 控制LED閃
    發(fā)表于 11-29 18:51 ?15次下載
    <b class='flag-5'>CC2530</b>控制LED閃爍

    CC2530定時器3

    LED1的亮滅周期為2s。文章目錄CC2530用定時器3完成對LED1周期為2s控制前言一、定時器3和定時器1哪些不同?二、使用步驟1.配置LED12.配置定時器33.完成
    發(fā)表于 11-29 18:51 ?9次下載
    <b class='flag-5'>CC2530</b>定時器3

    cc2530按鍵中斷

    cc2530按鍵中斷#include "ioCC2530.h"#define LED1 P1_0#define LED2 P1_1#define ON 1#define OFF
    發(fā)表于 11-29 20:21 ?9次下載
    <b class='flag-5'>cc2530</b>按鍵<b class='flag-5'>中斷</b>

    CC2530外部中斷控制流水燈

      實驗?zāi)康?   1)、通過實驗掌握CC2530芯片GPIO的配置方法,帶你一步步走進嵌入式大門   2)、握Led驅(qū)動電路及開關(guān)Led的原理   3)、過按鍵key1產(chǎn)生外部
    發(fā)表于 04-11 15:31 ?3次下載

    CC2530外部中斷控制LED開關(guān)實驗

      實驗?zāi)康?   1)、通過實驗掌握CC2530芯片GPIO的配置方法,帶你一步步走進嵌入式大門   2)、握Led驅(qū)動電路及開關(guān)Led的原理   3)、過按鍵key1產(chǎn)生外部
    發(fā)表于 04-11 15:34 ?2次下載

    cc2530中斷控制位是什么?

    cc2530是一款著名的無線通信芯片,它內(nèi)置了豐富的功能和資源,其中包括總中斷控制位。在本文中,將介紹cc2530中斷控制位的概念、作用、使用方法以及注意事項。 首先,讓我們來了解一
    的頭像 發(fā)表于 01-08 09:37 ?752次閱讀