<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

CC2530 外部中斷配置步驟

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者: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口控制
 ?
 /*
 函數功能:LED燈IO口初始化
 硬件連接:LED1-- >P1_2 , LED2-- >P1_3
 */
 void LED_Init(void)
 {
     P1DIR |=0x3< 2;  //配置P1_2、P1_3為輸出模式
     LED1 = 1;
     LED2 = 1;
 }
 ?
 /*
 函數功能:初始化按鍵為中斷模式
 硬件連接: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;   //下降沿觸發(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--);
 }
 ?
 /*
 函數功能:P1端口中斷處理函數
 */
 #pragma vector = P1INT_VECTOR   //聲明P1口中斷服務函數的位置
  __interrupt void P1_Interrupt(void)  //中斷服務函數的名字的可以隨意命名
 { 
         if(P1IFG&1< 0)         //判斷按鍵1中斷
         {
           delay10ms();  
           if(!KEY1)
           {
              LED1 = !LED1;   
           }
            P1IFG&=~(1< 0);     //清中斷狀態
         }
         
         if(P1IFG&1< 1)         //判斷按鍵2中斷
         {
           delay10ms();  
           if(!KEY2)
           {
              LED2 = !LED2;   
           }
           P1IFG&=~(1< 1);     //清中斷狀態
         } 
         P1IF = 0;             //清P1口中斷標志
 }
 ?
 ?
 /*主函數*/
 void main(void)
 {
     LED_Init();//初始化LED燈控制IO口
     KEY_InterruptInit();//按鍵初始化
     while(1)          
     {  
             
     }
 }
 ?

第四章 CC2530的中斷系統說明

CC2530具有18個中斷源,每個中斷源都由各自的一系列特殊功能寄存器來進行控制??梢?a href="http://www.qd573.com/v/tag/1315/" target="_blank">編程設置相關特殊功能寄存器,設置18個中斷源的優先級以及使能中斷申請響應等。我們常用的中斷源有下面幾個:

img

CC2530的中斷處理函數編寫方法

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

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

CC2530的外部中斷

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

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

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

    關注

    1269

    文章

    6183

    瀏覽量

    226552
  • 按鍵
    +關注

    關注

    4

    文章

    220

    瀏覽量

    57370
  • CC2530
    +關注

    關注

    19

    文章

    220

    瀏覽量

    57269
  • 外部中斷
    +關注

    關注

    1

    文章

    131

    瀏覽量

    15673
收藏 人收藏

    評論

    相關推薦

    CC2530 GPIO口輸入配置配置步驟

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

    Cc2530

    CC2530
    三分溫柔
    發布于 :2022年05月31日 21:12:52

    CC2530外部中斷怎么使用

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

    CC2530外部中斷的相關資料下載

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

    ZigBee通信應用CC2530外部中斷應用

    ZigBee通信應用CC2530外部中斷應用-外部中斷控制LED亮滅外部
    發表于 12-07 06:57

    基于CC2530的SDHC卡讀寫設計

    提出了將SDHC卡作為CC2530外部存儲設備實現數據存儲的方法。SDHC卡具有體積小、存儲容量大的特點,通過CC2530組建的無線傳感網絡適用于工業監測,而將SDHC卡與CC2530
    發表于 05-02 14:28 ?3447次閱讀
    基于<b class='flag-5'>CC2530</b>的SDHC卡讀寫設計

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

    摘要本文章主要介紹了CC2530外部中斷的使用,通過兩個按鍵P1.2和P0.1實現兩個中斷,打斷主函數,實現嵌套的功能。
    發表于 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內核單片機)

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

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

    CC2530外部中斷部分代碼

    ZigBee通信應用CC2530外部中斷應用-外部中斷控制LED亮滅外部
    發表于 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閃
    發表于 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.完成
    發表于 11-29 18:51 ?9次下載
    <b class='flag-5'>CC2530</b>定時器3

    cc2530 按鍵喚醒功耗模式PM3例程

    功能描述cc2530 按鍵喚醒功耗模式PM3//CC2530的休眠和低功耗
    發表于 11-29 20:36 ?5次下載
    <b class='flag-5'>cc2530</b> 按鍵喚醒功耗模式PM3例程

    CC2530外部中斷控制流水燈

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

    CC2530外部中斷控制LED開關實驗

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

    cc2530中斷控制位是什么?

    cc2530是一款著名的無線通信芯片,它內置了豐富的功能和資源,其中包括總中斷控制位。在本文中,將介紹cc2530中斷控制位的概念、作用、使用方法以及注意事項。 首先,讓我們來了解一
    的頭像 發表于 01-08 09:37 ?409次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>