文档详情

51单片机教程第四章.ppt

发布:2017-08-19约9.38千字共44页下载文档
文本预览下载声明
内容简介: §4.1 中断的概念 §4.2 MCS-51的中断系统结构 §4.3 中断请求源 中断请求源 中断请求标志位和触发控制位: IT0和IT1触发控制位: IE0中断请求标志位: IE1中断请求标志位: TF0和TF1定时器溢出中断请求标志位: TI:串行口的发送中断标志位 RI:串行口的接收中断标志位 §4.4 中断控制 §6.2.1 中断允许寄存器IE EA和ES标志位 ET1、EX1、ET0、EX0标志位 §6.2.2 中断优先级 中断优先级寄存器IP: 同一级中断的优先顺序: 例: CLR ES CLR EX1 CLR EX0 SETB ET1 SETB ET0 SETB EA 例: SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1 §4.5 中断响应过程 CPU响应中断后如何执行? 中断响应演示: 中断程序: §4.7 外部中断方式选择 一、电平触发方式: 二、边沿触发方式: §4.9 中断服务程序设计 1.中断服务程序设计的任务 (1)设置中断允许寄存器IE,允许相应的中断请求源中断。 (2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。 (3)若是外部中断源,要设置中断请求的触发方式(电平、边沿方式)TCON。 (4)编写中断服务程序,处理中断请求。 前三条一般放在主程序的初始化程序段中。 2.采用中断时的主程序结构 ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT MAIN: 主程序 …… INT: 中断服务程序 …… RETI 3.中断服务程序的流程 (1)现场保护和现场恢复 (2)关中断和开中断 (3)中断处理 (4)中断返回 §4.10 多外部中断系统设计 §4.10.1 定时器作为外部中断源的使用方法 初始化程序 TMOD TCON IE 控制寄存器: §4.10.2 中断和查询结合的方法: 程序和设计图: §4.10.3 中断注意事项 作业: 外部中断举例 【例】使用外部中断0,当每次响应中断时,P1口依次输出高电 平,使8个发光二极管依次循环熄灭闪烁。 1) 电路 2) 程序设计 ;灯亮初值 A, #01H MOV ;置循环次数 R2, #0FFH MOV EXTER: ;中断程序入口 1050H ORG ;等待中断 LOOP SJMP LOOP: ;总中断允许 EA SETB ;外部中断0允许 EX0 SETB ;外部中断0下降沿有效 IT0 SETB MAIN: 1000H ORG ;转中断程序 EXTER LJMP ;外部中断0入口地址 0003H ORG ;转主程序 MAIN LJMP 0000H ORG END ;中断返回 RETI ;循环 R2, FLASH DJNZ ;控制灯的亮灭 P1, A MOV R7, LOOP1 DJNZ R6, LOOP2 DJNZ NOP NOP LOOP2: R6, #0FFH MOV LOOP1: ;定时 R7, #0FFH MOV ;右移一位 A RR FLASH: §4.10.1 定时器作为外部中断源的使用方法 §4.10.2 中断和查询结合的方法 §4.10.3 中断注意事项 MCS-5l有两个定时器/计数器,当它们选择为计数器工作方式,T0或T1引脚上发生负跳变时,TO或Tl计数器加1,利用这个特性,可以把T0、Tl引脚作为外部中断请求输入引脚,而定时器的溢出中断作为外部中断请求标志。 例如:T0设置为方式2(自动恢复常数方式)外部计数方式,定时器THO、TLO初值均为OFFH,并允许T0中断,CPU开放中断。 ORG 0000H AJMP MAIN ORG 0000B AJMP T0SEV MAIN: MOV TMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0 SETB ET0 SETB EA SJMP $ T0SEV: CLR TR0 SETB P1.1 ··· RETI 请看TMOD TCON IE 控制寄存器 当连接在P3.4的外部中断请求输入线上的电平发生负跳变时,TL0加1,产生溢出,置“1”TF0,向CPU发出中断申请,同时TH0的内容0FFH送TLO,即TL0恢复初值0FFH,这样,P3.4相当于边沿触发的外部中断请求源输人端。P3.5也可做类似的处理。 M0 M1 C/T GATE M0
显示全部
相似文档