第六章MCS-51单片机的中断精选.ppt

C51中断程序的编制 C51使用户能编写高效的中断服务程序,编译器在规定的中断源的矢量地址中放入无条件转移指令,使CPU响应中断后自动地从矢量地址跳转到中断服务程序的实际地址,而无需用户去安排。 中断服务程序定义为函数,函数的完整定义如下。 返回值 函数名([参数])[模式][再入]interrupt n[using m] 其中必选项 interrupt n表示将函数声明为中断服务函数,n为中断源编号,可以是0~31间的整数 ,不允许是带运算符的表达式,n通常取以下值: 0 外部中断0; 1 定时器/计数器0溢出中断 2 外部中断1; 3 定时器/计数器1溢出中断 4 串行口发送与接收中断 5 定时器/计数器2中断 各可选项的意义如下: using m 定义函数使用的工作寄存器组,m的取值范围为0~3,可缺省。它对目标代码的影响是:函数入口处将当前寄存器保存,使用 m 指定的寄存器组,函数退出时 原寄存器组恢复。选不同的工作寄存器组,可方便实现寄存器组的现场保护。 再入属性关键字reentrant将函数定义为再入的,在C51中,普通函数(非再入的)不能递归调用, 只有再入函数才可被递归调用。 中断服务函数不允许用于外部函数,它对目标代码影响如下: ①当调用函数时,SFR中的ACC、B、DPH、DPL和PSW当需要

文档评论(0)

1亿VIP精品文档

相关文档