在51单片机中 按一个键 程序跳到串口中断中 然后在按一下这个键 又跳回主程序 请问如何实现

2024-11-27 16:31:51
推荐回答(5个)
回答1:

这是不行的,如果是外部中断的话,你可以讲键接到外部中断IO口,可以实现,定时器中断,可以接入到定时器IO口,用计数器模式,也可以实现,但串口中断却不可以的 。

回答2:

能不能说说你要完成什么功能?非要这么实现我感觉是可以的,可是我想先知道你这是要干什么。

好吧,你可以把A键的外部中断设置为边沿触发(下降沿)(假设是那个外部中断的引脚是sbit ext0=P3^0),然后在中断函数里面写上
int flag=1;
while(flag)
{
if(1==ext0)
{
flag=0;
}
}

我写得这个没加消抖,不过意思应该明白了吧

回答3:

没这么用过,你的意思还是有键按下后通过串口发送信息,那直接调用一段发送子程序就是了。
如果你非得用中断,试试给TI,RI置1

回答4:

如果用串口的话,按了A键(打开串口),此时,传送一个数字,并判断是否符合,然后再按B,C键增加或减少数字,D键关闭串口.
如果不用串口的话,可以用A做一个位判断标志,按下时,可以进行B或C的加减,并进行数码管的显示,按D可以将A做的标志清0.,,,

回答5:

貌似难实现,就算你能跳进中断,你总不能呆在里面不出来吧?中断执行完后会自己返回的。