c51单片机外部中断

用C语言写一个外部中断程序,用按键改变频率。要求用外部中断0,每按一次就进入中断改变一次频率,当改变3次之后再按下就跳出中断
下次再按这个开关的时候还能进入,最好要有注释

第1个回答  2017-12-11
sbit p32=P3^2;
void ext0() interrupt 0
{
unsigned num=0;
while(num<4)
    {
    while(p32==0);
    num++;
    freq+=100;
    }
}

追问

您好,您能够写的具体点么。我有点菜,不是特别懂

追答#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint fre,cnt;
sbit pluse=P1^0;
sbit key=P3^2;
void t0isr() interrupt 1
{
cnt++;
if(cnt>=fre)
    {
    pluse=~pluse;
    cnt=0;
    }
}
void ext0() interrupt 0
{
unsigned num=0;
while(num<4)
    {
    while(key==0);
    num++;
    freq+=100;
    }
}
main()
{
TMOD=0x02;
TH0=250;
TL0=250;
TR0=1;
ET0=1;
EA=1;
fre=100;
while(1);
}

本回答被提问者采纳
相似回答