
51单片机 C语言 如何实现中断调用 10
当正在执行第一个子程序的时候(如方式一的花样灯),在该程序还没有执行完毕的时候,按下第二个按键,就自动跳转到第二个子程序(方式二的花样灯),检测到第三个按键按下后又跳转到...
当正在执行第一个子程序的时候(如方式一的花样灯),在该程序还没有执行完毕的时候,按下第二个按键,就自动跳转到第二个子程序(方式二的花样灯),检测到第三个按键按下后又跳转到第三个子程序
最好有C语言的实例 语句后面加上//注释 展开
最好有C语言的实例 语句后面加上//注释 展开
4个回答
展开全部
你这个不是中断调用,只是一种模式选择。也就是按键1按下之后按照一种方式扫描显示灯,按键2按下之后按照另一种方式显示灯·············。很简单的。我习惯用switch case 结构,想想就解决了。
更多追问追答
追问
我是说子程序正在运行的时候啊,比如正在执行第一种流水灯(是一个while(1)死循环),怎么检测到第二个按键按下,挑战到第二个程序呢?
追答
那就是你程序结构的问题了,你的子函数做成功能的,面向对象的,这样你可以从外部传进去参数的啊,void fuc(char 11,char 22,````)在函数的代码中处理上述参数达到不同效果,这个功能函数你可以定时调用,或者事件触发。你说的功能也可可以的 借助if····break;结构实现 就是在while(1)中放入上述结构,如果有相应的事件就跳出本次循环。不建议用go to 语句。
展开全部
#include<stc.h>
sbit d1=P2^0;
sbit p1=P2^1;
void main()
{
方式一;
}
void main()
{ EA=1;
EX0=1;
IT0=1;
方式二;
}
void main()
{ EA=1;
EX1=1;
IT0=1;
方式三;
}
void zd0() interrupt 0
{
d1=0;
}
void zd1() interrupt 1
{
p1=0;
}
用的是外部中断0和1,程序很简单,注释就不写了。如果有错误的话,还请指正。
sbit d1=P2^0;
sbit p1=P2^1;
void main()
{
方式一;
}
void main()
{ EA=1;
EX0=1;
IT0=1;
方式二;
}
void main()
{ EA=1;
EX1=1;
IT0=1;
方式三;
}
void zd0() interrupt 0
{
d1=0;
}
void zd1() interrupt 1
{
p1=0;
}
用的是外部中断0和1,程序很简单,注释就不写了。如果有错误的话,还请指正。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你程序里设置个检测条件,检测到按键后就无条件跳转就ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多线程了解一下
自行百度thread库
自行百度thread库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询