口,点亮最低位指示灯MOVLIGHT,0FEH;指示灯控制数据赋初值SETBIT0;外部中断INT0为下降沿触发方式
f单片机实验报告(91418)
SETBEX0;允许外部中断INT0产生中断SETBEA;开总中断MAIN:AJMP;死循环,动态听见;外部中断INT0服务子程序EXINT0:PUSHACC;保护现场MOVALIGHT;去指示灯点亮数据RLA;循环左移一位MOVLIGHTA;移位后写回MOVP0,A;同时输出到P0口,改变指示灯点亮状态POPACC;恢复现场RETI;中断返回
三、实验任务与要求
1、读懂参考程序,理解外部中断的实现方法;2、要求来一个脉冲时,指示灯全亮,下一个脉冲时指示灯全熄,如此交替循环。请编程实现,并调试运行。
四、实验流程图与结果
程序运行流程图:开始初始化数据
中断响应保护断点数据移位N数据写入端口P0
检测外部中断申请
响应条件?
恢复断点响应屏蔽?Y返回中断
程序如下:LIGHTEQU62HORG0000HAJMPSTARTORG0003HLJMPEXINT0ORG0030HSTARTMOVSP30HMOVP00FEHMOVLIGHT00H
f单片机实验报告(91418)
SETBIT0SETBEX0SETBEAMAINAJMPEXINT0PUSHACCMOVALIGHTCPLAMOVLIGHTAMOVP0APOPACCRETIEND运行时,八个指示灯交替循环地点亮和熄灭。
四、思考题
1、外部中断有哪几种触发方式?为什么实验参考程序不用电平触发方式?答:外部中断方式有两种:上升沿触发和电平触发方式。由于电平触发时,系统不能自动清除IE1标志的数据,这样会导致中断状态返回时,电平仍然未清除,从而再次触发中断,导致系统错误。2、控制外部中断有寄存器的哪些位?各位分别起什么作用?
答:控制中断的寄存器有中断允许控制器和中断优先级控制器,其包含的位级作用如下:
中断允许控制器:IEEAIE7:总允许位IE6保留ET2IE5:定时器2中断允许位(只适用于8052及其增强型)ESIE4:串行中断允许位ET1IE3:定时器1中断允许位EX1IE2:外部中断1允许位ET0IE1:定时器0中断允许位EX0IE0:外部中断0允许位中断优先级控制器:IPIP7保留IP6保留PT2IP5:若1,定时器2中断设为高优先级(只适用于8052及其增强型)PSIP4:若1,串行中断设为高优先级PT1IP3:若1,定时器1中断设为高优先级PX1IP2:若1,外部中断1设为高优先级PT0IP1:若1,定时器0中断设为高优先级PX0IP0:若1,外部中断0设为高优先级
f单片机实验报告(91418)
实验18定时器控制继电器
一、实验目的
1、了解继电器的原理和作用;2、掌握定时器中断的编程方法;3、学习利用定时器中断控制继电器的基本方法。
二、实验说明
继电器是电气测量和r