亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: C51 簡單的程序求教,為何會執行兩次中斷? [打印本頁]

作者: 張小帥1126    時間: 2018-10-27 17:27
標題: C51 簡單的程序求教,為何會執行兩次中斷?
以下程序的目的是遙控門鎖程序,就是我按下按鍵觸發下降沿中斷后 執行電動機“正轉1秒”,“延時1秒”,“反轉1秒”程序如下:
可實驗發現,每次中斷都執行兩個回合以上動作,甚至有時3個回合。
STC15F408as 型單片機。

#include "STC15W4K.H"            // 包含 "STC15W4K.H"寄存器定義頭文件
sbit        P1_4=P1^4;          //指示燈
sbit djoff = P1^0;                //電機關信號
sbit djon = P1^1;                //電機開信號
void delay1S(void)                  // 22.1184
{
   unsigned char i,j,k;
   for(i=85;i>0;i--)     //注意后面沒分號
   for(j=40;j>0;j--)    //注意后面沒分號
   for(k=255;k>0;k--);    //注意后面有分號
}

void main()
{       
//        INT0 = 1;
        IT0=1;                       // 設置為下降沿觸發
        EX0=1;                 // 開外部中斷0
        EA=1;                                   // 開總中斷       
        P1_4 = 0;                                  
        while(1)
        {
                if(P1_4 == 1)
                {
                        djoff = 0;   //電機正轉
                        delay1S();           //延時一秒  
                        djoff = 1;   //電機正轉停
                        delay1S();           //延時一秒
                        djon = 0;    //電機反轉
                        delay1S();           //延時一秒
                        djon = 1;    //電機反轉停
                        delay1S();
                        delay1S();
                        delay1S();
                        P1_4 = 0;  //指示燈
                        EA=1;            //開總中斷
                }
        }
}
void EXT0(void) interrupt 0
{
        EA=0;      //關總中斷
        P1_4 = 1;  //進入中斷指示燈               
}


作者: HC6800-ES-V2.0    時間: 2018-10-28 07:29
按鍵要消抖!!!!!!!!!!
外部中斷程序執行時間長,則可以不用消抖,或消抖時間不長。
看我的:
void Int0(void)        interrupt 0//外部中斷0的中斷服務函數
{
        Delay10ms(25);
        IE0=0;
(中斷執行的內容)
        Delay10ms(25);
        IE0=0;
}

作者: angmall    時間: 2018-10-28 13:53
硬件消抖試一下呢?  用104電容去抖動,相關電路很多,試一下
作者: 祥子陳    時間: 2018-10-28 19:19
這種動作沒必要非用中斷吧,直接判斷不是更好,還可以自由增加軟件延時.
作者: yzwzfyz    時間: 2018-10-29 09:25
按了一次是你的認知,實際是多少次你說了不算,取決于按鈕金屬片實際接觸、彈開的次數!
作者: 張小帥1126    時間: 2018-10-30 11:20
謝謝大家!




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1