单片机外部中断实验报告

实验三 外部中断

实验报告

班级: 学号: 姓名: 教师:

一、实验目的

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 #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、掌握单片机外部中断的原理及过程。 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 #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 学习外部中断指令的基本使用方法: 2 学习外部中断处理程序的编程方法. 二.实验内容 1在实验一内容的基础上增加允许急救车优先通过的要求: 2 急救车到达时(产生外部中断),交通信号为全红,以便让急救车通过 3 急救车通过路口时间为10秒(四个红灯亮10秒).急救 ...

  • 实验七外部中断实验
  • 贵 州 大 学 实 验 报 告 纸 实验七 外部中断实验 一.实验目的 学习外部中断技术的基本使用方法. 二.实验内容 1.INT0端接单次脉冲发生器.按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转. 2.修改程序,实现用一位开关产生外部中断1,每产生一 ...

  • 汇编外部中断及NE555计数实验实验报告
  • 外部中断及NE555计数实验 [1**********] 李青 [实验内容] 1.利用外部按键中断计数并用数码管显示计数值 2.用51单片机T0.T1定时计数器对NE555产生的脉冲信号进行频率计数,频率送LCD显示(或数码管显示) [需要了解的知识] 1.GPIO设定 2.LCD显示原理,输入与输 ...

  • 电子系统综合设计报告
  • 电子系统综合设计报告 学号:专业:日期:姓名: 陈小燕 100401203 电子信息工程 2013-3-25 南京理工大学紫金学院电光系 1 引言 温控仪是调控一体化智能温度控制仪表,它采用了全数字化集成设计,具有温度曲线可编程或定点恒温控制.多重PID 调节.输出功率限幅曲线编程.手动/自动切换. ...

  • 89C51单片机课程设计之秒表设计实验报告
  • 单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称: 秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日 目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2. ...

  • 单片机生产实习报告
  • 生产实习 班 级: ******** 姓 名: 学 号: 成 绩: 电子与信息工程学院 信息与通信工程系 目录 1 设计任务 ....................................................................................... ...

  • 三人抢答器模拟实验报告
  • 三人抢答器模拟实验报告 一. 目的与要求 1. 目的 (1) 培养学生综合利用MCS--51单片机的软硬件知识进行程序设计的能力,解决一定实际问题. (2) 进一步加深对MCS--51单片机的内部结构和程序设计方法的理解. (3) 提高学生建立程序文档,归纳总结的能力. 2. 基本要求 (1) 要求 ...

  • 微控制器实验报告(xp)
  • 微控制器实验报告 学 院: 信息科学与工程学院 专业班级: 自动化0801 姓 名: 学 号: 指导老师: 李志民老师 目录 第一章 实验概述............................................................................... ...

  • 温度控制器实验报告
  • 单片机课程设计实验报告 --温度控制器 班级:学号:姓名:老师:合作者: 一. 实验要求和目的 本课程设计的课题是温度控制器. ● 用电压输入的变化来模拟温度的变化,对输入的模拟电压通过 ADC0832转换成数字量输出.输入的电压为0.00V --5.00V ,在三位数码显示管中显示范围为00.0- ...