实验三外部中断
实验报告
班级:
学号:
姓名:
教师:
一、实验目的
1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容
如下图所示,P3.2设为输入, P2设为输出位,连有8个发光二极管D1~D8。每当发生外部中断时,发光二极管以向下流水灯的方式点亮。分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
三、编程提示
1、P3口是8位准双向口,具有双重功能:
第一功能和P1口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下 :
P3.0 RXD 串行输入口
P3.1 TXD 串行输出口
P3.2 INT0 外部中断0请求输入线
P3.3 INT1 外部中断1请求输入线
P3.4 T0定时器/计数器T0外部计数器脉冲输入线
P3.5 T1定时器/计数器T1外部计数器脉冲输入线
P3.6 WR外部数据存贮器写脉冲输出线
P3.7 RD外部数据存贮器读脉冲输出线
2、各中断服务程序入口地址:
外部中断0 03H
定时器/计数器T1溢出中断 0BH
外部中断1 13H
定时器/计数器 1BH
串行口中断 23H
3、外部中断的产生条件
中断允许寄存器IE:
(1)外部中断源允许中断(中断0:EX0=1;中断1:EX1=1)。
(2)CPU开中断(EA=1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择
控制TCON:
IT0是选择文字则外部中断0请求(INT0)边沿触发方式或电平触发方式的控制位。前一方式IT0=1,后一方式IT0=0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。前一方式IT1=1,后一方式IT1=0。
当8031复位后,TCON被清0。
5、外部中断电路
负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。边沿触发的最大优点在于不会丢失中断。只要中断请求负跳变的宽度大于1 个机器周期,单片机就能够采样到中断请求信号,单片机将采样到的信号琐存到中断请求标志寄存器中,硬件自动置IE0为1,即使单片机暂时不响应,这个标志也不会丢失,只有在外部中断响应之后,硬件才将IE0清除。
低电平触发的外部中断与边沿触发的外部中断,其中断过程基本相似。唯一不同在于中断请求信号的保持与撤消。在边沿触发中,单片机TCON寄存器专门有一位作它的请求标志,当负跳变后,单片机将中断请求标志IE1(INT1中断为IE1,INT0中断为IE0)自动置1,由IE1请求中断,在响应中断时,又由单片机自动清除IE1。但是对于电平触发方式,单片机中没有专门的请求标志,响应中断时也不能自动清除请求信号。在实际应用中,常常是在单片机外增加一个触发器作为中断请求标志,当中断请求发生时置触发器为0,使INT1为低电平,在单片机响应这个中断后,利用软件(占用另一根I/O线,例如P3.1)发出复位脉冲,使该触发器置1,撤消中断请求。这种电路使请求中断的低电平能够保持足够的时间,一直到中断发生为止,因而不会丢失中断请求。低电平的时间又不致太长,只要进入中断服务程序,在返回之前,就撤消请求信号,因而也不会产生多余的中断动作。
四、实验器材
仿真器、目标系统实验板、直流电源
五、实验步骤
1、边沿触发式外部中断0实验
(1) P3.2设为边沿触发方式,连接外部复位开关,编程使每次中断流水灯向下移位一次,中断程序中不延时去抖动,观察结果。
(2)P3.2设为边沿触发方式,连接外部复位开关,编程使每次中断流水灯向下移位一次,中断程序中采用延时去抖动,观察结果。
(3)P3.3设为边沿触发方式,连接外部RS触发器硬件去抖动的开关,编程使每次中断流水灯向下移位一次,中断程序中不延时去抖动,观察结果。
2、电平触发式外部中断实验
P3.3设为电平触发方式,连接外部RS触发器硬件去抖动的开关,编程使每次中断流水灯向下移位一次,中断程序中不延时去抖动,观察结果。
六、C源程序清单
#include <STC12C5A60S2.h>
#define uchar unsigned char
uchar i=0;
uchar numi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(uchar k );
void main()
{
EA=1;
EX0=1;
IT0=1;
while(1)
{
if(EX0==0)
{
//delay(100);
IE0=0;
EX0=1;
}
}
}
void int0() interrupt 0
{
EX0=0;
P2=~numi[i];
i++;
if(i>8)
{
i=0;
}
}
void delay(uchar k )
{
uchar x,y,z;
for(x=k;x>0;x--)
for(y=20;y>0;y--)
for(z=250;z>0;z--);
}
七、总结
1、边沿触发和电平触发两种方式中断响应的原理与区别
边沿触发:当从高至低电平或从低至高电平转变时,触发产生;电平保持多久都只产生一次。所以,边沿触发适合与以负脉冲形式输入的外部中断请求。
电平触发:那么在电平时间内中断一直有效;因此如果在电平没有恢复之前中断程序就已经执行完成从而退出,那么会在退出后又再次进入中断;但只要中断没有退出是不会重复触发的。所以,电平触发方式适合于外部中断以电平输入而且中断服务能清除外部中断源的情况。
2、实验现象
1、(1)实验现象是,按键一次就会跳过几个灯,也就是说按键一次并不是向后移一位而是好几位,这是因为按键没有去抖动,所以会进入多次中断导致。
1、(2)按键一次,灯就向下移一位,这是通过软件去抖动之后,按键按下后延时一段时间,再来判断中断有没有打开,所以按键一次只进入一次中断。
1、(3)按键一次,灯就向下移一位,虽然没有用按键去抖动,但是这个键在硬件上已经去抖,所以按键一次也是只进入一次中断程序,所以会有这种现象。
2、(1)由于是电平触发,所以在按下按键的时候,会有好多灯一起亮,比如低电平,在低电平这段时间里,会不断地请求中断,所以就会进入很多次中断,在加上请求中断的速度快和LED灯有一定的的余晖,所以肉眼看起来就好像灯全是亮的。
姓名: 学号: 日期:
实验三 单片机外部中断的使用
一、实验名称:单片机外部中断的使用
二、实验目的
1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法;
2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法;
3.掌握在Proteus环境下建立文件原理图的方法;
4.实现Proteus与Keil联调软件仿真。
三、使用仪器设备编号、部件及备件
1.实验室电脑;
2.单片机实验箱。
四、实验过程及数据、现象记录
1.在Proteus环境下建立如下仿真原理图,并保存为文件;
原理图中常用库元件的名称:
无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51
晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON
发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW
2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;
参考程序如下:
ORG 0000H
LJMP MAIN
ORG H ;外部中断0程序入口地址
LJMP EXINT0
ORG 0030H
MAIN: MOV SP,#60H ;堆栈指针初始化
SETB ;设置外部中断0为边沿触发,若改为电平触发用什么指令?
SETB ;开外部中断0
SETB ;开CPU总中断
MOV A,#01H
LOOP: MOV P1,A
RL A
CALL DELAY
SJMP LOOP
DELAY: MOV R1,# ;延时250ms子程序
DL1: MOV R2,#
DL2: MOV R3,#
DJNZ R3,$
DJNZ R2,DL2
DJNZ R1,DL1
;延时子程序返回
EXINT0: PUSH
PUSH
CLR RS1 ;这条指令起什么作用?
SETB RS0 ;这条指令起什么作用?
MOV R0,#
LP: MOV P1,#0FFH
CALL DELAY
MOV P1,#00H
CALL DELAY
DJNZ R0,LP
POP PSW
POP ACC
;中断返回
END
将以上程序补充完整,流水时间间隔,闪烁时间间隔为250ms。
3.将.HEX文件导入仿真图,运行并观察结果;
4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。
五、实验数据分析、误差分析、现象分析
现象:利用单片机外部中断0,使用边沿触发方式,当P3.2所接按键按下时,流水灯停止流水,闪烁两次,按键抬起时,恢复原来的流水状态。
六、回答思考题
1.若把边沿触发改为电平触发,有何不同?
2.如何让流水灯保持原来的状态继续流水?
实验三定时器中断实验一实验目的1掌握51单片机定时器基本知识2掌握定时器的基本编程方法3学会使用定时器中断二实验内容1利用定时器设…
实验三外部中断实验报告班级学号姓名教师一实验目的1掌握单片机外部中断的原理及过程2掌握单片机外部中断程序的设计方法3掌握单片机外部…
报告成绩辅导员签字一实验目的1学习外部中断指令的基本使用方法2学习外部中断处理程序的编程方法二实验内容1在试验一的内容的基础上增加…
单片机实验报告(二)实验名称:定时器及外部中断南京理工大学紫金学院电光系一、实验目的1、学习定时/计数器的应用;2、学习外部中断技…
51单片机外部中断实验实验报告要求1整理本实验涉及的程序将它们按正确的格式详细书写在实验报告纸上1无中断时发光让发光二极管从左到右…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
单片机实验报告(二)实验名称:定时器及外部中断南京理工大学紫金学院电光系一、实验目的1、学习定时/计数器的应用;2、学习外部中断技…
实验名称中断技术基本时钟和定时功能实验45姓名学号实验班号21机器号一实验目的1了解中断原理包括对中断源中断向量中断类型号中断程序…
51单片机外部中断实验实验报告要求1整理本实验涉及的程序将它们按正确的格式详细书写在实验报告纸上1无中断时发光让发光二极管从左到右…
编号实验报告姓名学号实验班级实验时间实验报告总份片数12份片实验教师学院1实验一开发软件使用与调试方法一实验目的学习KEIL的使用…
实验二外部中断实验一实验目的1掌握外部中断技术的基本使用方法2掌握中断处理程序的编写方法二实验设备PC机Keil软件Proteus…