模块四 单片机内部三大功能

上传人:kms****20 文档编号:40991256 上传时间:2018-05-27 格式:DOC 页数:38 大小:78.50KB
返回 下载 相关 举报
模块四  单片机内部三大功能_第1页
第1页 / 共38页
模块四  单片机内部三大功能_第2页
第2页 / 共38页
模块四  单片机内部三大功能_第3页
第3页 / 共38页
模块四  单片机内部三大功能_第4页
第4页 / 共38页
模块四  单片机内部三大功能_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《模块四 单片机内部三大功能》由会员分享,可在线阅读,更多相关《模块四 单片机内部三大功能(38页珍藏版)》请在金锄头文库上搜索。

1、模块四模块四 单片机内部三大功能单片机内部三大功能单片机应用技术电子教案佛山职业技术学院Foshan Polytechnic 教学单元: 中断系统及其应用教学时数: 2 学时教学方法: 一体化教学教学目的:1、了解中断处理过程。2、了解中断系统结构。3、掌握中断控制寄存器。4、掌握中断编程结构。5、掌握中断应用程序设计方法。教学重点:1、中断控制寄存器。2、中断编程结构。3、中断应用程序设计方法。教学难点:中断应用程序设计方法。教学过程模块四 单片机内部三大功能课题一 中断系统及其应用一、任务目标通过本课题的学习,掌握单片机中断控制的 4 个寄存器功能和具有中断的单片机控制系统的程序设计方法。

2、 二、任务分析当 CPU 正在处理某项任务时,如果外部或内部的某种原因,要求 CPU 暂停正在处理的任务而去执行相应的处理任务,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。单片机应用 4 个特殊功能寄存器(定时/计数器控制寄存器TCON、串行口控制寄存器 SCON、中断允许控制寄存器 IE、中断优先级控制寄存器 IP)对中断过程进行控制。在单片机的中断过程中,许多具体过程是由单片机自动实现的,需要用户做的工作是:首先在程序存储器的开始(0000H 单元)处写一条长跳转指令(跳转到主程序),然后在对应的中断入口地址(见表 4-1)处写一条长跳转指令(跳转到中断服

3、务程序处),再在主程序中对中断及相关中断源进行初始化,最后编写中断服务程序。 表 4-1 中断入口地址表中断源 入口地址 外部中断 00003H 定时器 T0 中断 000BH 外部中断 10013H 定时器 T1 中断 001BH 串行口中断0023H 1、中断源所谓中断源是指任何能够引起单片机中断的事件, 89C51/89S51 单片机有两类共 5 个中断源,分别是 2 个外部中断源(P3.2)、(P3.3)和 3 个内部中断源定时/计数器 T0 溢出中断源、定时/计数器 T1 溢出中断源、串行口发送/接收中断源。(1) 外部中断源外部中断 0(/INT0):当 P3.2 引脚输入低电平或

4、者下降沿信号时,产生中断请求。外部中断 1(/INT1):当 P3.3 引脚输入低电平或者下降沿信号时,产生中断请求。(2) 内部中断源定时器计数器 0(T0):T0 计数值发生溢出时,产生中断请求。定时器计数器 1(T1):T1 计数值发生溢出时,产生中断请求。串行口中断:当单片机串行口接收或发送完一帧数据时,产生中断请求。2、中断过程中断处理过程为:中断源发出中断请求CPU 对中断请求作出响应执行中断服务程序返回主程序。中断请求当中断源发出中断请求时,将相应的中断请求标志位置“1” ,向 CPU 请求一次中断服务。中断查询由 CPU 查询 TCON 和 SCON 中的各个中断请求标志位的状

5、态,确定是哪个中断源发出中断请求,查询时按优先级顺序进行查询,即先查询高优先级再查询低优先级。如果优先级相同,按自然优先级顺序查询。(3) 中断响应1) 中断响应条件单片机 CPU 响应中断要满足以下 3 个条件:有中断源发出中断请求。中断总允许位为 1,即 CPU 允许所有中断源申请中断。申请中断的中断源的中断允许位为 1,即该中断源可以向CPU 申请中断。当以上 3 个条件都满足时,中断请求才可能被 CPU 响应。 中断受阻当中断请求满足响应条件时并不一定会立即得到响应,当遇到下列 3 种情况之一时中断请求就不会立即被响应。CPU 正在处理一个同级或更高优先级的中断服务。当前指令还没有执行

