欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 把按鍵放在單片機外部中斷0按的時候按一下跳幾次? [打印本頁]

作者: 高低都不調    時間: 2021-8-1 21:21
標題: 把按鍵放在單片機外部中斷0按的時候按一下跳幾次?
//晶振12MHz
//在P1_0輸出20KHz,0-255級可調占空比 每一級0.39%
#include<at89x51.h>
unsigned char PWM=0x01;//PWM的百分比
sbit KEY=P1^5;
sbit L1=P1^1;//檔位顯示LED
sbit L2=P1^2;
sbit L3=P1^3;
sbit L4=P1^4;

unsigned int cnt;
void InitT0(void)
{
TMOD=0x02;//定時器0工作方式2 8位自動重裝
TH0=255;//pwm 50us 20khz
TL0=255;
TR0=1;//開始計時
ET0=1;//允許定時器中斷
EX0=1;//開啟外部中斷1
EA=1;//開啟總中斷
}
void main(void)
{
InitT0();//初始化T0定時器
while(1)
{
}
}
void Timer0(void) interrupt 1//用于PWM的定時器
{
static unsigned char counter=0;//記錄中斷次數
counter++;
if(counter >= PWM) P1_0 = 0; else P1_0 = 1;
}

void INTERR(void) interrupt 0
        {
        cnt++;
                {
                switch(cnt)
                        {
                        case 1:PWM=0x00;L1=1;L2=1;L3=1;L4=1;break;
                         case 2:PWM=0x37;L1=0;L2=1;L3=1;L4=1;break;
                         case 3:PWM=0x7D;L1=1;L2=0;L3=1;L4=1;break;
                         case 4:PWM=0xAF;L1=1;L2=1;L3=0;L4=1;break;
                        case 5:PWM=0xFF;L1=1;L2=1;L3=1;L4=0;cnt=0;break;
                         default:break;
                        }
                }
        }




希望各位指點一下。謝謝

作者: lkc8210    時間: 2021-8-1 21:21
IT0=1;        //設置外部中斷0的觸發方式為下降沿

  進入中斷后停止中斷(EX0=0;)
  直到中斷鍵放開后再開延時開啟中斷
If(P32==1){
Delay(10);
EX0=1;
}
作者: 優雅的刺猬    時間: 2021-8-1 22:13
沒添加去抖動的功能,加上就好了
作者: 高低都不調    時間: 2021-8-1 22:28
優雅的刺猬 發表于 2021-8-1 22:13
沒添加去抖動的功能,加上就好了

怎么加。我試著加了一下結果都按鍵都沒有反應,




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