在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)兩級中斷嵌套的示例C程序

            單片機(jī)兩級中斷嵌套的示例C程序

            作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏

            單片機(jī)兩級中斷嵌套的示例C程序

            本文引用地址:http://www.biyoush.com/article/201611/320293.htm

            #ifndef __DEMO_4_13_C__
            #define __DEMO_4_13_C__
            #include

            #define _MHZ_ 12 // 設(shè)置單片機(jī)使用的晶振頻率

            void delay10ms(unsigned int count); // 聲明延時函數(shù)


            void LED_show(unsigned long second);

            unsigned char g_count; // 全局變量,timer_int函數(shù)使用
            unsigned char g_second; // 全局變量,timer_int函數(shù)使用

            void main()
            {
            g_count = 0; // 設(shè)置全局變量初值
            g_second = 0;


            TMOD = 0x10; // T1使用定時模式,工作模式1,無門控位
            TH1 = 0xD8; // 為T1填入初值,定時時間10ms
            TL1 = 0xF0;
            TR1 = 1; // 啟動T1
            IT0 = 1; // 設(shè)置INTR0中斷方式為邊沿觸發(fā)方式,負(fù)跳變時產(chǎn)生中斷
            PT1 = 1; // 設(shè)置定時器1中斷為高優(yōu)先級
            ET1 = 1; // 允許定時器1中斷
            EX1 = 1; // 允許外部中斷0中斷
            EA = 1; // CPU開放中斷

            while(1); // 循環(huán)等待
            }


            void timer1_int() interrupt 3 using 3 // T1溢出中斷,使用工作組3
            { // 不同級別的中斷函數(shù)使用不同的工作組
            TH1 = 0xD8; // 重新填入初值
            TL1 = 0xF0;

            g_count++;
            if(g_count == 100) // 計時滿1s
            {
            g_count = 0; // 清0
            g_second++; // 總秒數(shù)增1,溢出時會自動歸0
            LED_show(g_second); // LED送顯
            }
            }


            void intr0_int() interrupt 0 using 2 // INTR0中斷,使用工作組2
            {
            unsigned char tmp;

            EA = 0; // 關(guān)中斷
            P1 = 0xff; // 在讀取P1口數(shù)據(jù)前,應(yīng)先對其寄存器置1
            tmp = P1; // 讀P1口
            EA = 1; // 開中斷

            delay10ms(100);

            EA = 0; // 關(guān)中斷
            tmp = ~tmp; // 變量取反
            P1 = tmp; // 送P1口
            EA = 1; // 開中斷
            }


            void delay10ms(unsigned int count)
            {
            unsigned int i, k;
            unsigned char j;
            unsigned int tmp;
            tmp = (int)((100*_MHZ_)/12);

            for(i=0; i for(j=0; j<100; j++)
            for(k=0; k}

            #endif



            關(guān)鍵詞: 單片機(jī)中斷嵌套C程

            評論


            技術(shù)專區(qū)

            關(guān)閉