新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用外中斷方式讀按鍵,控制燈的亮滅

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

        作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò) 收藏

        這一顆,我們學(xué)習(xí)的用法。也就是外部IO的中斷INT0,和INT1。對(duì)應(yīng)的引腳是P32和P33。在我們的電路圖中,P32也就是接在K1的引腳。所以當(dāng)我們按下P32接到地的時(shí)候,可以觸發(fā)一個(gè)INT0中斷,當(dāng)然,必須預(yù)先初始化才會(huì)啟動(dòng)。

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

        這種中斷方式的按鍵,可以實(shí)現(xiàn)按鍵的立即響應(yīng)。對(duì)于需要快速響應(yīng)的場(chǎng)合是很有用的。外部IO中斷還常用在用IO模擬通訊的場(chǎng)合,可以對(duì)數(shù)據(jù)的到來(lái)立即響應(yīng)。

        下面請(qǐng)看代碼:

        DDDDDDDDDDDDDDDDD

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

        #define uint unsigned int

        #define ulong unsigned long

        #include //包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件

        sbit P10 = P1^0; //頭文件中沒(méi)有定義的IO就要自己來(lái)定義了

        sbit P11 = P1^1;

        sbit P12 = P1^2;

        sbit P13 = P1^3;

        sbit K1= P3^2;

        bit ldelay=0; //長(zhǎng)定時(shí)溢出標(biāo)記,預(yù)置是0

        uchar speed=10; //設(shè)置一個(gè)變量保存默認(rèn)的跑馬燈的移動(dòng)速度

        uchar speedlever=0; //保存當(dāng)前的速度檔次

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

        //用方式K1,點(diǎn)亮一個(gè)LED

        void main(void) // 主程序

        {

        IT0=1; //跳變產(chǎn)生中斷

        EX0=1;

        EA=1; //打開(kāi)總中斷

        while(1) //主程序循環(huán)

        {

        }

        }

        //外中斷0

        int0() interrupt 0

        {

        P10=0; //在中斷里點(diǎn)亮LED

        }

        DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

        這個(gè)程序里,按一下K1(P32)之后,就會(huì)觸發(fā)INT0中斷,在該中斷里點(diǎn)亮LED燈。

        請(qǐng)編譯運(yùn)行,并看結(jié)果。可以看到,在按下K1之后,LED1變處于亮著的狀態(tài)。

        作業(yè):

        用中斷方式的按鍵K1,控制一個(gè)LED燈的亮和滅兩種狀態(tài)

        提示:需要去抖操作,否則按鍵抖動(dòng)會(huì)引起多種中斷。



        關(guān)鍵詞: 外中斷 讀按鍵

        評(píng)論


        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 通道| 蒲江县| 盐津县| 蒙自县| 田阳县| 德保县| 罗平县| 漾濞| 和政县| 天等县| 武宁县| 柳江县| 乌兰察布市| 邵武市| 敖汉旗| 永靖县| 黄山市| 尼勒克县| 綦江县| 全椒县| 汕头市| 邢台市| 渝中区| 白水县| 舟曲县| 集贤县| 营山县| 琼结县| 大厂| 乌兰县| 黎城县| 出国| 永年县| 微博| 岐山县| 罗定市| 樟树市| 左云县| 贡觉县| 乐平市| 阿荣旗|