给每个问题一个最好的答案

最方便的ChatGpt使用方法

单片机中断函数如何编写? - 搜狗问问

请先 登录 后评论

1 个回答

问问
匿名用户,匿名用户说
中断服务程序的入口地址是相对固定的,而普通的功能程序入口则是随意设置的,此外,中断服务程序的调用方式也不同于普通的功能程序,中断服务程序的调用是靠中断申请信号,而非普通的程序。

在C51中,中断服务程序同样是一种特殊的函数,其标准形式如下。

void 函数名(void)interrupt n using m

{

函数体语句

}

此处的interrupt和using是C51的关键字,interrupt表示该函数是一个中断服务函数,n表示该中断服务函数所对应的中断源,中断源与中断编号的对应关系见表

Using用指定该中断服务程序要使用的工作寄存器组号,m取值为0~3,当不使用关键字using时,编译系统将会把当前工作寄存器组的8个寄存器都压入堆栈,中断服务函数是由系统调用的,程序中的任何函数都不能调用中断服务函数。

一般可以不使用using m.

请先 登录 后评论
  • 13 关注
  • 0 收藏,397 浏览
  • 好好 提出于 2022-08-18 17:21

相似问题