单片机实验报告——中断

时间:2025-07-07

中断优先级控制及中断保护实验

一、实验目的

1、掌握单片机中断机制。

2、熟悉中断的应用和编程。

二、实验设备

统一电子开发平台。

三、实验要求

连接单片机最小系统和发光二极管阵列的电路并编写程序,学习单片机中断机制,及中断优先级和

中断保护的方法,使用独立式按键B 连接INT0(P3.2),按键F 连接INT1(P3.3),在平时状态下,发

光二极管行以200ms 的时间间隔,依次点亮。B 键按下时INT0 中断处理程序点亮P0.0 对应的发光管2

秒钟,其他发光管熄灭;F 键按下时P0.1 对应发光管点亮2 秒,其他发光管熄灭。 原理图:

四、源代码

;中断优先级控制及中断保护实验

;注意: J14 跳到8LED

; J15 跳到8LED

; J5 跳到1*4

; SW1 上的开关1 打开

; 按B 键控制INT0;按F 键控制INT1

ORG 0000H

AJMP MAIN ;跳至主程序。

ORG 03H ;外部中断0 中断向量地址。

AJMP INT0_SUB

ORG 13H ;外部中断1 中断向量地址。

AJMP INT1_SUB

ORG 0030H

MAIN:

MOV IE,#10000101B

MOV TCON,#00000101B

MOV IP,#01H;

MOV SP,#30H ;将堆栈移至30H。

NOP

START: MOV P1,#0FEH ;(注意16 进制数A--F 前要加0)

MOV A,P1

ACALL DELAY200MS ;调用延时子程序,以使观察LED 的状态 LOOP1: RR A

MOV P1,A

ACALL DELAY200MS ;调用延时子程序,以使观察LED 的状态 ACALL DELAY200MS

ACALL DELAY200MS

AJMP LOOP1

DELAY2S:

MOV R2,#0AH

DEL_1: ACALL DELAY200MS

DJNZ R2,DEL_1

RET

DELAY200MS:

;延迟200ms 子程序。

MOV R1,#014H

DEL_0: ACALL DELAY10MS

DJNZ R1,DEL_0

RET

DELAY10MS:

MOV R5,#0BH

DEL_2: MOV R3,#0EFH

DEL_3:

MOV R4,#09H

DJNZ R4,$

DJNZ R3,DEL_3

DJNZ R5,DEL_2

RET

;DELAY10MS 程序占用时钟周期为:[2+(2+4*9+4)*0XEF+4]*11=110484

;一个时钟周期是:T=1/11059200s,故延迟时间为:114084*T=9.990234375ms INT0_SUB:;1NT0 中断子程序。

CLR EA ;清除中断

ACALL DELAY10ms ;延迟10ms

JNB INT0,HAVEKEY0 ;确认有键

SETB EA ;开启全局中断

RETI

HAVEKEY0:

PUSH PSW ;保存寄存器数据。

PUSH ACC

SETB RS0 ;选择寄存器库1

CLR RS1 ;选择寄存器库1

SETB EA ;开启全局中断

MOV P1,#0FEH

ACALL DELAY2S

POP ACC ;取出保存寄存器数据。

POP PSW

RETI

INT1_SUB:

;1NT1 中断子程序。

CLR EA ;清除中断

ACALL DELAY10MS ;延迟

J NB INT1,HAVEKEY1 ;确认有键

SETB EA ;开启全局中断

RETI

HAVEKEY1:

PUSH PSW

PUSH ACC

SETB RS1

CLR RS0

SETB EA

MOV P1,#0FDH

ACALL DELAY2S

POP ACC

POP PSW

RETI

END

五、实验步骤

1.做实验前请将J14 和J15 跳到”8LED”位置,J5 跳到“1*4”位置

2.红色拨码开关打到ON 的位置SW1 上的”8LED Power”开关ON 打开

3. 输入源代码,进行调试。

单片机实验报告——中断.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219