《51单片机中断系统及应用.ppt》由会员分享,可在线阅读,更多相关《51单片机中断系统及应用.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 【本章提要本章提要】本章介绍本章介绍MCS51单片机重要功单片机重要功能硬件中断系统、定时能硬件中断系统、定时/计数器、串行口的工作原计数器、串行口的工作原理及应用。通过本章学习,熟悉中断的基本概念;理及应用。通过本章学习,熟悉中断的基本概念;掌握中断系统的硬件组成和中断系统的程序结构、掌握中断系统的硬件组成和中断系统的程序结构、初始化编程的设计方法;掌握定时初始化编程的设计方法;掌握定时/计数器、串行计数器、串行口的结构工作原理与应用。口的结构工作原理与应用。MCS51单片机单片机中断系统及应用中断系统及应用 中断计数流水灯电路中断计数流水灯电路【项目任务项目任务】本项目采用外部中断方式实
2、现本项目采用外部中断方式实现 09 循环计数和流循环计数和流水灯控制电路。在单片机水灯控制电路。在单片机 I/O 口连接一个按键,当开关口连接一个按键,当开关断开时,单片机电路进行循环计数;当开关按下时,计断开时,单片机电路进行循环计数;当开关按下时,计数停止,单片机控制流水灯点亮。当流水灯点亮两轮后,数停止,单片机控制流水灯点亮。当流水灯点亮两轮后,计数按照中断时的计数值继续计数。计数按照中断时的计数值继续计数。通过本项目设计制作,熟悉单片机中断的基本概念,通过本项目设计制作,熟悉单片机中断的基本概念,掌握掌握MCS51单片机中断系统的硬件结构、外部中断的单片机中断系统的硬件结构、外部中断的
3、基本原理和应用。基本原理和应用。421 问题的提出问题的提出中断的概念中断的概念 中断是指计算机在执行某一程序的过程中,由于中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应紧迫任务的处理程序,待处理结束之后再转去完成相应紧迫任务的处理程序,待处理结束之后再返回继续执行被中断原程序的过程。实现这种中断功能返回继续执行被中断原程序的过程。实现这种中断功能的硬件系统和软件系统统称为中断系统。的硬件系统和软件系统统称为中断系统。中断方式是单片机提高工作效率的最佳途经,掌握中断方式是单片机提高工作效
4、率的最佳途经,掌握中断技术是学习单片机应用技术的重要内容之一。中断技术是学习单片机应用技术的重要内容之一。422 中断响应过程中断响应过程 主程序运行响应中断主程序运行响应中断时,程序计数器时,程序计数器PC的值称的值称为断点;中断程序的地址为断点;中断程序的地址称为中断程序入口;响应称为中断程序入口;响应中断后执行的程序称为中中断后执行的程序称为中断服务程序;中断程序执断服务程序;中断程序执行完返回断点重新执行主行完返回断点重新执行主程序称为中断返回。程序称为中断返回。图图43 中断响应过程流程图中断响应过程流程图中断检测中断检测 由于中断发生时间是随机的,因此程序的断点是不由于中断发生时间
5、是随机的,因此程序的断点是不确定的。当中断发生时产生时,低电平向确定的。当中断发生时产生时,低电平向CPU发中断请发中断请求信号,求信号,CPU在每个机器周期的在每个机器周期的S5P2期间采样是否为期间采样是否为0,如果为,如果为0中断标志自动将中断标志自动将IE0置置1,如图,如图44所示。所示。图图44 CPU在在S5P2检测中断请求信号检测中断请求信号 中断入口中断入口表表43 中断入口地址表中断入口地址表 两个中断入口之两个中断入口之间间只有只有8个个单单元,一般情况都放不下中断服元,一般情况都放不下中断服务务程序,因此,通常将中断入口放置一条无条件程序,因此,通常将中断入口放置一条无
6、条件转转移指令。如移指令。如LJMP I001单片机响应中断后,进入中断入口单片机响应中断后,进入中断入口0003H,然后转移到代表,然后转移到代表I001的地址去执行中断服务程序的地址去执行中断服务程序I001。423 MCS51中断系统结构中断系统结构图图45 MCS51单片机中断系统单片机中断系统下一页上一页P3.4P3.2P3.3P3.5P3.0P3.11.5个中断源个中断源 1 :外部中断:外部中断0请求,由请求,由P3.2脚输入。它受外部电路脚输入。它受外部电路控制实现中断控制实现中断0请求,由请求,由P3.2脚输入。通过脚输入。通过IT0位来决定中断位来决定中断请求信号是低电平有
7、效还是下降沿有效。一旦输入信号有请求信号是低电平有效还是下降沿有效。一旦输入信号有效,则向效,则向CPU申请中断,并建立申请中断,并建立IE0标志。标志。2 :外部中断:外部中断1请求,由请求,由P3.3脚输入。通过脚输入。通过IT1位来位来决定是低电平有效还是下降沿有效。一旦输入信号有效,决定是低电平有效还是下降沿有效。一旦输入信号有效,则向则向CPU申请中断,并建立申请中断,并建立IE1标志。标志。3T0:定时:定时/计数器计数器T0溢出中断请求。当溢出中断请求。当T0工作在计数工作在计数状态时,计数脉冲从状态时,计数脉冲从P3.4脚输入。当定时器脚输入。当定时器T0产生溢出时,产生溢出时
8、,定时定时/计数器计数器T0中断请求标志位置位(由硬件自动执行),中断请求标志位置位(由硬件自动执行),请求中断处理。请求中断处理。下一页上一页 4T1:定时器:定时器T1溢出中断请求。当溢出中断请求。当T1工作在计数状态工作在计数状态 时,计数脉冲从时,计数脉冲从P3.5脚输入。当定时器脚输入。当定时器T1产生溢出时,产生溢出时,定时器定时器T1中断请求标志位(中断请求标志位(TCON.7)置位(由硬件自)置位(由硬件自动执行),请求中断处理。动执行),请求中断处理。5RX/TX:串行中断请求。当接收或发送完一串行帧时:串行中断请求。当接收或发送完一串行帧时,内部串行口中断请求标志位,内部串
9、行口中断请求标志位RI(SCON.0)或)或TI(SCON.1)置位(由硬件自动执行),请求中断。串)置位(由硬件自动执行),请求中断。串行口应用时,一般是行口应用时,一般是RX、TX同时使用,相互配合完成同时使用,相互配合完成串行数据传输工作。串行数据传输工作。1.5个中断源个中断源下一页上一页2.4个中断有关的控制寄存器个中断有关的控制寄存器 (1)中断控制寄存器)中断控制寄存器TCON 中断控制寄存器中断控制寄存器TCON有两个作用,即除了控制有两个作用,即除了控制定时定时/计数器计数器T0和和T1的溢出中断外,还控制外部中断的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位
10、。的触发方式和锁存外部中断请求标志位。TCON字节字节地址为地址为88H,可位寻址,位地址范围为,可位寻址,位地址范围为88H8FH。地址位地址位8FH8EH8DH8CH8BH8AH89H88H位定义位定义TF1TR1TF0TR1IE1IT1IE0IT0图图46 中断控制寄存器中断控制寄存器TCON各位定义各位定义下一页上一页地址位地址位AFHAEHADH ACHABHAAHA9HA8H位定义位定义EAESET1EX1ET0IT0(2)串行口控制寄存器串行口控制寄存器SCON 串行口控制寄存器用于外部串行口控制寄存器用于外部IO口扩展和单片机与计口扩展和单片机与计算机、单片机、外部设备之间通信
11、,与外部中断控制无算机、单片机、外部设备之间通信,与外部中断控制无关,将在串行口应用中介绍。关,将在串行口应用中介绍。(3)中断允许控制寄存器中断允许控制寄存器IE MCS51对中断源的开放或屏蔽是由中断允许寄存对中断源的开放或屏蔽是由中断允许寄存器器IE控制的。控制的。IE的字节地址为的字节地址为A8H,可以按位寻址。,可以按位寻址。2.4个中断有关的控制寄存器个中断有关的控制寄存器下一页上一页2.4个中断有关的控制寄存器个中断有关的控制寄存器 IP规定了两个中断级别,称为低级优先级和高级优先规定了两个中断级别,称为低级优先级和高级优先级。每一个中断源均可由程序设置为高级优先级中断或低级。每
12、一个中断源均可由程序设置为高级优先级中断或低级优先级中断,从而实现中断嵌套。级优先级中断,从而实现中断嵌套。同一优先级中按照自然优先级的次序响应中断。在同同一优先级中按照自然优先级的次序响应中断。在同一优先级同时发生几个的中断请求时,响应哪个中断取决一优先级同时发生几个的中断请求时,响应哪个中断取决于内部查询次序。于内部查询次序。(4)中断优先级控制寄存器)中断优先级控制寄存器IP表表44 同级内中断查询次序同级内中断查询次序下一页上一页先先先先同级查询次序同级查询次序同级查询次序同级查询次序后后后后3 3 级中断控制开关设置级中断控制开关设置 1.1.第一级开关第一级开关第一级开关第一级开关
13、中断触发方式开关中断触发方式开关中断触发方式开关中断触发方式开关 IT0/IT1=1时,时,外部中断信号取下降沿触发方式。外部中断信号取下降沿触发方式。IT0/IT1=0时,时,外部中断信号取电平触发方式,低电平外部中断信号取电平触发方式,低电平维持时间过长时,一个中断申请会引发多个中断,因此必维持时间过长时,一个中断申请会引发多个中断,因此必须采用措施撤消中断申请。须采用措施撤消中断申请。2.2.第二级开关第二级开关第二级开关第二级开关中断允许和开放中断开关中断允许和开放中断开关中断允许和开放中断开关中断允许和开放中断开关 五个中断源各有一个开关进行控制,通过软件对五个中断源各有一个开关进行
14、控制,通过软件对IE的的某位置某位置1操作,实现相应中断允许开关闭合,于是某个中断操作,实现相应中断允许开关闭合,于是某个中断申请被允许。注意,无论哪个或哪几个中断被允许,能否申请被允许。注意,无论哪个或哪几个中断被允许,能否实现中断还必须开放总中断,即用软件设置实现中断还必须开放总中断,即用软件设置EA=1。3 3第三级开关第三级开关第三级开关第三级开关中断优先级开关设置中断优先级开关设置中断优先级开关设置中断优先级开关设置 中断优先级控制寄存器中断优先级控制寄存器IP的字节地址是的字节地址是B8H,可以,可以字节寻址,也可以位寻址。各位定义如下:字节寻址,也可以位寻址。各位定义如下:图图4
15、8 中断优先寄存器中断优先寄存器IP各位定义各位定义3 3 级中断控制开关设置级中断控制开关设置 PS:串行口中断优先级控制位串行口中断优先级控制位 PT1:定时器:定时器T1中断优先级控制位中断优先级控制位 PX1:外部中断:外部中断1中断优先级控制位中断优先级控制位 PT0:定时器:定时器T0中断优先级控制位中断优先级控制位 PX0:外部中断:外部中断0中断优先级控制位中断优先级控制位 2.2.中断服务子程序的结构中断服务子程序的结构中断服务子程序的结构中断服务子程序的结构 (1)保护现场保护现场 主程序使用一些主程序使用一些常用特殊功能寄存器和工作存储器,常用特殊功能寄存器和工作存储器,
16、例如例如ACC、DPTR、Rn等。一般在中等。一般在中断服务程序中可能也要应用这些常用断服务程序中可能也要应用这些常用的特殊功能寄存器、工作寄存器,执的特殊功能寄存器、工作寄存器,执行中断程序之前,必须将这些单元的行中断程序之前,必须将这些单元的内容保存起来,这样在执行完中断服内容保存起来,这样在执行完中断服务程序返回主程序是能够恢复这些单务程序返回主程序是能够恢复这些单元的内容,使主程序能够继续按照中元的内容,使主程序能够继续按照中断前的状态继续执行。断前的状态继续执行。424 中断服务程序的结构中断服务程序的结构图图49 中断程序结构图中断程序结构图保护现场的主要指令有保护现场的主要指令有
17、PUSH。下一页上一页 (2)中断服务程序主体)中断服务程序主体 中断服务程序主体是中断系统中中断服务程序主体是中断系统中独立的子程序,根据中断的要求来设计。独立的子程序,根据中断的要求来设计。(3)恢复现场)恢复现场 为了使中断服务程序返回主程序能够继续为了使中断服务程序返回主程序能够继续执行主程序,中断返回之前必须恢复堆栈的数据到原工作执行主程序,中断返回之前必须恢复堆栈的数据到原工作寄存器中。注意堆栈操作必须遵循后进先出的原则。寄存器中。注意堆栈操作必须遵循后进先出的原则。恢复现场的指令有恢复现场的指令有POP。(4)中断返回)中断返回 中断服务程序返回指令必须是中断服务程序返回指令必须
18、是RETI。CPU执行执行RETI时自动从时自动从SP中取回断点地址,继续执行主程序。中取回断点地址,继续执行主程序。424 中断服务程序的结构中断服务程序的结构下一页上一页【例例42】某中断系统使用作外部中断控制端,低电平触某中断系统使用作外部中断控制端,低电平触发方式,发方式,设中断服务子程序名为设中断服务子程序名为EXINT0,试写出其初始化试写出其初始化程序。程序。ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 0100H MAIN:;主程序;主程序 CLR IT0 ;设置为电平触发方式;设置为电平触发方式 SETB EX0 ;允许中断;允许
19、中断 SETB EA ;开中断;开中断 EXINT0:;中断服务子程序;中断服务子程序 RETI ;中断返回;中断返回 END425 中断计数流水灯硬件电路设计中断计数流水灯硬件电路设计 中断方式计数流水灯电路中断方式计数流水灯电路如图如图410所示,单片机所示,单片机P2口接一共阳极数码管显示器,实现口接一共阳极数码管显示器,实现09的循环计数显示。的循环计数显示。P0口接口接8个个LED作流水灯,图中电阻均为限流电阻。中断作流水灯,图中电阻均为限流电阻。中断由由P3.2口(口(INT0)上连接一个开关)上连接一个开关SW1,作外部中断控制,作外部中断控制信号。发光二极管信号。发光二极管D9是指示开关状态而设立的。是指示开关状态而设立的。当开关断开时,单片机运行循环计数主程序;当开关当开关断开时,单片机运行循环计数主程序;当开关闭合时,单片机运行流水灯中断程序闭合时,单片机运行流水灯中断程序,执行完中断程序后执行完中断程序后返回继续执行计数显示主程序返回继续执行计数显示主程序。425 中断计数流水灯硬件电路设计中断计数流水灯硬件电路设计 图图410 中断计数流水灯电路中断计数流水灯电路下一页上一页
限制150内