51的中断与定时

上传人:woxinch****an2018 文档编号:38969845 上传时间:2018-05-10 格式:DOC 页数:13 大小:1.93MB
返回 下载 相关 举报
51的中断与定时_第1页
第1页 / 共13页
51的中断与定时_第2页
第2页 / 共13页
51的中断与定时_第3页
第3页 / 共13页
51的中断与定时_第4页
第4页 / 共13页
51的中断与定时_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《51的中断与定时》由会员分享,可在线阅读,更多相关《51的中断与定时(13页珍藏版)》请在金锄头文库上搜索。

1、第五章单片机的中断与定时重点及难点:重点及难点: 单片机中断与定时的基本概念、单片机的中断系统、单片机的定时器/计数器、单片 机外部中断源的扩展。教学基本要求:教学基本要求: 1、 掌握单片机中断与定时的基本概念; 2、 掌握单片机的中断源、中断控制、中断响应过程的基本概念及单片机中断系统的 功能和使用方法; 3、 掌握单片机的定时器/计数器的初值计算、工作方式控制寄存器的初始化、程序 的设计方法和步骤; 4、 了解单片机外部中断源扩展的常用方法和步骤。教学内容教学内容5.5.1 中断的基本知识中断的基本知识一、一般微机的输入一、一般微机的输入/ /输出方式输出方式1条件传送方式 2 查询传送

2、方式 3直接存储器存取(DMADirect Memory Access)方式 4 中断传送方式二、中断概述二、中断概述(一)中断的概念 所谓“中断” ,是指计算机在执行某一段程序的过程中,由于计算机系统内、外的某 种原因,有必要中止原程序的执行,而去执行相应的处理程序,待处理结束后,再返回 来继续执行本中断的原程序的过程。 (二)中断源 引起中断的原因,或是能发出中断申请的来源,称为中断源。 (三)中断的分类(1)屏蔽中断 (2)非屏蔽中断。 (3)软件中断。 (四)中断的开放与关闭中断的开放与关闭,亦称为开中断和关中断。这是指 CPU 中断系统的状态,只有当 CPU 处于开中断状态时,才能接

3、受外部的中断申请。反之,当 CPU 处于关中断状态时, 则不能接受外部的中断申请。(五)中断的优先级(六)中断处理过程一个完整的中断处理的基本过程应包括:中断请求、中断响应、中断处理和中断返 回。5.5.2 MCS-51 单片机的中断系统单片机的中断系统一、中断源一、中断源(一)外中断 (二)定时中断(三)串行中断MCS-51 中断系统结构框图二、中断控制二、中断控制(一)定时器控制寄存器(TCON)1IE0 和 IE1外中断请求标志位 2IT0 和 IT1外中断请求触发方式控制位IT0(IT1)= 1 脉冲触发方式,后沿负跳有效。IT0(IT1)= 0 电平触发方式,低电平有效。此位由软件置

4、“1”或清“0” 。 3TF0 和 TF1计数溢出标志位 (二)串行口控制寄存器(SCON)1TI 串行口发送中断请求标志位 2RI 串行口接收中断请求标志位 (三)中断允许控制寄存器(IE)lEA 中断允许总控制位EA = 0 中断总禁止,禁止所有中断。EA = 1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进 行设置。 2EX0 和 EX1外部中断允许控制位EX0 (EX1) = 0 禁止外中断。EX0 (EX1) = 1 允许外中断。 3ET0 和 ET1定时/计数中断允许控制位 ET0 (ET1) = 0 禁止定时(或计数)中断。ET0 (ET1) = 1 允许定时

5、(或计数)中断。 4ES串行中断允许控制位 ES = 0 禁止串行中断。ES = 1 允许串行中断。 (四)中断优先级控制寄存器(IP)PX0外部中断 0 优先级设定位; PT0定时中断 0 优先级设定位;位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE1IE0位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI位地址0AFH0AEH0ADH0ACH0ABH0AAH0A9H0ABH位符号EA/ESET1EX1ET0EX0位地址0BFH0BEH0BDH0BCH0BBH0BBH0B9H0BBH位

