老王单片机中断学习理解

2019-07-31  本文已影响0人  九级浪V

官解什么是中断:CPU在处理某一事件A时,发生的另外某一事件B请求CPU去处理(产生了中断),随后CPU暂时中断当前正在执行的任务,去对事件B进行处理,CPU处理完事件B后再返回之前中断的位置继续执行原来的事件A,这一过程总称为中断。

凡人理解:就是你打LOL过程中挂了等复活,这时候你就想切出去看电影的感觉。估摸着差不多复活了然后再暂停电影播放,切回去打游戏。

中断分为4个步骤:中断请求->中断响应->中断处理->中断返回。

单片机一共支持5个中断源,其中2个外部中断源,3个内部中断源

(1)外部中断0,由INT0(P3.2引脚)输入。

(2)外部中断1,由INT1(P3.3引脚)输入。

(3)定时/计数器0溢出中断(T0)请求。

(4)定时/计数器0溢出中断(T1)请求。

(5)串行口发送/接收中断请求。

//第一步设置中断源比如说:设置外部中断0

1、设置中断触发方式,即IT0=1或0, IT1=1或0

                                          当IT0=0时,为电平触发方式。

                                          当IT0=1时,为边沿触发方式(下降沿有效)。

//低电平触发和下降沿触发有什么区别?

低电平触发是中断允许后,只要中断引脚的信号是低电平,就触发中断,使用时注意,如果低电平一直保持,会导致多次触发中断。

下降沿触发是中断允许后,只要中断引脚的信号出现下降沿,就触发中断,使用时注意,如果信号出现抖动,会导致多次触发中断。

理解下低电平是一直按着按钮动作,下降沿是每按一下动作一下


2、开对应的外部中断,EX0=1; 外部中断0允许位

                                          EX1=1;外部中断1允许位

3、开总中断,即EA=1;

4、等待外部设备产生中断请求,即通过P3.2,P.3.3口连接外部设备产生中断

5、中断响应,执行中断服务函数




中断服务函数:当有中断请求时,程序运行转移到标记有“interrupt”关键字的函数内进行相关中断的处理。

Kei1开发环境中,中断请求的处理过程是以函数的方式来实现的,即中断服务函数,它的格式如下:


中断服务函数格式

void 函数名(void)interrupt 中断号

void Int0(void) interrupt 0

程序顺序就是主函数void main  通过Timer_int0设定中断触发  程序跳转到中断服务函数  完成后回到主程序

使用中断的步骤:

*            1.中断初始化函数(只需要调用一次,不要放到循环里重复调用)

*            2.编写中断处理函数

*            3.主函数中调用中断初始化函数

上一篇下一篇

猜你喜欢

热点阅读