所谓“中断”,就是在一个程序执行过程中,由于某种硬件或软件的事件而打断此程序的执行,去处理其他的事件,这样做可以使计算机更高效地运行。在pic单片机中,外设中断就是指当外设产生信号请求时,pic单片机停止当前程序流程,去处理外设产生的信号请求。
pic单片机的外设中断一般分电平触发型和边沿触发型。电平触发型中断指外设信号一直为高电平或低电平时才会中断,反之则不中断;而边沿触发型中断指当外设信号的电平改变时,pic单片机才会中断。
相比于轮询的方式,pic单片机外设中断具有以下优点:
(1)节省cpu执行时间。在轮询方式下,cpu要一直等待外设的响应,等到外设数据到来后再进行下一步处理。而采用外设中断方式,当外设有数据到来的时候,它会主动中断cpu的执行,这样就不需要cpu再等待外设响应,从而充分利用cpu计算资源。
(2)提高程序的实时性。在轮询方式下,当cpu在等待外设响应时,不能及时响应实时性要求高的任务。而在外设中断方式下,当外设数据到来时,cpu会立即响应中断请求,从而保证了程序的实时性。
在pic单片机中,使用外设中断主要分为以下两步:
(1)配置中断优先级和中断使能位。首先需要配置外设的中断优先级和中断使能位。在pic单片机中,可以通过特定的指令来设置相应的中断优先级和开关相应的中断使能位。
(2)编写中断服务程序。中断服务程序是一个专门处理中断请求的程序。在pic单片机中,当一个中断请求被激活时,cpu会自动跳转到中断服务程序开始执行。编写中断服务程序需要遵循一定的编码规则,否则程序将会发生错误。