6、符号/PSPT1PX1PT0PX0PX1外部中断 1 优先级设定位; PT0定时中断 1 优先级设定位; PS串行中断优先级设定位。 为“0”的位优先级为低;为“1”的位优先级为高。 (五)中断优先级控制原则和控制逻辑(1)低优先级中断请求不能打断高优先级的中断服务;但高优先级中断可以中断低 优先级的中断服务,从而实现中断嵌套。 (2)如果一个中断请求已被响应,则同级的其他中断服务将被禁止,即同级不能嵌 套。 (3)如果同级的多个中断请求同时出现,则按 CPU 查询次序确定哪个中断请求被 响应。其查询次序为:外部中断 0 定时中断 0 外部中断 1 定时中断 1 串行 中断。 (六)中断初始化

7、与中断控制寄存器状态设置对中断的使用是在程序初始化时设置的,如果不包括优先级控制,外中断初始化共 有 3 项内容:中断总允许、外中断允许和中断方式设定。而定时中断则只有两项内容, 没有中断方式控制。假定要开放外中断 0,使用字节操作指令为:MOV IE , # 81H 如使用位操作指令则为: SETB EA SETB EX0三、中断响应过程三、中断响应过程(一)中断采样 (二)中断查询 (三)中断响应中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的。当查询 到有效的中断请求时,紧接着就进行中断响应。8031/ 8051 的中断服务程序入口中断源中断服务程序入口外部中断 0000

8、3H定时中断 0000BH外部中断 10013H定时中断 1001BH串行中断0023H中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列 情况之一时,中断响应被封锁。 (1)CPU 正处在为一个同级或高级的中断服务 中。 (2)查询中断请求的机器周期不是当前指令的最 后一个机器周期。 (3)当前指令是返回指令(RET,RETI)或访 问 IE、IP 的指令。(四)中断响应时间一般的中断响应时间都是在大于 3 个机器周期而 小于 8 个机器周期的两种极端情况之间。 (五)中断请求的撤销1定时中断请求的撤销 2脉冲方式外部中断请求的撤销3电平方式外部中断请求的撤销 4串行中

9、断软件撤销 (六)中断服务流程 1 现场保护和现场恢复 2关中断和开中断 3中断处理 4中断返回四、四、MCS-51MCS-51 单片机的单步工作方式单片机的单步工作方式(1)建立单步执行的外部控制电路 (2)编写外部中断 0 的中断服务程序 JNBP2.2 ,$; =0 则“原地踏步”0 ANLP1 ,# FFH;=1 则“原地踏步”0 RETI;返回主程序5.35.3 MCS-51 单片机的定时器单片机的定时器/计数器计数器一、定时方法概述一、定时方法概述 1软件定时 2硬件定时 3可编程定时器定时 二、定时器二、定时器/ /计数器的定时和计数功能计数器的定时和计数功能1 计数功能2定时功

10、能三、定时器三、定时器/ /计数器的控制寄存器计数器的控制寄存器(一)定时器控制寄存器(TCON)1 TF0 和 TF1计数溢出标志位 2 TR0 和 TR1定时器运行控制位TR0(TR1)= 0 停止定时器/计数器工作 TR0(TR1)= 1 启动定时器/计数器工作 (二)工作方式控制寄存器(TMOD)1GATE门控位GATE =0 以运行控制位 TR 启动定时器GATE = l 以外中断请求信号或启动定时器012C/定时方式或计数方式选择位C/ = 0 定时工作方式C/ = 1 计数工作方式3M1M0工作方式选择位M1M0 = 00 方式 0M1M0 = 01 方式 1M1M0 = 10

