在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CC2530(zigbee)入門開發: 外部中斷配置

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-05-28 13:33 ? 次閱讀

第一章 外部中斷與按鍵硬件原理圖分析

中斷在單片機里非常常用,專門來處理緊急事件。比如: 串口接收中斷可以實時知道有數據到達,定時器超時中斷可以實時知道時間到達,外部中斷可以實時知道外部設備產生了事件需要立即處理。

CC2530一個有18個中斷源,每個中斷源都由各自的一系列特殊功能寄存器來進行控制??梢耘渲孟嚓P特殊功能寄存器,設置18個中斷源的優先級以及使能中斷申請響應。

CC2530的P0、P1和P2端口中的每個引腳都具有外部中斷輸入功能,要使某些引腳具有外部中斷功能,需要對IENx寄存器、PxIEN寄存器和PICTL寄存器進行適當的設置。

除了各個中斷源都有自己的中斷使能開關之外,中斷系統還有一個總開關,可以同"EA = 1;"來打開總中斷。

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

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

一般在單片機里學習外部中斷時,都采用獨立按鍵配置學習,方便演示效果;

下面就介紹按鍵的外部中斷配置流程,并編寫示例代碼。

image.png

第二章 配置按鍵中斷步驟

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

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


#include 

//定義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)          
    {  
            
    }
}

審核編輯:湯梓紅

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

    關注

    6065

    文章

    44940

    瀏覽量

    647961
  • CC2530
    +關注

    關注

    19

    文章

    221

    瀏覽量

    58799
  • 外部中斷
    +關注

    關注

    1

    文章

    133

    瀏覽量

    16126
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    CC2530 外部中斷配置步驟

    介紹CC2530 外部中斷配置步驟。
    的頭像 發表于 07-06 14:41 ?3960次閱讀
    <b class='flag-5'>CC2530</b> <b class='flag-5'>外部</b><b class='flag-5'>中斷</b><b class='flag-5'>配置</b>步驟

    ZigBee cc2530為什么要進行中斷重映射?

    關于ZigBee cc2530中OAD中的interrupt_stubs.s51,為什么要進行中斷重映射,關于cc2530中斷重映射的資料應
    發表于 04-05 09:22

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

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

    【技術精選】嵌入式STM32原創征文活動精選文章

    CC2530(zigbee)入門開發: 串口收發配置CC2530(zigbee)
    發表于 07-27 18:26

    基于CC2530芯片_zigbee基礎實驗

    zigbee基礎實驗,基于CC2530芯片
    發表于 12-11 10:48 ?49次下載

    cc2530 adc測外部電壓

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

    如何使用ZigBee TI ZStack CC2530 2.5搭建開發環境

    本文檔的主要內容詳細介紹的是如何使用ZigBee TI ZStack CC2530 2.5搭建開發環境。
    發表于 05-10 18:14 ?28次下載
    如何使用<b class='flag-5'>ZigBee</b> TI ZStack <b class='flag-5'>CC2530</b> 2.5搭建<b class='flag-5'>開發</b>環境

    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>部分代碼

    基于CC2530ZigBee通信網的應用設計.pdf

    基于CC2530ZigBee通信網的應用設計.pdf
    發表于 12-15 18:17 ?23次下載

    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(zigbee)入門開發: 安裝IAR開發環境

    CC2530本身是一個51單片機內核,開發過51的搞起來非常容易,也就是多了一個無線射頻部分;如果不使用無線射頻功能,那么就和一個正常的51單片機一樣。要進行CC2530的軟件開發,需
    的頭像 發表于 05-28 13:38 ?1.3w次閱讀
    <b class='flag-5'>CC2530</b>(<b class='flag-5'>zigbee</b>)<b class='flag-5'>入門開發</b>: 安裝IAR<b class='flag-5'>開發</b>環境

    基于CC2530ZigBee通信網絡的應用設計

    電子發燒友網站提供《基于CC2530ZigBee通信網絡的應用設計.pdf》資料免費下載
    發表于 10-26 09:34 ?3次下載
    基于<b class='flag-5'>CC2530</b>的<b class='flag-5'>ZigBee</b>通信網絡的應用設計
    主站蜘蛛池模板: 婷婷在线影院 | sihu影院永久在线影院 | 天天操天天干天天操 | 夜色爽爽| 天天做天天爱天天操 | 免费免费啪视频在线 | 永久黄网站色视频免费 | 激情视频综合网 | 激情天堂 | 亚洲人成电影在线 | 国产精品视频一区国模私拍 | 四虎成人免费观看在线网址 | 久久99久久精品国产99热 | 曰本裸色私人影院噜噜噜影院 | 九九热最新| 2021国产精品久久 | 窝窝午夜在线观看免费观看 | 伊人网综合在线观看 | 一级毛片美国一级j毛片不卡 | 狠狠鲁狠狠操 | 四虎在线精品免费高清在线 | 可以免费看黄的网址 | 天天干天天操天天干 | 色多多在线免费观看 | 日本黄色一级网站 | 亚洲综合激情另类专区 | а中文在线天堂 | 国产自在自线午夜精品视频在 | 99久久99久久精品免费看子伦 | 永久免费的拍拍拍网站 | 国产一级特黄aa级特黄裸毛片 | qvod高清在线成人观看 | 人人乳乳香蕉大免费 | 欧美日a | 国产精品7m凸凹视频分类大全 | 一个色在线 | 日本免费a级片 | 天堂bt| 天天插天天爽 | 国产精品毛片天天看片 | 国产成人a一区二区 |