很简单的51单片机程序,在线等!!

发布网友 发布时间:2022-04-22 04:56

我来回答

3个回答

热心网友 时间:2023-11-22 02:50

你现在的程序 INT0是1的话 while(!INT0);是不执行的所以直接执行了下边的程序 所以那三个灯亮了

热心网友 时间:2023-11-22 02:50

INT0检测到低电平时,置低P2其中3个脚。

下列程序,即可够用:

#include "reg51.h"

sbit LED1 = P2^1;
sbit LED2 = P2^2;
sbit LED3 = P2^3;

void main()
{
while (1) {
while (INT0); //check INT0
while (!INT0); //check INT0
LED1 = 0;
LED2 = 0;
LED3 = 0;
}
}

热心网友 时间:2023-11-22 02:51

#include "reg51.h"
#include "intrins.h"

sbit LED1=P2^1;
sbit LED2=P2^2;
sbit LED3=P2^3;
sbit LED4=P2^5;
sbit LED5=P2^6;
sbit LED6=P2^7;

//External interrupt0 service routine
void exint0() interrupt 0 //(location at 0003H)
{
LED1=0;
LED2=0;
LED3=0;
P1=P1+1;
}

void main()
{
IT0 = 0; //set INT0 int type (1:Falling 0:Low level)
EX0 = 1; //enable INT0 interrupt
EA = 1; //open global interrupt switch
LED1=1;
LED2=1;
LED3=1;
LED4=1;
LED5=1;
LED6=1;
while (1);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com