11、方式 2M1M0 = 11 方式 3 (三)中断允许控制寄存器(IE)1EA 中断允许总控制位 2ET0 和 ET1定时/计数中断允许控制位ET0(ET1)= 0 禁止定时/计数中断ET0(ET1)= 1 允许定时/计数中断四、定时工作方式四、定时工作方式 0 0(一)电路逻辑结构方式 0 是 13 位计数结构的工作方式,其计数器由 TH0 全部 8 位和 TL0 的低 5 位构 成。TL0 的高 3 位弃之不用。 (二)定时和计数应用在方式 0 下,当为计数工作方式时,计数值的范围是:位 序B7B6B5B4B3B2B1B0位符号GATEC/M1M0GATEC/M1M0定时器/计数器 1 定时

12、器/计数器 018192(213)当为定时工作方式时,定时时间的计算公式为:(213计数初值) 晶振周期12 或(213计数初值) 机器周期其时间单位与晶振周期或机器周期相同(s) 。 如晶振频率为 6 MHz,则最小定时时间为213(2131) 1/6106l2 = 2106 = 2(s) 最大定时时间为(213 0 )1/6106l2 = 16 384106 = 16 384(s) 例 5-1 设单片机晶振频率为 6MHz,使用定时器 1 以方式 0 产生周期为 500s的等 宽正方波连续脉冲,并由 P1.0 输出,以查询方式完成。 1计算计数初值要产生 500s的等宽正方波脉冲,只需在

13、P1.0 端以 250s为周期交替输出高低电平 即可实现,为此定时时间应为 250s。使用 6MHz 晶振,则一个机器周期为 2s。方式 0 为 13 位计数结构。设待求的计数初值为 X,则: (213 X )2106 = 256106 求解得:X = 8067,二进制数表示为 1111110000011B,十六进制表示,高 8 位为: 0FCH,低 5 位为 03H。其中高 8 位放入 TH1,即 TH1 = 0FCH;低 5 位放入 TL1,即 TL1= 03H。 2 TMOD 寄存器初始化为把定时器/计数器 1 设定为方式 0,则 M1M0 = 00;为实现定时功能,应使 C/= 0;为

14、实现定时器/计数器 1 的运行控制,则 GATE = 0。定时器/计数器 0 不用,有关位设 定为 0。因此 TMOD 寄存器应初始化为 00H。 3由定时器控制寄存器 TCON 中的 TR1 位控制定时的启动和停止 TR1 = 1 启动,TR1= 0 停止。 4程序设计 MOVTMOD ,# 00H;设置 T1 为工作方式 0 MOVTH1 ,# 0FCH;设置计数初值 MOVTL1 ,# 03H MOVIE ,# 00H;禁止中断 LOOP:SETBTR1;启动定时 JBCTF1 ,LOOPl;查询计数溢出 AJMPLOOP LOOP1:MOVTH1 ,# 0FCH;重新设置计数初值 MO

15、VTL1 ,# 03H CLRTF1;计数溢出标志位清“0” CPLP1.0;输出取反 AJMPLOOP;重复循环五、定时工作方式五、定时工作方式 1 1方式 1 是 16 位计数结构的工作方式,计数器由 TH0 全部 8 位和 TL1 全部 8 位构成。当为计数工作方式时,计数值的范围是165536(216) 当为定时工作方式时,定时时间的计算公式为(216计数初值) 晶振周期12 或(216计数初值) 机器周期其时间单位与晶振周期或机器周期相同(s) 。 例 5-2 题目同例 5.1,但以中断方式完成。单片机晶振频率为 6MHz,使用定时 器 1 以工作方式 1 产生周期为 500s的等宽正方波连续脉冲,并由 P1.0 输出。 1计算计数初值 TH1 = 0FFH TL1 = 83H 2TMOD 寄存器初始化 TMOD = 10H 3程序设计 主程序: MOVTMOD ,# 00H;设置 T1 为工作方式 0 MOVTH1 ,# 0FFH;设置计数初值 MOVTL1 ,# 0A1H SETBEA;开中断 SETBET1;定时器 1 允许中断 LOOP:SETBTR1;定时开始 HERE:SJMP

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

当前位置:首页 > 中学教育 > 高中教育

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