6、完毕。当正在执行的指令是子程序返回指令 RET、中断返回指令RETI、访问中断优先级寄存器 IP 或中断允许寄存器 IE 的指令时,执行完这些指令后,还必须再执行一条指令,才会响应中断请求。 中断响应过程当中断源发出中断请求后,满足中断响应条件,且不存在受阻情况时,CPU 将立即响应该中断请求,如有多个中断源同时提出中断请求时,将按中断源的优先级别作出响应,先响应高优先级中断源,后响应低优先级中断。中断响应时首先将优先级状态触发器置“1,以阻断同级或低级的中断请求。然后将断点地址压入堆栈保护,再由硬件执行一条长调用指令将对应的中断入口地址送入程序计数器 PC 中,使程序转到该中断入口地址,并执

7、行中断服务程序。(4) 中断服务当中断响应后,程序转到中断入口地址处,执行中断服务程序(由用户根据中断事件的要求编写的处理程序),执行到中断返回指令 RETI 时,中断服务结束。(5) 中断返回执行中断返回指令 RETI 时,将保存在堆栈中的断点地址取出,送入程序计数器 PC 中,程序转到断点处继续执行原来的程序。同时还将优先级状态触发器清“0” ,将部分中断请求标志(除串行口中断请求标志 TI 和 RI 外)清“0” 。3、中断请求撤消中断响应后,对 TCON 和 SCON 的中断请求标志位应及时撤消。否则意味着中断请求仍然存在,将造成中断的重复响应,因此应在中断返回前,撤消其中断标志。(1

8、) 定时/计数器中断请求的撤消中断响应后,由硬件自动把定时/计数器 0 中断请求标志位 TF0和定时/计数器 1 中断请求标志位 TF1 清“0” ,此操作不需要用户参与。(2) 串行中断请求的撤消中断响应后,没有用硬件清除 TI 或 RI,所以必须在中断服务程序中用软件(指令)将串行发送中断请求标志位 TI 或串行接收中断请求标志位 RI 清“0” 。(3) 外部中断请求的撤消脉冲触发方式的外中断请求撤消外部中断 0 中断请求标志位 IE0 和外部中断 1 中断请求标志位IE1 的清“0”是由单片机硬件自动完成的,用户无需参与。电平触发方式的外中断请求撤消外部中断标志位的清“0”是自动完成的

9、,但是如果在中断结束后低电平持续存在的话,CPU 又会把中断请求标志位(IE0/IE1)置“1” 。因此,对电平触发方式的外部中断请求信号,需要外加电路,在中断响应后立即将/INT0、/INT1 引脚的低电平中断请求信号清除,即将/INT0、/INT1 引脚电平从低电平强制为高电平,电路如图 4-1所示。图 4-1 电平触发方式的外中断请求撤消电路三、相关知识51 系列单片机为用户提供了 4 个特殊功能寄存器:定时/计数器控制寄存器 TCON、串行口控制寄存器 SCON、中断允许控制寄存器IE、中断优先级控制寄存器 IP,用来进行中断系统控制。1、定时/计数器控制寄存器(TCON)该寄存器用于

10、锁存外部中断请求标志位及定时/计数器溢出中断请求标志位。进行字节操作时,寄存器地址为 88H。按位操作时,各位的地址为 88H8FH。寄存器的内容及位地址见表 4-2。表 4-2 TCON 寄存器位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 (1) IT0 和 IT1外部中断 0 和外部中断 1 中断请求触发方式控制位IT0(IT1)1 为脉冲触发方式,下降沿有效。IT0(IT1)0 电平触发方式,低电平有效。(2) IE0 和 IE1外部中断 0 和外部中断 1 中断请求标志位当 CPU 采样到

