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

内容发布更新时间 : 2024/6/7 2:33:37星期一 下面是文章的全部内容请认真阅读。

大连理工大学实验报告

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

实验 三 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保持为低优先级)时运行状态记录 外部中断信号状态 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 PI口(LED状态) 结论二:两个中断都没有申请时程序正常执行主程序,当有中断时,低优先级的中断

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

三、 实验电路

四、 实验流程图 设置初始地址 INT0入口 初始化设置: SETB PX1 五、 程序清单

START:

ORG

LJMP ORG LJMP ORG LJMP ORG MOV SETB

0000H START 0003H INT_0 0013H INT_1 0100H SP,#60H EX0

LOOP:

SETB EX1

SETB PX1 SETB EA

MOV TCON,#00H MOV IP,04H MOV A,#00H MOV P1,A CPL A

LCALL DELAY

彩灯连续两个亮,循环左移显示,调用DELAY只有一个彩灯亮,并且循环右移显示,调用进入INT_0子程进入INT_1子程NYY INT1=0? INT0=0? N INT1=0? Y计数器取反并显示 调用DELAY子程N INT_0: RIGHT: INT_1: SJMP LOOP PUSH PSW PUSH ACC LCALL DELAY MOV A,#03H CPL A RR A MOV P1,A LCALL DELAY JNB P3.2,RIGHT LCALL DELAY POP ACC POP PSW RETI

PUSH PSW PUSH ACC LCALL DELAY MOV A,#01H CPL A

LEFT: RL

MOV LCALL JNB LCALL POP POP RETI DELAY: PUSH PUSH MOV DELAY1: MOV DJNZ DJNZ POP POP RET END

A

P1,A DELAY P3.3,LEFT DELAY ACC PSW 01H 02H R1,#00H R2,#00H R2,$

R1,DELAY1 02H 01H

六、实验结果与分析

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

七、实验体会和建议

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

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

八、主要仪器设备

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

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