久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 989|回復: 0
打印 上一主題 下一主題
收起左側

關于zigbee的按鍵

[復制鏈接]
跳轉到指定樓層
樓主
ID:1118179 發表于 2024-4-24 21:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
中斷服務函數與一般自定義函數不同,有特定的書寫格式:
<1> 在每一個中斷服務函數之前,都要加上一句起始語句:
        #pragma vector = <中斷向量>
        <中斷向量>表示接下來要寫的中斷服務函數是為那個中斷源服務的,該 語句有兩種寫法:
        #pragma  vector = 0x7B    或者    #pragma  vector = P1INT_VECTOR
        前者是中斷向量的入口地址,后者是頭文件“ioCC2530.h”中的宏定義。
<2> _ _interrupt關鍵字表示該函數是一個中斷服務函數,<函數名稱>可以 自定義,函數體不能帶有參數,也不能有返回值。


按照步驟走
1. 先配置按鍵的寄存器輸入配置  以按鍵P1_2為例
P1SEL &=~0x04;   
P1DIR &= ~0x04;
P1INP &= ~0x04; //設置為上拉引腳

2.配置中斷寄存器 以先位中斷允許   然后端口中斷允許 最后總中斷允許的順序去配置

1.P1IEN |= 0x04;   //位中斷允許

2.  IEN2 |=0x10;  //端口中斷允許

3.  PICTL =0x00;               //配置跳變沿方向  上升沿
4. EA=1;  //總中斷標志
5. P1IFG=0;   //中斷標志位清


下述是整體代碼 實現按鍵第一次按下 led1亮  第二次按下 led2亮 第三次按下全亮  第四次按下全滅的效果

  1. #include<ioCC2530.h>
  2. //led低電平是亮燈
  3. #define led1(x) P1_0=x
  4. #define led2(x) P1_1=x
  5. volatile int cnt=0;
  6. void delay_us(int n)
  7. {
  8.   while(n--)
  9.   {
  10.     asm("nop");
  11.    
  12.   }
  13. }
  14. void delay_ms(int n)
  15. {
  16.   for(int i=0;i<n;i++)
  17.   {
  18.     delay_us(500);
  19.   }
  20. }
  21. void main()
  22. {
  23.   
  24.   //P1SEL &= ~0x03;
  25.   //P1DIR |= 0x03;
  26.    P1SEL &= ~0x07;
  27.    P1DIR |= 0x03;
  28.    P1DIR &= ~0x04;
  29.    P1INP &= ~0x04;
  30.    
  31.    P1IEN |= 0x04;
  32.    //P1IE =1;
  33.    IEN2 |= 0x10;
  34.    
  35.    PICTL |= 0x02;
  36.    
  37.    P1IFG =0x00;
  38.    EA=1;
  39.    
  40.   while(1)
  41.   {
  42.    
  43.   }
  44.   
  45. }
  46. #pragma vector =P1INT_VECTOR
  47. __interrupt void P1_ISR(void)
  48. {
  49.   if(P1IFG>0)
  50.   {
  51.     cnt++;
  52.     if(cnt%4==0)
  53.     {
  54.       led1(1);
  55.       led2(0);
  56.     }
  57.     if(cnt%4==1)
  58.     {
  59.       led1(0);
  60.       led2(1);
  61.     }
  62.     if(cnt%4==2)
  63.     {
  64.       led1(1);
  65.       led2(1);
  66.     }
  67.     if(cnt%4==3)
  68.     {
  69.       led1(0);
  70.       led2(0);
  71.     }
  72.     P1IFG=0;
  73.     P1IF=0;
  74.   }
  75.   
  76.   
  77. }
復制代碼





評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜日韩 | 精品国产91乱码一区二区三区 | 国产福利免费视频 | 米奇7777狠狠狠狠视频 | 欧美二区在线 | 亚洲一区二区久久 | 国产精品区二区三区日本 | 成人在线视频免费观看 | 红桃视频一区二区三区免费 | 中文字幕av色 | 日本a v在线播放 | av一区在线观看 | 午夜精品久久久久久久久久久久久 | 亚洲精品乱码 | 一区二区三区播放 | 日韩成人免费中文字幕 | 可以在线观看av的网站 | 久久久久亚洲 | 男人午夜视频 | 99精品久久99久久久久 | 欧美激情综合色综合啪啪五月 | 中文天堂在线一区 | 国产成人免费视频 | 亚洲精品成人免费 | 欧洲尺码日本国产精品 | 亚洲高清成人 | 欧美在线视频一区二区 | 欧美日韩在线国产 | 中文字幕亚洲在线 | 亚洲成av人片在线观看 | 福利网站导航 | 三级av网址| 亚洲精品久久久久avwww潮水 | 久久久一二三区 | 毛片99| 欧美日韩综合一区 | 精品一区视频 | 欧美a级成人淫片免费看 | 亚洲国产欧美91 | 日一区二区 | 精品国产成人 |