新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用外中斷方式讀按鍵,控制燈的亮滅

        用外中斷方式讀按鍵,控制燈的亮滅

        作者: 時間:2016-10-15 來源:網絡 收藏

        這一顆,我們學習的用法。也就是外部IO的中斷INT0,和INT1。對應的引腳是P32和P33。在我們的電路圖中,P32也就是接在K1的引腳。所以當我們按下P32接到地的時候,可以觸發一個INT0中斷,當然,必須預先初始化才會啟動。

        本文引用地址:http://www.104case.com/article/201610/307631.htm

        這種中斷方式的按鍵,可以實現按鍵的立即響應。對于需要快速響應的場合是很有用的。外部IO中斷還常用在用IO模擬通訊的場合,可以對數據的到來立即響應。

        下面請看代碼:

        DDDDDDDDDDDDDDDDD

        #define uchar unsigned char //定義一下方便使用

        #define uint unsigned int

        #define ulong unsigned long

        #include //包括一個52標準內核的頭文件

        sbit P10 = P1^0; //頭文件中沒有定義的IO就要自己來定義了

        sbit P11 = P1^1;

        sbit P12 = P1^2;

        sbit P13 = P1^3;

        sbit K1= P3^2;

        bit ldelay=0; //長定時溢出標記,預置是0

        uchar speed=10; //設置一個變量保存默認的跑馬燈的移動速度

        uchar speedlever=0; //保存當前的速度檔次

        char code dx516[3] _at_ 0x003b;//這是為了仿真設置的

        //用方式K1,點亮一個LED

        void main(void) // 主程序

        {

        IT0=1; //跳變產生中斷

        EX0=1;

        EA=1; //打開總中斷

        while(1) //主程序循環

        {

        }

        }

        //外中斷0

        int0() interrupt 0

        {

        P10=0; //在中斷里點亮LED

        }

        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

        這個程序里,按一下K1(P32)之后,就會觸發INT0中斷,在該中斷里點亮LED燈。

        請編譯運行,并看結果。可以看到,在按下K1之后,LED1變處于亮著的狀態。

        作業:

        用中斷方式的按鍵K1,控制一個LED燈的亮和滅兩種狀態

        提示:需要去抖操作,否則按鍵抖動會引起多種中斷。



        關鍵詞: 外中斷 讀按鍵

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 阜新市| 沿河| 乌拉特中旗| 中超| 九龙坡区| 汨罗市| 友谊县| 康马县| 香港| 沙坪坝区| 湘乡市| 策勒县| 博客| 张家港市| 武胜县| 盐池县| 林周县| 江达县| 蒲城县| 凤庆县| 周口市| 长治县| 吉木萨尔县| 吴堡县| 武定县| 漠河县| 宝兴县| 繁昌县| 昌吉市| 嘉善县| 屯门区| 伊春市| 兴业县| 邯郸县| 玉林市| 比如县| 化隆| 红桥区| 肇东市| 利津县| 崇阳县|