DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 361|回复: 0
打印 上一主题 下一主题

PIC单片机中断模块介绍

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 14:46:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PIC单片机中断模块介绍:
??? PIC16F87X系列单片机可以接收多达14个中断源。中断控制器寄存器INTCON标记着各个中断源的请求,对各个中断设置屏蔽位,对全部中断设置全局屏蔽位。
  PIC16F87X系列的中断包含:TMR0溢出中断(TOIF)、外部中断(INTF)、端口B变化中断(RBIF)、并行从动端口中断(PSPIF)、A/D变换中断、USART异步接收中断(RCIF)和异步发送中断(TXIF)、同步串行端口中断(SSPIF)、CCP1中断(CCPIIF)、TMR2中断(TMR2IF)、TMR1中断、CCP1中断(CCP2)、E2PROM写中断(EEIF)、总线碰撞中断(BCLIF)。
  各个中断采用查询方式进行,即当CPU口向应中断时,事先要通过查询中断标志位去判断是哪个中断产生中断请求,然后执行相应的中断服务程序。
  RB0/INT外中断仍遵守PIC16F87X单片机的中断原则,当有中断时产生中断标志位,由CPU查询识别中断。根据这一原则,可以扩展多个外中断源,CPU响应中断后查询中断标志位识别中断。
  RB0/INT引脚上的外部中断由边沿触发,既可以是上升沿,也可以是下降沿,这由选择寄存器OPTION_REG的INTEDG位(D6)决定。当INTEDG=1时,选择上升沿触发;当INTEDG=0时,选择下降沿触发。一旦检测到引脚上出现有效边沿,就把INTF位(INTCON的D1)置1。这个中断由中断控制位INTE设置允许或禁止。
  为了防止错误的死循环执行同一个中断,在重新开放这个中断之前必须在中断服务程序中用软件对INTF位清0。如果INTE位在进入休眠状态之前已被置1,INT中断可以唤醒在休眠状态下的CPU。GIE位的状态决定处理器是否在被唤醒后转至中断矢量。
  当定时器TIMER0的计数器TMR0计满溢出(即由FFH变成00H)时,硬件将自动把TGIF位置1。其中断可以通过对TOIE位进行设置来控制该中断是否开放。
  当CPU响应RB7、RB4中断时,就有两种情况产生:第一种称为“短脉冲”,即在CPU响应中断期间引脚电平恢复到原始状态,对这种情况CPU不会产生虚假中断现象。第二种称为“宽脉冲”,即在CPU响应中断后引脚电平才恢复到原始状态,恢复到原始状态的过程也产生中断请求,这种情况就是虚假中断现象。
  在端口B的D7~D4引脚上一旦有电平变化就把RBIF位置1,这个中断可以通过对RBIE位进行设置来控制该中断是否开放。
以上就是PIC单片机中断模块介绍的详细内容。
?
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-28 17:36 , 耗时 0.102423 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表