单片机汇编中断系统实验

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

实验报告:实验三中断系统实验

专业班级:2011级信息工程姓名:高祥学号:1195111009 指导老师

一、实验目的

1. 学习掌握51单片机中断系统结构、中断控制。

2. 学习掌握中断控制初始化和中断服务程序设计、调试。

二、实验说明

实验通过开关向单片机提出中断请求,单片机响应中断控制LED移位,从而观察中断的请求、响应的过程。通过本实验学生可以学习单片机中断系统结构以及中断控制初始化和中断服务程序设计、调试。

三、实验内容

1)、LED循环移位控制:

要求:P0口接LED,编程实现两种以上的循环移位方式(方式自定义,显示效果必须有明显的区别)。为便于观察,移位速度控制在1位/秒,采用软件延时。

代码码一:

;************************************************************************** :该程序实现的是LED灯循环左移程序,延时时间为0.99s

:************************************************************************** MOV A, #0FEH

LJMP MAIN

ORG 0080H

MAIN: MOV P0,A

ACALL DELAY

RL A

AJMP MAIN

Delay:MOV R7, #0C2H

D1 :MOV R6, #32H

D2 :MOV R5 ,#32H

D3 :DJNZ R5,D3

DJNZ R6,D2

DJNZ R7,D1

RET

END

代码二:

:************************************************************************* :该代码实现的是连个LED向右轮流循环显示功能,延迟时间为0.99S

:************************************************************************* MOV A,#9FH

LJMP MAIN

ORG 0080H

MAIN: MOV P0,A

ACALL DELAY

RR A

AJMP MAIN

Delay:MOV R7, #0C2H

D1 :MOV R6, #32H

D2 :MOV R5 ,#32H

D3 :DJNZ R5,D3

DJNZ R6,D2

DJNZ R7,D1

RET

END

2)、外部中断:

要求:通过按键产生外部中断请求(/INT0)信号,中断服务程序中完成上述循环移位方式切换。要求分别编写电平触发方式和跳变沿触发方式的初始化程序及中断服务程序。

代码一:

;**************************************************************************** ;通过按键来实现中断请求信号,完成一中的LED左循环程序,电平触发

;************************************************************************** ORG 0000H

LJMP MAIN

ORG 0003H

LJMP Bre

MAIN: MOV SP,#60H

CLR 01H

LOOP1:MOV A,#0FEH

LOOP4:MOV P2,A

ACALL Delay

SETB EA

SETB EX0

CLR IT0

RL A

JnB 01H,LOOP4

MOV R2,A

ACALL Delay

JNB 01H,LOOP4

LOOP2:MOV A,#9FH

LOOP3:MOV P2,A

ACALL Delay

RR A

JNB 01H,LOOP5

SJMP LOOP3

LOOP5:MOV A,R2

SJMP LOOP4

Bre: PUSH PSW

PUSH Acc

CPL 01H

POP Acc

POP PSW

RETI

Delay: MOV R7,#0C2H

D1 :MOV R6,#32H

D2 :MOV R5,#32H

D3 :DJNZ R5,D3

DJNZ R6,D2

DJNZ R7,D1

RET

END

代码二:

;**************************************************************************** ;通过按键来实现中断请求信号,完成一中的LED向右循环程序,跳变沿触发

;************************************************************************** ORG 0000H

LJMP MAIN

ORG 0003H

LJMP Bre

MAIN: MOV SP,#60H

CLR 01H

LOOP1:MOV A,#0FEH

LOOP4:MOV P2,A

ACALL Delay

SETB EA

SETB EX0

SETB IT0

RL A

JnB 01H,LOOP4

MOV R2,A

ACALL Delay

JNB 01H,LOOP4

LOOP2:MOV A,#9FH

LOOP3:MOV P2,A

ACALL Delay

RR A

JNB 01H,LOOP5

SJMP LOOP3

LOOP5:MOV A,R2

SJMP LOOP4

Bre: PUSH PSW

PUSH Acc

CPL 01H

POP Acc

POP PSW

RETI

Delay: MOV R7,#0C2H

相关文档
最新文档