单个外部中断实验

  • 格式:doc
  • 大小:199.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、 实验要求

在单片机的外中断输入引脚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

程序如图:

实验现象: