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