国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

03 單片機外部中斷

2019-11-08 20:19:02
字體:
來源:轉載
供稿:網友
中斷初始化:1、     CPU中斷開關打開     EA=1;(IEN0)2、     自己所在的組開關打開P0組的中斷開關在IEN1的第5位,或者P0IEP1組的中斷開關在IEN2的第4位P2組的中斷開關在IEN2的第1位3、     自己的那個腳的開關也要打開4、     P0IEN 8 例如:如果我們要把P0_2這個腳的開關打開那么我們就必須要把P0INE的第2位在程序中設為15、     P1IEN 86、     P2IEN 87、     配置到底是上升沿還是下降沿產生中斷把PICTL對于的上升沿還是下降沿觸發設為想要的#PRagma vector=P2INT_VECTOR__interrupt  void  f1(){   P0IFG=0; //這個寄存器有8位分別是P0這一組里面8個腳的標志,如果某個腳的中斷產生那么它就會變成1,所以我們出中斷函數的時候必須要把他清零P0IF=0;  P1IF  P2IF

}

按鍵模塊:

頭文件:

#ifndef SD_KEY_H#define SD_KEY_Hvoid KeysIntCfg();#endif

實現文件:

#include<iocc2530.h>void delay(){   int i,j;   for(i=0;i<1000;i++)     for(j=0;j<30;j++);}void KeysIntCfg(){//Key3  Key4   Key5          P1SEL &=~0X02;     P1DIR &=~0X02;     IEN2|=0x10;//開P1IE組中斷     P1IEN|=0x02;//開Key3組內中斷     PICTL|=0x02;//設置P1_1為下降沿          P2SEL &=~0X01;     P2DIR &=~0X01;     IEN2|=0x02;     P2IEN|=0x01;     PICTL|=0x08;//設置P2_0為下降沿          P0SEL &=~0X20;     P0DIR &=~0X20;     P0IE=1;//或者寫成 IEN1|=0x20     P0IEN|=0x20;     PICTL|=0x01;//設置P0_5為下降沿               EA=1;      //開總中斷}#pragma vector=P1INT_VECTOR__interrupt void Key3_ISR() //P1_1{     delay();     if(P1IFG & 0X02)     {         P1DIR |=0X01;         P1_0 ^=1;               }     P1IFG =0;     P1IF=0;}#pragma vector=P2INT_VECTOR__interrupt void Key4_ISR()//P2_0{      delay();     if(P2IFG & 0X01)     {            P0DIR |=0x02;           P0_1 ^=1;     }     P2IFG =0;     P2IF=0;}#pragma vector=P0INT_VECTOR__interrupt void Key5_ISR()//P0_5{    delay();    if(P0IFG & 0X20)    {           P0SEL &=~0x10;           P0DIR |=0X10;           P0_4 ^=1;        }     P0IFG =0;     P0IF=0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇庆市| 黔西县| 子洲县| 贡山| 玉溪市| 安新县| 扎赉特旗| 长宁县| 奉化市| 上高县| 盐城市| 合川市| 安陆市| 错那县| 东明县| 泾川县| 汉沽区| 安庆市| 攀枝花市| 福安市| 广西| 昌宁县| 平顺县| 白朗县| 文化| 固原市| 曲周县| 垫江县| 新宁县| 黄石市| 清远市| 枞阳县| 光泽县| 四川省| 广河县| 大同市| 城固县| 赤峰市| 福建省| 沁水县| 大埔区|