51单片机中断函数运行函数切换?

n对应中断源的编号中断编号告訴中断器中断程序的入口地址,它对应着IE寄存器中的使能位即IE寄存器中的0位对应着外部中断0。
80的中断源以及终端编号如下:
0
定时器/计数器0 溢出
定时器/计数器1 溢出

本站是提供个人知识管理的网络存储空间所有内容均由用户发布,不代表本站观点如发现有害或侵权内容,請点击这里 或 拨打24小时举报电话: 与我们联系

来源:华强电子网 作者:华仔 浏覽:529

(1)中断函数不能进行参数传递如果中断函数中包含任何参数声明都将导致编译出错。(2)中断函数没有返回值如果企图定义一個返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型以明确说明没有返回值。(3)在任何情况下都不能直接调用中断函数否则会产生编译错误。因为中断函数的返回是由8051单片机中断函数的RETI指令完成的RETI指令影响8051单片机中断函数的硬件中断系统。如果在沒有实际中断情

(1)中断函数不能进行参数传递如果中断函数中包含任何参数声明都将导致编译出错。

(2)中断函数没有返回值如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型以明确说明没有返回值。

(3)在任何情况下都不能直接调用中断函数否则会产生编译错误。因为中断函数的返回是由8051

的RETI指令完成的RETI指令影响8051单片机中断函数的硬件中断系统。如果在没有實际中断情况下直接调用中断函数RETI指令的操作结果会产生一个致命的错误。

(4)如果在中断函数中调用了其它函数则被调用函数所使鼡的寄存器必须与中断函数相同。否则会产生不正确的结果

(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容,具体如下:在程序开始处对ACC、B、DPH、DPL和PSW入栈结束时出栈。中断函数未加using n修饰符的开始时还要将R0~R1入栈,结束时出栈如中断函数加using n修饰符,则在开始将PSW入栈后还要修改PSW中的工作寄存器组选择位

(6)C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号也即interrupt后面的数字。該向量包含一个到中断函数入口地址的绝对跳转

(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明防止其它程序调用。

我要回帖

更多关于 单片机中断函数 的文章

 

随机推荐