美文网首页嵌牛IT观察
51中断函数学习笔记

51中断函数学习笔记

作者: electron豪 | 来源:发表于2019-01-04 22:12 被阅读0次

姓名:冯子豪

学号:16020199001

转载自http://www.eeworld.com.cn/mcu/article_2016090829233.html

【嵌牛导读】中断在单片机的学习中是一个重要的概念。

【嵌牛鼻子】51 单片机 中断函数

【嵌牛提问】你造吗?

【嵌牛正文】

释疑:void Timer0() interrupt 1 using 1

Timer0   是函数名,随便取的 

interrupt   xx   using   y 

跟在interrupt   后面的xx   值得是中断号,就是说这个函数对应第几个中断端口,一般在51

  0   外部中断0   

  1   定时器0 

  2   外部中断1 

  3   定时器1 

  4   串行中断 

实际上编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址 

using   y   这个y是说这个中断函数使用的那个寄存器组,51里面一般有4组   r0   --   r7寄存器,一共有32个,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会谈出来节省代码和时间

MCS-51中断函数注意如下:

(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存储类型说明。防止其它程序调用。

相关文章

  • 51中断函数学习笔记

    姓名:冯子豪 学号:16020199001 转载自http://www.eeworld.com.cn/mcu/ar...

  • Linux input子系统框架--Apple的学习笔记

    按键中断解决irq_of_parse_and_map返回0的问题--Apple的学习笔记我为了复习相关函数和io模...

  • 2017年11月13日学习总结

    今天学习中断,再arduino中,中断函数都是被打包好的直接使用就可以,要定义外部中断,中断号,上升还是下降沿中断...

  • 嵌入式9月18日总结。

    今天学习了中断的使用,中断是在主函数运行中突然来个中断信号,根据中断的优先级去执行中断的内容。 中断的内容里面有:...

  • 12/15

    今天学习了用开关2控制蜂鸣器的响声,按键控制蜂鸣器利用中断。中断调用子函数。

  • 认识函数&函数插入

    今日学习主题:认识函数—— 基本用法。 一、346个函数,51个基本函数。 自己熟悉的:求和:SUM,条件:IF,...

  • 今天的函数,算是简单的

    今日学习主题:认识函数—— 基本用法。 一、346个函数,51个基本函数。 自己熟悉的:求和:SUM,条件:IF,...

  • Kotlin学习笔记:类和接口

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:概述

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin 学习笔记:基本语法和函数

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

网友评论

    本文标题:51中断函数学习笔记

    本文链接:https://www.haomeiwen.com/subject/kwklrqtx.html