11、/INT0(或/INT1)引脚出现有效中断请求信号时,IE0(IE1)位由硬件置“1” 。当中断响应后,转向中断服务程序时,由硬件把 IE0(或 IE1)清“0” 。高 4 位的功能将在本模块的课题二中讲解。2、 串行口控制寄存器(SCON)进行字节操作时,寄存器地址为 98H。按位操作时,各位的地址为 98H9FH。寄存器的内容及位地址见表 4-3。表 4-3 SCON 寄存器位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 R EN TB8 RB8 TI RI其中与中断有关的控制位共两位:(1) TI串行口发送中断标志位发送完一个字节数

12、据后,由硬件置“1” ;在转向中断服务程序后,该位必须用软件清“0” 。(2) RI串行口接收中断标志位接收完一个字节数据后,由硬件置“1” ;在转向中断服务程序后,该位必须用软件清“0” 。3、 中断允许控制寄存器(IE)进行字节操作时,寄存器地址为 A8H。按位操作时,各位的地址为 A8HAFH。寄存器的内容及位地址见表 4-4。表 4-4 IE 寄存器位地址 AFH AEH ADH ACH ABH AAH A9H A8H 位符号 EA ES ET1 EX1 ET0 EX0 其中与中断有关的控制位共 6 位:(1) EA中断允许总控制位EA0 ,中断总禁止,禁止所有中断。EA1, 中断总允

13、许,每个中断源是禁止还是允许由各自的允许控制位确定。(2) EX0 和 EX1外部中断 0 和外部中断 1 中断允许控制位EX0(EX1)0 , 禁止外部中断。EX0(EX1)1, 允许外部中断。(3) ET0 和 ET1定时/计数器 0 和定时/计数器 1 中断允许控制位ET0(ET1)0, 禁止定时/计数器中断。ET0(ET1)1, 允许定时/计数器中断。(4) ES串行中断允许控制位ES=0, 禁止串行口中断。ES=1, 允许串行口中断。4、中断优先级控制寄存器(IP)各中断源的优先级由中断优先级寄存器 IP 进行设定。IP 寄存器地址为 B8H,位地址为 BFHB8H。IP 寄存器的内

14、容及位地址见表 4-5。表 4-5 IP 寄存器位地址 BFH BEH BDH BCH BBH BAH B9H B8H 位符号 PS PT1 PX1 PT0 PX0 (1) PX0外部中断 0 优先级控制位(2) PT0T0 中断优先级控制位(3) PX1外部中断 1 优先级控制位(4) PT1T1 中断优先级控制位(5) PS串行口中断优先级控制位以上各位设置为 0 时,则相应的中断源为低优先级;设置为 1时,则相应的中断源为高优先级。四、任务实施1、中断控制51 系列单片机主要是用四个专用寄存器(TCON、SCON、IE、IP)对中断过程进行控制。其控制过程如图 4-2 所示。2、中断过程

15、根据上面的分析,得到如图 4-3 所示的中断处理过程。3、中断编程结构在中断处理过程中许多操作都是由单片机自动完成的,用户要做的工作就是用中断系统的 4 个专用寄存器进行中断控制编程。根据上面分析可得如图 4-4 所示的中断编程结构。图 4-2 51 系列单片机中断系统结构框图图 4-3 中断处理过程图 4-4 中断编程结构4、中断应用举例例 4-1 在正常情况下接于 P1 口的 8 只发光二极管交替循环亮灯。当产生外部中断 0 时,8 只发光二极管间隔亮灯闪烁 6 次。设发光二极管高电平点亮,晶振频率为 6MHz,电路原理图如图 4-5所示。图 4-5 外部中断应用电路在本设计任务中主程序实

16、现 8 只发光二极管交替循环亮灯,中断程序实现 8 只发光二极管间隔亮灯闪烁 6 次。用到了外部中断 0,其中断入口地址为 0003H,按上面讲述的具有中断的程序编程结构编写的源程序如下:ORG 0000H ? ? LJMP MAIN ;转主程序 ? ORG 0003H ;外部中断 0 入口地址 ? LJMP EXT0 ;转中断服务程序 ? ORG 0030H ?;主程序MAIN: SETB IT0 ;置外部中断 0 为脉冲触发方式 ? SETB EA ;总中断允许 SETB EX0 ;外部中断 0 允许 MOV A,#01H ;主程序亮灯初值MOV SP,#30H ;堆栈指针赋初值 30HLOOP: MOV P1,A ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号