51单片机中断函数与普通函数的区别

中断函数的结构形式:

void 中断函数名(void) interrupt n.(using m)

其中:n表示第n个中断,m表示第m组工作寄存器,默认为0.

n取0-3,m取0-5

例如:void timeroisr (void) interrupt 1using 1

中断函数与普通函数的区别:

①中断函数与普通函数相比要注意在入口屏蔽一些中断,在出口恢复,防止中断函数在处理重要工作中又被中断重入,导致处理异常。

②中断函数还要注意在入口保存重要的寄存器状态,特别是函数中用到的寄存器,在出口恢复,防止中断函数结束后给正常程序带来异常。

③普通函数相当于子程序,完全可以写到主函数当中去。

④中断函数一般是和硬件相关联,在一定条件下才跳转进入的函数。

⑤中断函数需要预先设定中断条件。

⑥中断服务程序的入口地址是相对固定的,而普通的功能程序入口则是随意设置的,此外,中断服务程序的调用是靠中断申请信号而非普通程序。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值