您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页中断服务函数

中断服务函数

来源:意榕旅游网
中断服务函数

51中断:5个 ES串⼝,ET1定时器1,ET0定时器0,EX1外部中断1,EX0外部中断0⾸先要了解相关的与中断有关的寄存器:

IE寄存器:中断控制的寄存器,要实现中断就要配置该寄存器。

EA为总开关,只有先打开EA才能对相应的寄存器进⾏操作

TCON寄存器:⽤来控制中断的触发⽅式,是低电平触发还是下降沿触发,

由图知道:⾸先相应触发⽅式,然后看是低电平还是下降沿触发(给0或1,1下降沿触发)然后对应的IE寄存器相当于开关的作⽤,然后是IP寄存器控制中断的优先级

要是⽤中断 得记住:这个就是对应中断的对应触发⽅式的⼊⼝外部中断0:INT0 中断的优先级 0

定时计数器中断0:TF0 1外部中断1:INT1 2定时器中断1:TF1 3串⼝中断:R1/T1 4

中断函数写的时候,⾸先要初始化,就是打开相应的中断请求,如打开外部中断0⾸先定义⼀个初始化的函数INT0,然后打开触发⽅式IT0=1,然后打开总开关EA=1;然后打开定时器0的开关EX0=1;然后定义中断0的服务函数,中断号是0,如果打开外部中断1 那么定义⼀个初始化的函数INT1,然后打开触发⽅式IT1=1,然后打开总开关EA=1,打开中断的开关EX1=1;注意中断服务函数的⼊⼝是2也可以采⽤看图配置寄存器来使⽤,按照16进制看图来配置,如何让产⽣中断后进⾏相关操作,可以定义⼀个状态变量,当产⽣中断时,状态变量翻转,然后根据相关的状态来进⾏相关的操作

总结:中断函数⾸先进⾏初始化的定义,看是使⽤外部中断(0,1)0的话先打开下降沿的触发信号IT0,然后再打开总开关EA=1,然后⼤开外部中断0(INT0)的开关EX0=1,然后定义相关的中断服务函数 中断号为0,中断服务函数中尽量少些程序,可以⽤状态值来调⽤中段函数,例如我可以先定义⼀个状态变量为0,进⼊中断函数后状态变量为1,然后在定义⼀个相关的函数进⾏操作,让状态变量函数成为判断条件,进⾏完相关的操作后,将状态变量的值该变为原来的状态 值得注意的是在定义相关开关的时候,可以直接对寄存器进⾏相关的操作,就是直接给0或者1让其打开相关的寄存器,然后写成16进制

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务