请问在C51中如何用一个独立按键控制从头执行主程序?类似于复位按键?用外部中断可以吗?能否提供一个

请问在C51中如何用一个独立按键控制从头执行主程序?类似于复位按键?用外部中断可以吗?能否提供一个程序?

void int0(void) interrupt 0

这里的程序该怎么写?

想实现这个功能其实很简单

首先在程序的开头加入一句定义,sfr SAP = 0xe7;

SAP 是名称,可以随意改写

之后在外部中断或程序内添加一个按键检测的语句

例如

if(K1==0)//如果按键被按下
{
YS(20);//延时去抖
if(K1==0)//如果是有效按键触发
{
SAP=0x60;//执行软复位
}
}

此按键处理语句即可实现单片机的软复位操作

至于sfr SAP = 0xe7;这一条语句可以放在#include<reg52.h>头文件下面

#include<reg52.h>
sfr SAP = 0xe7
sbit K1=P3^3;//按键

至于这两个地址0x60和0xe7代表什么,我也查阅了很多资料

并没有找到详细介绍,既然没找到,那就不管他了,能用就好

哈哈!!!!!!!!
温馨提示:答案为网友推荐,仅供参考
相似回答