实验4多级中断

发布 2023-04-19 11:56:28 阅读 2244

一、实验目的。

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

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

二、实验设备。

pc机、星研star16l**器系统+**头podph51(dip)、el-ⅱ型通用接口板实验电路,proteus**软件。

三、实验内容。

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

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

2、(选作)采用t0采用门控方式,单中断工作。

四、实验原理。

1、延时控制的多种方式。

1)纯软件延时,如本例给出的dly和w_dly延时子程序,延时精度低,且占用cpu运行时间。

2)定时器中断加软件计数。定时器中断延时精度高,且不占用cpu运行时间,但是延时范围较窄。本例采用定时器t0中断产生0.

1s的延时,同时对中断次数进行软件计数,来灵活地扩展延时范围。这种方法定时精度高,定时范围广,占用cpu运行时间少。

2、为了确保中断嵌套发生,into外中断采用电平触发方式,且中断响应后长期占用cpu。在实际中断系统设计中应尽量避免中断子程序长时间占用cpu的情况,应尽量采用短中断响应子程序,以提高cpu运行效率,但是这时,高级中断请求产生后,未必会发生中断嵌套的情况,也使得系统中断响应的不确定性更加复杂化。

3、为了便于观察中断现象,本例增设了几个反映系统程序工作状态的指示灯,分别是:

p1.0:显示主程序工作状态,闪动=循环工作;

p1.1:显示int0中断子程序工作状态,闪动=进入中断;

p1.6:显示t0中断子程序工作状态,闪动=进入中断;

p1.7:显示路灯的亮灭状态。

4、本例的诸多延时设置是为了便于观察指示灯的闪动,其时间设置可以根据自己的习惯,适当调整。

五、参考程序。

name t6_1_int

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 ;t0定值。

mov th0, #63h

mov r7, #0c8h ;t0中断计数值。

mov r6,#10 ;to工作状态灯的显示时间控制。

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.0p1.0闪动显示。

acall dly主程序循环。

ajmp wait ;等待。

;软件延时子程序1

dly: mov r0, #01h

dly0: mov r5, #0ffh

dly1: mov r4,#0ffh

dly2: djnz r4,dly2

djnz r5,dly1

djnz r0,dly0

ret;软件延时子程序2

w_dly: mov r1, #01h

w_dly0: mov r2, #0ffh

w_dly1: mov r3, #0ffh

w_dly2: djnz r3, w_dly2

djnz r2, w_dly1

djnz r1, w_dly1

ret; int0中断子程序。

wbint: clr ex0 ;关int0中断。

setb et0 ;开放t0中断。

setb tr0 ;启动t0

wbw: cpl p1.1 ;int0中断工作标志。

acall w_dly

jnb p3.2, wbw ;等白天信号。

clr tr0关t0

clr et0关t0中断。

clr p1.1

clr p1.6

clr p1.7

setb ex0 ;开int0中断。

retit0中断子程序。

tlint: mov tl0, #18h ;t0重新。

mov th0, #63h ;置初值。

djnz r6,exp2

mov r6,#

cpl p1.6t0中断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均不亮。

实验4外部中断实验

实验4 外部中断实验。学号姓名。一 实验目的。1 学习外部中断技术的基本使用方法。2 学习中断处理程序的编程方法。二 实验内容。用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。三 实验说明。中断服务程序的关键是 1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中...

实验4外部中断实验

实验4 外部中断实验。一 实验目的。1 验证用8088 86控制8259a可编程中断控制器,实现对外部中断的响应和处理 2 使用8253定时计数器,将定时和中断综合起来,实现定时中断控制。二 实验要求。1.将单脉冲作为中断源输入给8259a的ir0,按一次脉冲使8259a产生一次中断,中断服务计数中...

4机组厂用电中断

06 16 02启备变跳闸,蒲0202开关跳开。4机厂用电失去,柴发联启正常,接带负荷正常。保安段恢复。主机直流油泵联启,小机直流油泵联启,密封油直流油泵联启。06 17 由于高低旁油站失电,汇报调试,打开pcv阀泄压。调试就地将高旁关闭,关闭pcv阀。关闭机侧疏水气动门,关闭主再热蒸汽管道疏水门。...