51单片机实验-实验四 多级中断实验

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

实验4 多级中断

一、实验目的

1)通过实验了解定时器中门控信号的使用

2)通过实验了解多级中断的原理、编程方法

二、实验设备

PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。

三、实验内容

用单片机控制一个路灯,天黑时路灯启动,亮2秒,灭2秒,闪闪发光,白天时路灯熄灭。用外部开关控制白天与黑夜的转换,用定时器控制路灯的闪亮

1、采用多级中断嵌套,INT0中断(低级)控制黑天白天状态;T0中断(高级)控制灯的闪亮。

四、实验电路

五、实验程序及注释

ORG 0000H

LJMP MAIN

ORG 0003H ;INT0中断入口地址

LJMP WBINT

ORG 000BH ;T0中断入口地址

LJMP TLINT

ORG 0100H

MAIN: ;主程序

MOV SP,#30H

MOV IE,#0H ;关中断

MOV TCON,#0H ;INT0低电平触发中断

MOV IP,#2H ;T0高级中断INT0低级中断MOV TMOD,#0H ;T0方式0

MOV TL0,#18H

MOV TH0,#63H ;T0赋定值

MOV R7,#0C8H ;T0中断计数值

MOV R6,#10 ;T0工作状态灯的显示时间控制CLR P1.0 ;主程序工作指示

CLR P1.1 ;INT0中断程序工作指示

CLR P1.6 ;T0中断程序工作指示

CLR P1.7 ;路灯工作指示

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

SETB EX0 ;开INT0中断

SETB EA ;开总中断

WAIT:

CPL P1.0 ;P1.0闪动显示

ACALL DL Y ;主程序循环

AJMP W AIT ;等待中断

DL Y: MOV R0,#01H ;闪动延时时间设定子程序1 DL Y0: MOV R5,#0FFH

DL Y1: MOV R4,#0FFH

DL Y2: DJNZ R4,DL Y2

DJNZ R5,DL Y1

DJNZ R0,DL Y0

RET

W_DL Y: MOV R1,#01H ;闪动延时时间设定子程序2

W_DL Y0:MOV R2,#0FFH

W_DL Y1:MOV R3,0FFH

W_DL Y2:DJNZ R3,W_DL Y2

DJNZ R2,W_DL Y1

DJNZ R1,W_DL Y1

RET

WBINT: CLR EX0 ;关INT0中断

SETB ET0 ;开放T0中断

SETB TR0 ;启动T0

CLR P1.0

WBW: CPL P1.1 ;INT0中断工作标志

ACALL W_DL Y

NB P3.2,WBW ;等白天信号

CLR TR0 ;关T0

CLR ET0 ;关T0中断

CLR P1.1

CLR P1.6

CLR P1.7

SETB EX0 ;开INT0中断

RETI

TLINT: MOV TL0,#18H ;t0重新置初值

MOV TH0,#63H

DJNZ R6,EXP2

MOV R6,#10

CPL P1.6 ;T0中断10次显示变化

EXP2: DJNZ R7,EXPORT

MOV R7,#0C8H ;T0中断200次

CPL P1.7 ;等于2秒,路灯变化

EXPORT:RETI

END

六、实验结果

当开关处于低电平状态,则P1.1接的LED灯L2跟P1.6接的L7会闪烁,表明INT0中断子程序跟T0中断子程序正在进入中断中,此时模拟处于黑夜的状态,则P1.7接的代表路灯的L8会以程序中设定的间隔时间2秒亮灭;当开关拨上高电平,则P1.0接的L1会闪动,表明程序正在主程序那里循环,此时L2,L7,L8均不亮。

相关文档
最新文档