大连理工MCS-51单片机中断实验报告 下载本文

内容发布更新时间 : 2024/5/18 19:03:28星期一 下面是文章的全部内容请认真阅读。

大连理工大学实验报告

实验时间: 年 月 日 星期 时间 : : ~ : 实验室(房间号): 实验台号码: 班级: 姓名: 指导教师签字: 成绩:

实验 三 MCS-51单片机中断系统及外部中断/INT0实验

一、 实验目的和要求

1. 实验目的:学习、掌握单片机的中断原理。正确理解中断矢量入口、中断返回的概念及物理过

程。学习编写软件“防抖程序”,了解软件防抖原理。 2. 实验要求:对/int0、/int1两个外部中断进行编程,其中:

主程序的功能:LDE灯“全亮”、“全灭”交替进行 ----------(状态2); Int0中断服务程序功能:2个相邻的LED灯被点亮且循环左移(状态0); Int1中断服务程序功能:1个LED灯被点亮且循环右移 -----(状态1);

二、 实验内容及步骤

1.INT0、INT1同一优先级运行实验:

保持上电复位时INT0、INT1默认为 “低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。

表1 :INT0、INT1同一优先级时 运行记录 外部中断信号状态 Int0 0 1 0 0 0 1 Int1 0 0 0 1 0 0 状态0 状态1 状态1 状态0 状态0 状态1 PI口(LED状态) 结论一:INT0、INT1为同一优先级时,同级中断同时申请中断时,CPU按自然优先级响应,即INT0

→T0→INT1→T1→ES;一个中断一旦得到响应,与它同级的中断不能再打断它。 2.将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:

在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。

表2:INT1为高优先级(int0保持为低优先级)时运行状态记录 外部中断信号状态 PI口(LED状态) Int0 1 1 0 0 1 0 0 0 Int1 1 0 0 1 1 1 0 1 状态2 状态1 状态1 状态0 状态2 状态0 状态1 状态0 结论二:两个中断都没有申请时程序正常执行主程序,当有中断时,低优先级的中断响应在执行

时可以被高优先级中断所中断;高优先级的中断响应在执行时不会被低优先级中断所中断。

三、 实验电路 四、 实验流程图

五、 程序清单

设置初始地

址 ORG 0000H RIGHT: RR A INT0入口 MOV P1,A LJMP START

ORG 0003H LCALL DELAY LJMP INT_0 JNB P3.2,RIGHT 初始化设置: SETB PX1 ORG 0013H LCALL DELAY SETB EXi,SETB EA LJMP INT_1 POP ACC ORG 0100H POP PSW START: MOV SP,#60H RETI 计数器取反并显示 SETB EX0 INT_1: PUSH PSW N 调用DELAY子程序 SETB EX1 PUSH ACC SETB PX1 LCALL DELAY SETB EA MOV A,#01H Y N INT1=0? MOV TCON,#00H CPL A INT1=0? INT0=0? MOV IP,04H LEFT: RL A N MOV A,#00H MOV P1,A YY LOOP: MOV P1,A LCALL DELAY CPL A JNB P3.3,LEFT LCALL DELAY LCALL DELAY SJMP LOOP POP ACC INT_0: PUSH 进入 INT_1POP 进入PSW INT_0子程子程PSW PUSH ACC RETI LCALL DELAY DELAY: PUSH 01H MOV A,#03H PUSH 02H CPL MOV R1,#00H 彩灯A 连续两个只有一个彩灯亮,循环左移显亮,并且循环右示,调用DELAY移显示,调用DELAY1: MOV R2,#00H DJNZ R2,$

DJNZ R1,DELAY1 POP 02H

POP RET END

01H

六、实验结果与分析

在主程序执行的任何时候只要有中断都会转去执行中断程序,INT_0中断程序中实现两个相邻的LED灯被点亮且循环左移,INT_1中断程序实现只有一个LED灯亮且循环右移。中断运行状态见表1和表2。

七、实验体会和建议

本次的中断实验程序可分模块编写。先完成主程序中LED灯全亮和全灭的循环显

示,再尝试进入中断,进入中断后再开始编写中断程序,这样可以一边验证一边完善程序。

八、主要仪器设备

名称 Keil软件 DP-51PROC单片机综合仿真实验台 仿真器

型号 备 注 周立功单片机 TKSMonitor 51