智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1836|回复: 1
打印 上一主题 下一主题

中断

[复制链接]

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
196
QQ
威望
247
贡献
39
兑换币
0
注册时间
2010-10-13
在线时间
1 小时
跳转到指定楼层
1#
发表于 2010-10-13 18:25:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
6.1 中断系统
51单片机   2009-07-21 08:43   阅读60   评论0   字号: 大大  中中  小小 6.1.3  80C51的中断系统的总体结构
80C51单片机有5个中断源2个优先级,这5个中断源是外部中断 、 ,定时计数器中断T0、T1,串行中断RI/TI,如图6-2左边所示 。每个中断源可用中断允许寄存器IE中的各位开放或禁止其中断,如图2中间部分所示。2个中断优先级是高优先级与低优先级,每个中断源可由中断优先权寄存器IP中各位设置其优先级。如图2右边所示,每个中断源的开放、禁止及优先级可以用软件设置。

1.中断请求标志
(1)中断标志寄存器TCON
TCON为特殊功能寄存器,其地址为88H,TCON中8位含义及位地址如图6-3所示。TCON的低4位用于外部中断 、 ,其中:IT0与IT1为外部中断方式的选择位,IE0、IE1为外部中断触发标志位。高4位用于定时计数器T1、T0,其中TF0、TF1为定时中断触发标志位,TR0与TR1为定时器运行控制位。因为TCON可位寻址操作,所以可用SETB与CLR指令将TCON各位清零或置1。

(2)外部中断
外部中断 有2种,即低电平与负脉冲方式。IT0=0 ; 引脚输入低电平产生中断。 IT0=1 ;由 引脚输入负脉冲使IE0置1。
当CPU响应中断时,由硬件自动将IE0清零,以避免重复中断。
与 中断请求方式是相同,
例6-1 将 设置为低电平中断, 将 设置为负脉冲中断。
解:   CLR        IT0
       SETB      IT1
(3)定时器中断
80C51单片机有2个定时器T0与T1。T0与T1是通过其内部加1计数器溢出后将定时器中断标志TF0(或TF1)置1来向CPU请求中断的。
①定时器T0
定时器中断标志TF0:当T0的加1计数器发生溢出时,将TF0置1(T0的加1计数器将在定时器一节中介绍)。
TF0=1 ;表示T0向CPU发中断请求。
TF0=0 ;表示T0未向CPU发中断请求。
②定时器T1(与T0类同)
(4)串行中断:在串行通讯时,接收到一帧信息后串行口将接收中断标志RI置1,发送完一帧信息后串行口将发送中断标志TI置1,以此来向CPU发中断请求。
注意:RI、TI必须硬件清零。
2.中断控制
(1)中断允许控制寄存器IE
EA

×

×

ES

ET1

EX1

ET0

EX0


位地址  AF     AE    AD   AC    AB    AA    A9   A8
①CPU中断允许位EA
  EA=1 :CPU允许中断;  EA=0 :CPU禁止中断。
②各中断源中断允许位
IE寄存器中ES为串行中断允许位,ET1与ET0为定时器T1与T0的中断允许位,EX1与EX0为外部中断 与 的中断允许位。各位取1时允许中断,取0时禁止中断。
(2)中断优先级的设置寄存器IP
  ×

×

×

PS

PT1

PX1

PT0

PX0


    位地址  BF      BE       BD       BC     BB       BA       B9      B8
  IPi= 1     ;表示第i个中断源为高优先级。
      IPi=0      ;表示第i个中断源为低优先级。
例6-2 设置:外部中断 为负脉冲请求中断,高优先级,开中断。外部中断 为低电平请求中断,低优先级,开中断。
解:   SETB         IT0             ;设置 为负脉冲中断
           SETB         PX0             ;设置高优先级
           SETB         EX0             ;开中断
       CLR          IT1             ;设置 低电平中断
       CLR          PX1             ;设置低优先级
       SETB         EX1             ;开中断
       SETB         EA              ;CPU开中断
(3)优先级处理原则
① 不同级同时申请:先高后低。即先响应高优先级中断请求,然后再响应低优先级中断。
②处理低级中断又收到高级中断:停低转高。即:暂停低优级中断,执行高优级中断。
③处理高级中断又收到低级中断:高不睬低。即:继续执行高优先级中断。
④同级同时申请:按 →T0→ →T1→TI/RI次序响应。
<>
中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。80C51系列单片机各中断源的入口地址由硬件事先设定,分配如下:
                    中断源           入口地址
                    外部中断0          0003H
                    定时器0中断        000BH
                    外部中断1          0013H
                    定时器1中断        001BH
                    串行口中断         0023H
       将定时器1中断,其中断服务程序入口地址地址跳转到CONT的指令为:
                     ORG              001BH                ;定时器1中断入口
                     LJMP             CONT                 ;转向中断服务程序
<>
一般包括两部分内容:一是保护现场,二是完成中断源请求的服务。
<>
中断返回是指中断服务完后,计算机返回原来断开的位置(即断点)。继续执行原来的程序。中断返回由中断返回指令RETI来实现。该指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC,此外,还通知中断系统己完成中断处理,并同时清除优先级状态触发器,特别要注意不能用“RET”指令代替“RETI”指令。
参考资料:http://blog.163.com/liuyunfeng484/blog/static/6683171520096218436461/
4回答者: aleda

1

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1532
威望
912
贡献
366
兑换币
114
注册时间
2011-8-3
在线时间
127 小时
2#
发表于 2011-8-7 02:47:04 | 只看该作者
哇》》》》》
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-11 12:46 , Processed in 0.113328 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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