单片机主程序不执行中断

单片机主程序不执行中断,第1张

单片机的中断是一个很高明的办法。没有中断时单片机只会顺序执行主程序中的语句

2、单片机的定时器有自己的时钟,打开

51单片机

的定时器后,单片机一边顺序执行主程序的语句时,一边定时器在计时。当计到你设定的值后,他需要产生中断,然后暂停主程序语句,转到中断程序中执行你的命令。执行完命令后返回到主程序的顺序语句中。然后知道下一次中断来临,再次产生中断。

3、要让他能产生中断,你就必须开中断。这就像一个

控制开关

,你不把开关打开,灯怎么会亮

首先在程序的开头加入一句定义,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代表什么,我也查阅了很多资料


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11003406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存