中易网

单片机外部中断0和外部中断1

答案:2  悬赏:0  
解决时间 2021-12-12 17:13
int0() interrupt 0 using 0
{

time1++;

}
time0() interrupt 3 using 2{

}
int1() interrupt 2 using 1{
time2++;
}
void main()
{
time1=0,time2=0;//外部中断个数清零
TMOD=0x10;//定时器T0方式1
EA=1;//CPU开中断
ET1=1;//允许定时器T0开中断
EX0=1;EX1=1;
TR1=1;//启动T0
IT0=0;//低电平触发
IT1=0;//低电平触发

while(1)
{ if(time1<10)
{ time1=0;
EW_FREE_SN_FREE();
}else if(time1<20)
{ time1=0;
EW_FREE_SN_NOR();
}
}
}
为什么当中断次数11时,程序 EW_FREE_SN_FREE();执行完后停住了;
最佳答案
不知你 time2 是否有用
EW_FREE_SN_FREE();执行一次要多长时间?若时间很短的话,有可能一直执行下去,因你不断地把 time1清0,time1<10永远满足 若时间较长的话,执行一次 EW_FREE_SN_FREE()后发现 不仅time1>10 而且 time1>20, 所以EW_FREE_SN_NOR()执行不了,但你说的中断次数为11,再次偱环 到else if(time1<20)时 EW_FREE_SN_NOR()应该可执行1次
EW_FREE_SN_NOR()执行时间不超过10次中断的话,又回到 if(time1<10)而执行 EW_FREE_SN_FREE(); 这也许是你想要和结果

若EW_FREE_SN_NOR()执行时间超过10次不超过20次中断的话,程序在此此反复执行

若EW_FREE_SN_NOR()执行时间超过20次中断的话,程序跑飞,两条语句都不执行,我也不知当time1溢出后它会不会回来
 若EW_FREE_SN_FREE()和EW_FREE_SN_NOR()两条语句占用时间不是定值的话,执行情况就更复杂了
全部回答
你想要的结果是不是应该要把While(1)中的第一个Time1=0去掉。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从玉林搭火车到南宁崇左要多少时间?
空气喷气发动机的意思是什么?空气喷气发动机
四门斗里的意思是什么啊?请解释下!
自己开车从迁安到秦皇岛野生动物园怎么走详细
泰山在哪个地方?说具体点
一场和一幕那个大呀?
思远大酒店停车场地址好找么,我有些事要过去
最先从经济学视角对创新进行系统性研究和阐述
云豆的意思是什么啊?请解释下!
新烟的意思是什么?新烟的释义是什么啊?
8号会所停车场地址在什么地方,想过去办事
人的胖瘦是不是有些天生的?
火车k837运行状况正常运行吗
巧偷豪夺的意思是什么啊?请解释下!
乡射的意思是什么?乡射的释义是什么啊?
推荐资讯
地图鱼怎么做才好吃
奔驰glk300(国产)一把车钥匙多少钱
迷败的意思是什么?迷败的释义是什么啊?
恋慕的意思是什么?恋慕的释义是什么啊?
印结的意思是什么?印结的释义是什么啊?
我借了两万的高利贷,四个月了,现在还清要还
静絜的意思是什么?静絜的释义是什么啊?
<<二泉映月>>这首二胡曲深受我国人民的喜爱.<
遲婚的意思是什么?遲婚的释义是什么啊?
打胎的意思是什么啊?请解释下!
谁能送我个赛尔号的号要厉害点的
我买了一套沙发交二百定经,现在不想要了怎么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?