51外部中断程序

#include<reg52.h>#defineuncharunsignedchar#defineunintunsignedintsbitLed1=P1^0;sbitLe... #include <reg52.h>
#define unchar unsigned char
#define unint unsigned int
sbit Led1 = P1^0;
sbit Led2 = P1^1;
sbit Key = P3^2;
void main()
{ Led1=1;
Led2=0;
IT0 = 0; //外部中断0采用电平触发方式;边沿触发为1下降沿有效
EA = 1; //中断允许
EX0 = 1; //开外部中断0
while(1);
}

void int0() interrupt 0 //边沿触发方式中断函数。每次Key下降沿改变Led状态
{
Led1 = ~Led1;
Led2 = ~Led2; //改变Led状态
}
我想开关开的时候LED1不亮,LED2亮,开关关闭时候LED1亮,LED2不亮。
但是上面的程序出现不了这样的效果,老师非让用外部中断来写这个程序
展开
 我来答
做而论道
高能答主

推荐于2017-10-12 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8458万
展开全部
#include <reg52.h>

sbit Led1 = P1^0;
sbit Led2 = P1^1;
sbit Key = P3^2;

void main()
{
EA = 1; //中断允许
EX0 = 1; //开外部中断0

while(1) {
Led1 = 1; Led2 = 0; //开关开的时候LED1不亮,LED2亮
}
}

void int0() interrupt 0 //电平触发
{
Led1 = 0; Led2 = 1; //开关关闭时候LED1亮,LED2不亮

while(Key == 0); //为零(开关关闭)就循环
}
等公交车8
2017-12-21
知道答主
回答量:1
采纳率:0%
帮助的人:954
展开全部
,,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式