新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)外部中斷示例

        51單片機(jī)外部中斷示例

        作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
        void Usart_INT0_init()

        {
        TMOD = 0X21;
        TH1 = 0XFD;
        TL1 = 0XFD;
        SM0 = 0;
        SM1 = 1;
        REN = 1;
        TR1 = 1;

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

        //ES = 1;//串口中斷影響外部中斷0 這句話會(huì)讓程序無法進(jìn)入外部中斷服務(wù)

        TH0 = 0;
        TL0 = 0;
        ET0 = 0;//關(guān)閉定時(shí)器0

        IT0 = 1;//外部中斷下降沿觸發(fā)*/
        EX0 = 1;//打開外部中斷

        EA = 1;
        //ES = 1;
        }

        void Send_data(unsigned char dat)
        {
        SBUF = dat;
        while(!TI);
        TI = 0;
        }

        int j;

        void main()
        {
        unsigned int i;
        LED = LED_ON;
        //LED = LED_OFF;
        flag_test_high = ON;


        IN0 = 1;
        Usart_INT0_init();

        EX0 = 1;
        while(1)
        {
        /*i=40000;
        while(i--);*/

        /*flag_test_high = ON;

        EX0 = 1;
        while(flag_test_high == ON);
        EX0 = 0;
        //Send_data(a);*/
        Send_data(result|0x30);
        }
        }

        void EX_int(void) interrupt 0
        {
        EX0 = 0;

        ET0 = 1;//打開定時(shí)器
        TR0 = 1;
        while(IN0 == 0);
        TR0 = 0;

        tem_TH = TH0;
        tem_TL = TL0;
        sum = tem_TH*256 + tem_TL;
        sum = (int)sum/1000;
        result = 9 - sum;
        //result = 9-(int)(10*(TH0*256 + TL0)/10000);//分步計(jì)算避免出錯(cuò)

        TH0 = 0;
        TL0 = 0;

        LED = LED_OFF;
        //Send_data(result|0x30);
        flag_test_high = OFF;
        ET0 = 0;//關(guān)閉定時(shí)器
        EX0 = 1;
        }



        關(guān)鍵詞: 51單片機(jī)外部中

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 孟村| 淮滨县| 呼图壁县| 保德县| 天长市| 安泽县| 荆门市| 乌兰县| 定襄县| 乌兰浩特市| 丰镇市| 潮州市| 犍为县| 江华| 克拉玛依市| 集贤县| 达拉特旗| 大同市| 根河市| 朝阳区| 延川县| 石阡县| 虞城县| 平顶山市| 濉溪县| 任丘市| 女性| 衡东县| 肇州县| 衡阳市| 陈巴尔虎旗| 综艺| 济南市| 玉屏| 湖口县| 梁河县| 承德市| 石台县| 仁化县| 揭西县| 盐津县|