void 函数名(void) interrupt n using m
{
函数体语句
}
interrupt using 是C51中断服务程序引入关键字只能用于C51中断服务程序逻辑
定义中断函数时,using是一个选项,可以省略不用。如果不用则由编译器选择一个寄存器组作为绝对寄存器组。
n是中断号
0 是外部中断0
1 是定时中断T0
2 是外部中断1
3 是定时中断T1
4 是串行中断
5 是定时器T2
m是寄存器组
0——3 4组
不使用编译器将当前工作寄存器都入堆栈
注意#include
使用中断函数时要注意的问题:
1. 在设计中断时,要注意的是哪些功能应该放在中断程序中,哪些功能应该放在主程序中。一般来说中断服务程序应该做最少量的工作,这样做有很多好处。首先系统对中断的反应面更宽了,有些系统如果丢失中断或对中断反应太慢将产生十分严重的后果,这时有充足的时间等待中断是十分重要的。其次它可使中断服务程序的结构简单,不容易出错。
中断程序中放入的东西越多,他们之间越容易起冲突。简化中断服务程序意味着软件中将有更多的代码段,但可把这些都放入主程序中。中断服务程序的设计对系统的成败有至关重要的作用,要仔细考虑各中断之间的关系和每个中断执行的时间,特别要注意那些对同一个数据进行操作的ISR.
2. 中断函数不能传递参数。
3. 中断函数没有返回值。
4. 中断函数调用其他函数,则要保证使用相同的寄存器组,否则出错。
5. 中断函数使用浮点运算要保存浮点寄存器的状态。
上一篇:串联锂离子电池组监测系统的设计
下一篇:C51编译器-高级编程技巧(6)-绝对存储器访问
推荐阅读最新更新时间:2024-03-16 15:20
设计资源 培训 开发板 精华推荐
- TE 最新趋势报告|《温度监测对发电机市场有何影响》
- 你评论,我送礼!《玩转TI MSP430 Launchpad》TI社区与EEWORLD联合首发!
- 恩智浦LPC54100迅猛来袭,关注有礼
- 已结束【Microchip 安全解决方案系列在线研讨会】
- 发原创书评 赢MSP430开发板
- EEWorld 电路图频道全新改版上线,立即前往体验
- 有奖直播已结束【如何利用 TI MSPM0 汽车微控制器提高检测和控制性能】
- 推荐有礼,分享有你!DSP学习季开学了,推荐你最喜欢的TI DSP资料!
- 抢先体验:TI MSPM0L1306 LaunchPad开发套件,赢三模无线键盘
- 注册有礼|看安富利人工智能云会展,赢京东卡啦!