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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3308|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

把按鍵放在單片機(jī)外部中斷0按的時(shí)候按一下跳幾次?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:190152 發(fā)表于 2021-8-1 21:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
100黑幣
//晶振12MHz
//在P1_0輸出20KHz,0-255級(jí)可調(diào)占空比 每一級(jí)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;//定時(shí)器0工作方式2 8位自動(dòng)重裝
TH0=255;//pwm 50us 20khz
TL0=255;
TR0=1;//開始計(jì)時(shí)
ET0=1;//允許定時(shí)器中斷
EX0=1;//開啟外部中斷1
EA=1;//開啟總中斷
}
void main(void)
{
InitT0();//初始化T0定時(shí)器
while(1)
{
}
}
void Timer0(void) interrupt 1//用于PWM的定時(shí)器
{
static unsigned char counter=0;//記錄中斷次數(shù)
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;
                        }
                }
        }




希望各位指點(diǎn)一下。謝謝

最佳答案

查看完整內(nèi)容

IT0=1; //設(shè)置外部中斷0的觸發(fā)方式為下降沿 進(jìn)入中斷后停止中斷(EX0=0;) 直到中斷鍵放開后再開延時(shí)開啟中斷 If(P32==1){ Delay(10); EX0=1; }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

板凳
ID:190152 發(fā)表于 2021-8-1 22:28 | 只看該作者
優(yōu)雅的刺猬 發(fā)表于 2021-8-1 22:13
沒添加去抖動(dòng)的功能,加上就好了

怎么加。我試著加了一下結(jié)果都按鍵都沒有反應(yīng),
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:336165 發(fā)表于 2021-8-1 22:13 | 只看該作者
沒添加去抖動(dòng)的功能,加上就好了
回復(fù)

使用道具 舉報(bào)

樓主
ID:161164 發(fā)表于 2021-8-1 21:21 | 只看該作者
IT0=1;        //設(shè)置外部中斷0的觸發(fā)方式為下降沿

  進(jìn)入中斷后停止中斷(EX0=0;)
  直到中斷鍵放開后再開延時(shí)開啟中斷
If(P32==1){
Delay(10);
EX0=1;
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表