第七章 AT89s52单片机中断系统.ppt_第1页
第七章 AT89s52单片机中断系统.ppt_第2页
第七章 AT89s52单片机中断系统.ppt_第3页
第七章 AT89s52单片机中断系统.ppt_第4页
第七章 AT89s52单片机中断系统.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章AT89S52单片机中断系统 1 第七章AT89S52单片机中断系统 7 1中断概述7 2中断系统结构与中断控制7 3中断响应7 4中断请求的撤除7 5外部中断源的扩展7 6中断程序设计 第七章AT89S52单片机中断系统 2 7 1中断概述 1 中断系统的概念2 单片机中断系统需要解决的问题3 中断的主要功能4 实际应用中需注意的问题 return 第七章AT89S52单片机中断系统 3 1 中断系统的概念 1 中断 2 中断源 3 中断优先级 4 中断识别方式 5 中断的其它概念 第七章AT89S52单片机中断系统 4 2 中断源 中断源通常可分为以下几种 设备中断定时中断故障源中断程序性中断源 第七章AT89S52单片机中断系统 5 4 中断识别方式 一般设有两种识别方式 查询中断矢量中断 第七章AT89S52单片机中断系统 6 5 中断的其它概念 中断请求 中断标志 中断允许 中断入口地址 中断矢量 中断嵌套 中断保护 中断服务程序 中断源清除 中断屏蔽 中断返回 中断等待 第七章AT89S52单片机中断系统 7 7 2中断系统结构与中断控制 7 2 1AT89S52的中断源7 2 2中断标志与控制 return 第七章AT89S52单片机中断系统 8 7 2 1AT89S52的中断源 第七章AT89S52单片机中断系统 9 3 中断触发方式 电平触发方式 下降沿触发方式 第七章AT89S52单片机中断系统 10 7 2 2中断标志与控制 单片机设置了5个专用寄存器用于中断控制 用户通过设置其状态来管理中断系统 5个专用寄存器包括 定时器 计数器0 1控制寄存器TCON 定时器2控制寄存器T2CON 串行口控制寄存器SCON 中断允许控制寄存器IE 中断优先级控制寄存器IP 第七章AT89S52单片机中断系统 11 1 定时器 计数器0 1控制寄存器TCON TF1 TCON 7 T1计数溢出 由硬件置位 响应中断时由硬件复位 不用中断时用软件清0 TF0 TCON 5 T0计数溢出 由硬件置位 响应中断时由硬件复位 不用中断时用软件清0 IE1 TCON 3 IE1 1时 外部中断1向CPU申请中断 IE0 TCON l IE0 1时 外部中断0向CPU申请中断 IT1 TCON 2 为INT1的中断申请触发方式控制位 IT0 TCON 0 为INT0的中断申请触发方式控制位 第七章AT89S52单片机中断系统 12 2 定时器2控制寄存器T2CON TF2定时器2溢出中断标志EXF2定时器2外部中断请求标志 第七章AT89S52单片机中断系统 13 3 串行口控制寄存器SCON 串行口控制寄存器SCON字节地址为98H 其格式如下 低两位锁存接收中断源RI和发送中断源TI TI SCON 1 串行口发送中断源 发送完一帧 由硬件置位 响应中断后 必须用软件清0 CLRTI RI SCON 0 串行口接收中断源 接收完一帧 由硬件置位 响应中断后 必须用软件清0 CLRRI 第七章AT89S52单片机中断系统 14 4 中断允许控制寄存器IE IE寄存器中各位设置 为0时 禁止中断 为1时 允许中断 系统复位后IE寄存器中各位均为0 此时禁止所有中断 第七章AT89S52单片机中断系统 15 与中断有关的控制位共6位 即 EX0 IE 0 外部中断0中断允许位 ET0 IE 1 T0中断允许位 EX1 IE 2 外部中断1中断允许位 ET1 IE 3 T1中断允许位 ES IE 4 串行口中断允许位 EA IE 7 CPU中断允许位 当EA 1时 允许所有中断开放 总允许后 各中断的允许或禁止由各中断源的中断允许控制位进行设置 当EA 0时 屏蔽所有中断 第七章AT89S52单片机中断系统 16 5 中断优先级控制寄存器IP 总共2个优先级XX为1高优先级XX为0低优先级 第七章AT89S52单片机中断系统 17 中断优先顺序 第七章AT89S52单片机中断系统 18 以上所述可归纳为如下基本规则 任一中断源的高或低优先级中断均可通过软件对IP的相应位进行设置 不同优先级中断源同时请求中断时 优先响应高优先级的中断请求 高优先级中断请求可中断正在执行中的低优先级的服务程序 实现两级嵌套 同级或低优先级中断请求不能实现中断嵌套 同一优先级的多个中断源同时请求中断时按优先顺序查询确定 优先响应顺序高的中断 第七章AT89S52单片机中断系统 19 7 3中断响应 7 3 1中断响应条件7 3 2中断响应过程7 3 3中断响应时间 return 第七章AT89S52单片机中断系统 20 7 3 1中断响应条件 无同级或高优先级中断服务程序正在执行中 当前指令已执行到最后一个机器周期并已结束 当前正在执行的不是返回 RET RETI 指令或访问IE IP特殊功能寄存器指令 第七章AT89S52单片机中断系统 21 7 3 2中断响应过程 1 中断采样2 中断查询3 中断响应 第七章AT89S52单片机中断系统 22 7 3 3中断响应时间 从中断源发出中断请求 到CPU响应中断请求转向对应的中断服务程序开始执行所需要的时间 称为中断响应时间从中断源发出中断请求到CPU响应中断 转去执行中断服务程序需3 8个机器周期 第七章AT89S52单片机中断系统 23 7 4中断请求的撤除 中断请求撤除的方式有三种 1 由单片机内部硬件自动复位2 应用软件清除相应标志3 采用外加硬件结合软件清除中断请求 return 第七章AT89S52单片机中断系统 24 7 5外部中断源的扩展 7 5 1采用 OC门 经 线或 后实现7 5 2通过片内定时 计数器来实现 return 第七章AT89S52单片机中断系统 25 7 5 1采用 OC门 经 线或 后实现 图7 6 1外部中断源的扩展电路 第七章AT89S52单片机中断系统 26 27 7 5 2通过片内时 计数器来实现 利用T0或T1的外部事件输入引脚T0 T1作为边沿触发的外部中断源 应设置定时 计数器为计数器方式 而计数常数为满刻度值 外部输入的脉冲在下降沿时有效 计数器加1后即溢出 向CPU申请中断 8位设置为FFH 第七章AT89S52单片机中断系统 28 例 把外部中断请求信号2连到T1引脚上 定时器 计数器1设为方式2 即8位自动重装载方式 时间常数设为满刻度值FFH 外部中断的服务程序入口地址存放在T1的中断矢量区中 第七章AT89S52单片机中断系统 29 ORG0000HAJMPMAINORG001BH T1中断矢量用作外部中断2的中断矢量LJMPINT2ORG0030HMAIN MOVTMOD 60H 设T1计数器方式2MOVTL1 0FFH 置T1计数常数MOVTH1 0FFHSETBEA 开中断SETBET1 允许计数器1中断SETBTR1 启动计数 INT2 外部中断2服务程序 第七章AT89S52单片机中断系统 30 7 6中断程序设计 return 第七章AT89S52单片机中断系统 31 步骤 1 主程序中的中断初始化2 中断响应与中断服务程序 第七章AT89S52单片机中断系统 32 1 主程序中的中断初始化 1 初始化状态设置 2 开中断 3 中断服务程序的前期初始化 第七章AT89S52单片机中断系统 33 2 中断响应与中断服务程序 1 中断响应 2 中断转移 3 中断服务 4 中断返回 第七章AT89S52单片机中断系统 34 中断服务 主程序的资源保护 中断源的清除 关中断 第七章AT89S52单片机中断系统 35 3 中断程序设计实例 例7 2编写外部键输入的中断操作演示程序 要求 按图7 7 2所示电路 根据K0 K1按键的状态 点亮L1 L2 按下K0点亮L0片刻 按下K1后点亮L1片刻 例7 7 2电路 第七章AT89S52单片机中断系统 36 解 1 设计思路这是一个两路外部中断输入演示电路 按下K0 K1都会立即中断原来的操作 来点亮L0或L1 中断初始化包括 保证L0 L1为熄灭状态 设为的触发方式 根据按键输入信号特点 选电平触发方式 设中断优先级 假定 都设为低优先级 第七章AT89S52单片机中断系统 37 2 中断应用程序设计包括主程序设计和中断服务程序主程序清单 ORG0000HLJMPMKL ORG0003H 中断入口地址LJMPKL0 中断入口转移 ORG0013H 中断入口地址LJMPKL1 中断入口转移data0EQU H data0赋值data1EQU H datal赋值 第七章AT89S52单片机中断系统 38 ORG0100HMKL ORLP1 03H 熄灭L0 L1ANLTCON 00H 置 电平触发方式ANLIP 0FCH 置 低优先级MOVIE 85H 开CPU中断 开 中断 初始化程序 第七章AT89S52单片机中断系统 39 中断服务程序清单 ORG2000HKL0 CLRP1 0 点亮L0MOVR7 data0 延时数据 data0写入R7LCALLDELAY 调延时子程序SETBP1 0 熄灭L0RETI 中断返回 第七章AT89S52单片机中断系统 40 中断服务程序 ORG3000HKL1 CLRP1 1 点亮L1MOVR7 data1 延时数 据写入R7LCALLDELAY 调延时子程序SETBP1 1 熄灭L1RETI 中断返回 第七章AT89S52单片机中断系统 41 延时子程序 ORG3200HDELAY MOVR6 0FFHTM1 MOVR5 0FFHTM0 DJNZR5 TM0DJNZR6 TM1DJNZR7 DELAYRET 第七章AT89S52单片机中断系统 42 谢谢 第七章AT89S52单片机中断系统 43 中断程序的示例 编程如下 ORG0000HSJMPMAINORG0003HLJMPINT0INT 设外部中断 INT0中断矢量ORG0013HLJMPINT1INT 设外部中断 INT1中断矢量ORG0023HLJMPSIOI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论