永发信息网

C51单片机程序。利用外部中断INT0,INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;

答案:2  悬赏:10  手机版
解决时间 2021-04-04 00:52
C51单片机程序。利用外部中断INT0,INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;
最佳答案
#include
#include
#define uint unsigned int
#define uchar unsigned char

sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;

void Delay(uint ms)
{
uint i,j;
for(i=0;i for(j=0;j<1141;j++)
}

void main()
{
EX0=1;//开中断0
IT0=1;//下降沿触发
EX1=1;//开中断1
IT1=1;//下降沿触发
EA=1;//开总中断

LED1=1;
LED2=1;
LED3=1;
LED4=1;
LED5=1;
LED6=1;
LED7=1;
LED8=1;//LED初始状态为全灭
}

void INT0() interrupt 0
{
uint i;
for(i=0;i<4;i++)
{
LED8=0;
Delay(500);
LED8=1;
}
}

void INT1() interrupt 1
{
uint i;
for(i=0;i<4;i++)
{
LED1=0;
LED2=0;
Delay(500);
LED1=1;
LED2=1;
LED3=0;
LED4=0;
Delay(500);
LED3=1;
LED4=1;
LED5=0;
LED6=0;
Delay(500);
LED5=1;
LED6=1;
LED7=0;
LED8=0;
Delay(500);
LED7=0;
LED8=0;
}
}

备注:1、led对应引脚可以修改,程序中默认单片机引脚低电平点亮led,如果是高电平点亮
led,反过来设置引脚电平就可以了;
2、延时时间可以按自己需要修改;
3、#include这一句中的52根据实际需要修改,是51系列则改为51,52则改为
52,一定不能错,否则会出错。
全部回答
你可以再主函数里面写一个条件语句,在这个条件语句里写LED8亮8灭闪烁4次。然后在外部中断中写入达成这个条件的表达式追问能不能帮我写的详细点?谢谢追答你不会写中断吗????
我现在还得去做实验,等我中午有空的时候再给你写吧!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
神武穷奇,怎么算打死,不要方法。
历史上真的有精绝国吗
西餐什么最好吃?
比率分析指标按财务报表划分为哪些
单选题世界上最大的黄土堆积区是:A.黄土高原B
如何更换地漏不损坏瓷砖
当电容器两端电压由10v变为5v时其电荷量由q=C
高中励志赠言给女生版,年轻人的励志名言来点
问道巨蜥抗性点怎么加
为赌气她嫁给了街边的乞丐是什么书名
化学反应现象可以帮助我们判断化学反应是否发
情人节鲜花祝福语大全,给心爱的人早安祝福语
我家有个小九妹,聪明伶俐人见爱,描龙绣凤样
请问怎么检查刮大白墙面平不平,我指的不是小
三毛阅读答案
推荐资讯
宝马是"善意"还是回避召回?
SK2的眼霜好还是雅诗兰黛的眼霜好用
魔兽世界盘牙武器怎么用的?
03年贷款1300元忘记还,现在得还多少钱?
湖北荆门市离江苏南京有多远?
梦见父母骨瘦如柴
苹果手机密码忘了打开,连接不到titunes后,怎
什么人需要补充维生素,哪些人需要补维生素
关于威尼斯的名言,形容威尼斯的句子
畜禽 念什么
我买的房子贷款目前月供三个月不还了 有什么
电脑清缓存是什么意思,清除缓存是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?