单个外部中断实验
- 格式:doc
- 大小:199.50 KB
- 文档页数:3
一、 实验要求
在单片机的外中断输入引脚INT0————(或INT1————
),接一个按键开关来
产生外部中断请求,通过P1口连接的8个LED 发光二极管的状态,来反映外中断的作用。
中断未发生时,P1口连接的8个LED 为流水状态,当按键开关
按下,即外部中断请求产生时,8个LED 呈现闪烁状态。按键开关松开,8个LED 又为流水状态。
二、 实验目的
(1) 理解掌握外部中断源、中断请求、中断标志、中断入口
等概念。
(2) 掌握中断程序的设计方法。
程序如下:
ORG 0000H //程序入口
LJMP MAIN //跳入主程序入口MAIN
ORG 0003H //INT0中断入口
LJMP INT0P
ORG 0030H
MAIN: SETB EA //中断允许总开关控制位
SETB EX0 //允许外部中断0中断
SETB PX0 //外部中断0中断为高优先级
START:MOV R2,#8
MOV A,#0FEH //为点亮P1、0引脚发光二极管需写入P1口的点亮控制码
LOOP: MOV P1,A //点亮控制码写入P1口,点亮相应的LED
LCALL DELAY //调用延时子程序
RL A //点亮控制码循环左移,点亮下一位
DJNZ R2,LOOP //判断左移就是否超过8位,未超过继续循环 LJMP START //左移循环已8次,再重新进行下一次循环点亮 INT0P: PUSH PSW //保护现场
PUSH Acc
NOLIG: JNB IE0,IT0R
MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
LJMP NOLIG
IT0R:RETI
DELAY: MOV R5,#60 //延时子函数D1: MOV R6,#20
D2: MOV R7,#248
D3: DJNZ R7,D3
DJNZ R6,D2
DJNZ R5,D1
RET
END
程序如图:
实验现象: