实验6 外部中断实验
(仿真部分)
一、实验目的
1. 学习外部中断技术的基本使用方法。
2. 学习中断处理程序的编程方法。 二、实验内容
在INT0和INT1上分别接了两个可回复式按钮,其中INT0上的按钮每按下一次则计数加一,其中INT1上的按钮每按下一次则计数减一。P1.0~ P1.3接LED灯,以显示计数信号。 三、实验说明
编写中断处理程序需要注意的问题是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。 2.必须在中断处理程序中设定是否允许中断重入,即设置EX0位。
3.INT0和INT1分别接单次脉冲发生器。P1.0~ P1.3接LED灯,以查看计数
信号.
四、硬件设计
利用以下元件:AT89C51、BOTTON、CAP、CAP-POL、CRYSTAL、RES、NOT、LED-Yellow。设计出如下的硬件电路。晶振频率为12MHz。
五、参考程序框图
INT0中断入口 开始
保护现场 设置P1.0~ 3初始状态
计数加一 设置有关中断控制寄存器
开外中断INT0、INT1
恢复现场
显示循环等待中断 中断返回
主程序框图 INT0中断处理程序框图
——
实验6 外部中断实验
(实验箱部分)
1.实验目的
认识中断的基本概念 学会外部中断的基本用法 学会asm和C51的中断编程方法 2.实验原理
图 按键中断
【硬件接法】
P1.1控制LED,低电平点亮
P3.3/INT1接按键,按下时产生低电平 【运行效果】
程序工作于中断方式,按下按键K2后,LED点亮,1.5秒后自动熄灭。
8051单片机有/INT0和/INT1两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或下降沿触发方式来输入中断请求信号。/INT0和/INT1中断的入口地址分别是0003H和0013H。
TCON寄存器(SFR地址:88H)中的IT0和IT1位分别决定/INT0和/INT1的触发方式,置位时为下降沿触发,清零时为低电平触发。实际应用时,如果外部的中断请求信号在产生后能够在较短时间内自动撤销,则可以选择低电平触发。在中断服务程序里要等待其变高后才能返回主程序,否则会再次触发中断,产生不必要的麻烦。
如果外部的中断请求信号产生后可能长时间后才能撤销,则为了避免在中断服务程序里长时间无谓等待,可以选择下降沿触发。下降沿触发是“一次性”的,每次中断只会有1个下降沿,因此中断处理程序执行完后可以立即返回主程序,而不必等待中断请求信号恢复为高电平,这是一个重要的技巧。 3. 实验步骤
? 参考实验例程,自己动手建立Keil C51工程。 注意选择CPU类型。Philips半导体的
P89V51RB2。
? 编辑源程序,编译生成HEX文件。
? ISP下载开关扳到“00”,用Flash Magic软件下载程序HEX文件到MCU BANK1,运行。
运行Flash Magic软件。各步骤操作如下: Step 1:
COM Port:选择实际使用的串行口,通常为COM1;
欢迎下载
2
——
Baud Rate:波特率不可设置得过高,推荐用9600; Device:请选择正确的型号89V51RB2; Interface:选择None(ISP)。
Step 2:请勾中“Erase blocks used by Hex File”。 Step 3:装入你的程序文件,注意必须为HEX格式。 Step 4:
请勾中“Verify after programming”(编程后校验); 对其它几项如果不了解,请不要勾中。 Step 5:
请先给电路板上电,同时按住复位键不松手,然后点击Flash Magic软件的“Start”按 钮。当出现提示您复位的对话框时再松开复位键,ISP下载过程开始。如果您的电路板没有设置复位键,可以先点击“Start”,然后给电路板上电。 Step 6: 运行程序
ISP下载结束后,按一次复位键或者重新上电程序即开始运行。
运行程序,芯片工作于中断方式,按下按键K2(接P3.3/INT1管脚)后,LED点亮,1.5秒后自动熄灭。
欢迎下载 3