单片机实验 中断系统实验范文

合集下载

单片机中断实验实训报告

单片机中断实验实训报告

一、实验背景随着电子技术的飞速发展,单片机因其体积小、成本低、功能强大等优点,在各个领域得到了广泛应用。

中断技术是单片机设计中非常重要的一部分,它允许单片机在执行程序的过程中,能够及时响应外部事件,从而提高系统的实时性和效率。

本实训旨在通过实验,加深对单片机中断系统的理解,掌握中断系统的使用方法,并学会在实际应用中灵活运用中断技术。

二、实验目的1. 熟悉单片机中断系统的基本概念和原理。

2. 掌握中断源、中断优先级、中断服务程序等基本概念。

3. 学会使用单片机的中断系统实现实时响应外部事件。

4. 培养动手实践能力和问题解决能力。

三、实验器材1. 单片机实验板2. 示波器3. 电源4. 连接线5. 逻辑分析仪(可选)四、实验内容1. 实验一:外部中断实验(1)实验目的:验证外部中断功能,实现按键控制LED灯的点亮和熄灭。

(2)实验步骤:a. 将外部中断0(INT0)引脚连接到按键,按键按下时产生低电平信号。

b. 编写中断服务程序,实现按键按下时点亮LED灯,按键释放时熄灭LED灯。

c. 编译程序,下载到单片机实验板上。

d. 测试实验效果,观察LED灯的点亮和熄灭情况。

2. 实验二:定时器中断实验(1)实验目的:验证定时器中断功能,实现LED灯的定时闪烁。

(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。

b. 开启定时器中断,编写定时器中断服务程序,实现LED灯的定时闪烁。

c. 编译程序,下载到单片机实验板上。

d. 测试实验效果,观察LED灯的闪烁情况。

3. 实验三:中断嵌套实验(1)实验目的:验证中断嵌套功能,实现定时器中断和外部中断的嵌套。

(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。

b. 开启定时器中断和外部中断,设置中断优先级。

c. 编写定时器中断服务程序和外部中断服务程序,实现中断嵌套。

d. 编译程序,下载到单片机实验板上。

单片机中断实验总结

单片机中断实验总结

单片机中断实验总结单片机中断是单片机系统中一项重要的功能和特性。

通过中断,可以实现对外部事件的实时响应和处理,从而提高系统的实时性和可靠性。

在实验中,我对单片机中断进行了学习和实践,以下是我的实验总结。

在实验中,我首先了解了中断的基本概念和原理。

中断是指在程序执行过程中,由外部事件、硬件设备或软件请求而打断正常执行流程,转去执行与该事件或请求相关的子程序。

中断可以分为外部中断和内部中断。

外部中断是通过硬件引脚与外部设备进行连接并触发的,而内部中断则是由软件内部生成的。

中断的实现需要借助中断控制器,例如常用的单片机8051就内置了中断控制器。

实验中,我使用keil C编译器和STC89C52单片机开发板进行了中断的实现。

编写了一个简单的程序,当外部中断0引脚检测到高电平时,触发外部中断,执行相应的中断服务程序。

在编写程序时,首先定义了中断服务程序的函数原型,然后通过中断向量表将中断服务程序与相应的中断号关联起来。

在主程序中,使用IE寄存器和相应的位操作函数开启了外部中断。

在实验过程中,我遇到了一些问题,并进行了解决。

首先,我发现外部中断引脚的电平触发方式对中断的触发有影响。

通过查阅资料,我了解到外部中断引脚可以选择边沿触发还是电平触发,需要根据实际的需求进行设置。

其次,我发现在中断服务程序中,需要注意中断屏蔽和中断优先级的设置,以免出现中断互相屏蔽的情况。

最后,我发现中断服务程序中的代码需要尽量简洁和高效,以保证中断的响应时间和系统的实时性。

通过实验,我进一步理解了单片机中断的概念和原理,掌握了使用keil C编写中断程序的方法,提高了对单片机系统的认识和理解。

中断在单片机系统中具有重要的作用,可以实现对外部事件的实时响应和处理,从而提高系统的可靠性和实时性。

在今后的学习和实践中,我将进一步深化对中断的理解和应用,并将其应用到更为复杂的系统中。

参考内容:1. 《嵌入式系统原理与开发:使用51单片机和C语言》-程杰2. 《嵌入式系统与单片机原理实验教程》-王刚3. 《单片机原理与应用》-马利民4. STC89C52单片机数据手册5. Keil C51编译器使用手册。

单片机中断实验报告

单片机中断实验报告

人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想------- 屠呦呦实验三定时器中断实验一、实验目的1、掌握51单片机定时器基本知识;2、掌握定时器的基本编程方法;3、学会使用定时器中断。

二、实验内容1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。

三、实验设备PC 机一台、单片机实验箱主要器件:AT89C52、7SEG-BCD、四、实验步骤1、使用Proteus设计仿真原理图;2、使用Keil设计程序;3、联合调试仿真。

五、实验流程图六、实验程序与结果#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit F=P2^1;void timer1_init(){TMOD=0x10;//将定时器1设置为工作方式1TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500//(1/500)s/(1/3000000)s=6000TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1;ET1=1;TR1=1;}void main(){timer1_init();while(1);}void timer1() interrupt 3{TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256;F=~F;//每次进入中断P1.1口取反}#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit F=P2^1;void timer0_init(){TMOD=0x01;//将定时器0设置为工作方式1TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us//500us/6us=83.3333TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83EA=1;ET0=1;TR0=1;}void main(){timer0_init();while(1);}void timer0() interrupt 1{TH0=(65536-83)/256;//每次进入中断,重装初值TL0=(65536-83)%256;F=~F;//每次进入中断P1.1口取反,表示定时时间到}#include<reg51.h> // 包含51单片机寄存器定义的头文件#define seg_data P1#define seg_data2 P3#define uint unsigned intsbit D1=P2^0; //将D1位定义为P2.0引脚uint counter=0;unsigned int unit=0,decade=0,avs=0;//time=0;/************************************************************** 函数功能:主函数**************************************************************/ void main(void){uint time,time1,temp1,temp2,temp3;seg_data=0;seg_data2=0;TMOD=0x11; //使用定时器T0的模式2TH0=0xFC; //定时器T0的高8位赋初值 1000-500TL0=0x18; //定时器T0的低8位赋初值TH1=(65536-50000)/256; //定时器T1的高8位赋初值TL1=(65536-50000)%256; //定时器T1的低8位赋初值EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1;TR0=1; //启动定时器T0TR1=1;while(1)//无限循环等待中断{temp1=(decade&0x0F)<<4;temp2=unit&0x0F;time=temp2|temp1;seg_data=time;temp3=avs&0x0F;time1=temp3;seg_data2=time1;}}{D1=~D1; //按位取反操作,将P2.0引脚输出电平取反TH0=0xFF; //定时器T0的高8位赋初值 1000-500TL0=0x06; //定时器T0的低8位赋初值}void Time1(void) interrupt 3{counter++;if(counter>19){unit++;counter=0;}if(unit>9){decade++;unit=0;}if(decade>5){avs++;decade=0;}if(avs>9){avs=0;}TH1=(65536-50000)/256; //定时器T1的高8位赋初值TL1=(65536-50000)%256; //定时器T1的低8位赋初值TF1=0;}七、实验心得通过本次课程设计使我感受到它是一门综合性、实践性较强的课程,使我体会到要想综合运用所学的理论知识,提高我的设计能力,必须增加实际操作的环节。

单片机原理中断实验单片机原理实验报告

单片机原理中断实验单片机原理实验报告

单片机原理中断实验一、实验前准备1. 实验目的:本实验旨在通过学习和实践,掌握单片机原理中断的基本概念和工作原理,并能灵活运用中断技术解决实际问题。

2. 实验器材:- STC89C52单片机开发板- LED灯- 电阻、电容等基本电子元器件- 连接线3. 实验原理:单片机原理中断实验是通过将外部事件(如按键按下、定时器溢出等)与单片机的中断系统相连,实现对外部事件的即时响应和处理。

单片机的中断系统可以在常规程序运行的过程中接收和响应中断请求,提高系统的实时性和可靠性。

4. 实验步骤:- 首先,将开发板上的LED灯与单片机相连。

- 将外部事件(例如,按键)与单片机的中断引脚相连。

- 对中断相关的寄存器进行初始化设置。

- 编写相应的中断服务程序。

- 在主程序中编写相应的处理代码。

二、实验过程以按键中断为例,以下为实验过程的详细步骤:1. 硬件连接:将按键连接到单片机的外部中断引脚上,同时将LED灯连接到单片机的IO口上,以实现按键按下时LED灯的亮灭。

2. 寄存器设置:通过编程设置单片机的寄存器,使其能够正确地接收和响应外部中断请求。

具体的设置包括中断使能、中断触发方式、中断优先级等。

3. 中断服务程序编写:根据实际需求,编写相应的中断服务程序。

在按键中断的情况下,可以编写一个简单的中断服务程序,通过判断按键的状态来控制LED灯的亮灭。

4. 主程序编写:在主程序中,编写相应的处理代码。

在按键中断的情况下,可以编写一个循环程序,不断检测按键的状态,并根据按键状态控制LED灯的亮灭。

三、实验结果经过实验验证,成功利用中断技术实现了按键按下时LED灯的亮灭,实现了对外部事件(按键)的即时响应和处理。

实验结果表明单片机中断技术在提高系统的实时性和可靠性方面具有重要作用。

四、实验总结通过本次实验,我对单片机原理中断有了更深入的了解。

掌握了中断系统的基本原理和工作方式,并成功运用中断技术解决实际问题。

在今后的学习和实践中,我将进一步熟悉和应用中断技术,不断提高自己的技术水平。

单片机实验三mcs-51单片机中断系统及外部中断int0实验

单片机实验三mcs-51单片机中断系统及外部中断int0实验

大连理工大学实验报告实验时间:2014 年7 月 1 日星期二时间:13 :10 ~ 15 :00实验室(房间号):综420 实验台号码:班级:姓名:指导教师签字:成绩:实验三MCS-51单片机中断系统及外部中断/INT0实验一、实验目的和要求学习、掌握单片机的中断原理。

正确理解中断矢量入口、中断返回的概念及物理过程。

学习编写软件“防抖程序”,了解软件防抖原理。

二、实验内容及步骤1.INT0、INT1同一优先级运行实验:保持上电复位时INT0、INT1默认为“低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。

表1 :INT0、INT1同一优先级时运行记录外部中断信号状态PI口(LED状态)Int0 Int10 0 状态0;状态01 0 状态1;状态10 0 状态1;状态10 1 状态0;状态00 0 状态0;状态01 0 状态1;状态1结论一:保持上电复位时INT0、INT1默认为“低优先级”的状态时:(1)同级中断同时申请中断时,CPU按“自然优先级”响应,即INT0→T0→INT1→T1→ES。

(2)一个中断一旦得到响应(无论什么优先级),与它同级的中断则“不能”再中断它。

(3)每个中断都是下降沿或者低电平有效(由TCON设定)。

注:主程序:状态2,INT_0:状态0,INT_1:状态1。

2.将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。

表2:INT1为高优先级(int0保持为低优先级)时运行状态记录外部中断信号状态(请按顺序操作并填写)PI口(LED状态)Int0 Int11 1 状态2;状态21 0 状态1;状态10 0 状态1;状态10 1 状态0;状态01 1 状态2;状态20 1 状态0;状态00 0 状态1;状态10 1 状态0;状态0结论二:将 INT1设定为高优先级(INT0保持为低优先级)时:(1)低优先级的中断响应在执行时“可被”高优先级中断所中断。

任务4中断系统实验报告模板

任务4中断系统实验报告模板

1“任务四 中断系统”实验报告专业班级: 姓名:学号: 实验日期:一、实验目的1. 掌握单片机中断系统的结构;2. 掌握单片机的5个中断源、中断过程及中断源编号;3. 掌握C51中断服务函数的编写。

二、实验内容1. 编程实现:8个LED 一直熄灭,每按一次按键,LED 闪烁6次。

2. 编程实现:8个LED 一直闪烁,每按一次按键,8个LED 流水一次。

3. 编程实现:按一次按键,8个LED 闪烁;再按一次按键,8个LED 流水;以此循环往复。

硬件连接:外设 单片机引脚8个LED P1按键外部0中断P3.2三、实验结果1. 画出单片机与8个LED 、按键的连接电路原理图。

(请附上自己画的Proteus 图的截图)。

2. 8个LED 一直熄灭,按下按键,8个LED 闪烁6次的程序(请附上C 语言源程序的截图,并说明实验结果)。

刚开始led熄灭,按一下按钮后led闪烁六次后熄灭。

3. 8个LED一直闪烁,按下按键,8个LED流水1次的程序(请附上C语言源程序的截图,并说明实验结果)。

刚开始时led不停闪烁,按一次按钮后流水一次,之后又开始闪烁。

4.按一次按键,8个LED闪烁;再按一次按键,8个LED流水的程序(请附上C语言源程序的截图,并说明实验结果)。

刚开始led在不停闪烁,按一次键后变成流水,再按一次可以变成闪烁。

四、实验思考题1.实验内容1中如果将按键接到外部1中断P3.3引脚,程序应该如何修改?请说明原因。

因为按键连接端口改变了,外部0中断变为外部1中断,所以要将IT0,EX0,()interrupt 0改为IT1,EX1,()interrupt 2。

2. MCS-51单片机的5个中断源分别是什么?它们的入口地址分别是多少?C51语言中中断源编号分别是多少?中断的优先级顺序是什么?两个外部中断源:外部中断0(0003H),外部中断1(0013H);三个内部中断源:定时器/计数器0中断(000BH),定时器/计数器1中断(001BH),串行中断(0023H)。

单片机的中断实验报告

单片机的中断实验报告

单片机的中断实验报告单片机的中断实验报告引言:单片机是现代电子技术中的一种重要组成部分,广泛应用于各种电子设备中。

中断是单片机中的一种重要功能,能够提高系统的响应速度和实时性。

本实验旨在通过对单片机的中断功能进行实验,深入了解中断的原理和应用。

一、实验目的本实验旨在通过对单片机的中断功能进行实验,掌握中断的原理和应用,提高对单片机的理解和应用能力。

二、实验器材和材料1. 单片机开发板2. 电脑3. USB数据线4. LED灯5. 电阻、电容等元件三、实验原理中断是单片机中的一种重要功能,当某个事件发生时,单片机可以立即中断当前程序的执行,转而执行中断服务程序,处理该事件。

中断可以分为外部中断和内部中断两种类型。

外部中断由外部设备触发,如按键、传感器等;内部中断由单片机内部的某个模块触发,如定时器溢出、串口接收等。

四、实验步骤1. 连接单片机开发板和电脑,并通过USB数据线进行通信。

2. 在开发环境中编写中断服务程序,实现对外部中断的响应。

3. 将LED灯连接到开发板的某个IO口,并设置为输入模式。

4. 在主程序中配置外部中断的触发条件和中断服务程序。

5. 运行程序,触发外部中断,观察LED灯的亮灭情况。

五、实验结果与分析经过实验,我们成功实现了对外部中断的响应,并观察到LED灯在中断触发时的亮灭情况。

通过实验结果的分析,我们可以得出以下结论:1. 外部中断可以有效地提高系统的响应速度和实时性,特别适用于需要及时处理外部事件的应用场景。

2. 中断服务程序的编写和配置是实现中断功能的关键,需要充分理解中断的原理和编程方法。

3. 在实际应用中,需要根据具体的需求和硬件条件来选择合适的中断触发条件和中断服务程序。

六、实验总结通过本次实验,我们深入了解了单片机的中断功能,并通过实际操作掌握了中断的原理和应用方法。

中断作为一种重要的系统功能,可以提高系统的响应速度和实时性,广泛应用于各种电子设备中。

在今后的学习和工作中,我们将进一步探索中断的应用领域,并不断提高自己的单片机编程能力。

单片机实验六-中断系统实验教学文稿

单片机实验六-中断系统实验教学文稿

单片机实验六-中断系统实验信息工程系实验报告课程名称:单片微型计算机与接口技术实验项目名称:实验六中断系统实验2013-12-02班级:电信*** 姓名:*** 学号:110706实验目的:熟悉keil仿真软件、proteus仿真软件的使用和单片机外部中断的使用。

了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。

理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。

熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。

实验原理:现代的计算机都具有实时处理功能,能对外部发生的事件如人工干预、外部事件及意外故障做出及时的响应或处理,这是依靠计算机的中断系统来实现的。

51单片机内部有一个中断管理系统,它能对内部的定时器事件、串行通信的发送和接收事件及外部事件(如键盘按键动作)等进行自动的检测判断,当有某个事件产生时,中断管理系统会置位相应标志通知CPU,请求CPU迅速去处理。

CPU检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的中断服务函数),处理完以后,再回到原来被中断的地方,继续执行原来的程序。

MCS -51单片机最典型的有5个中断源(外部中断0、1,内部定时器中断0、1,串口中断),具有两个中断优先级。

两个外部中断:(P3.2 — INT0、P3.3 — INT1)上输入的外部中断源,低电平或负跳变有效,置位TCON 中的IE0和IE1中断请求标志位。

通过外部中断源触发方式控制位IT 可以使外部中断为电平触发方式(=0)或边沿触发方式(=1)。

另外控制中断允许寄存器IE 可以开放中断。

使用MCS -51的中断,要为使用到的中断源编写中断服务程序。

C51为中断服务程序的编写提供了方便的方法。

C51的中断服务程序是一种特殊的函数,它的说明形式为:void 函数名(void) interrupt n using m 外部内部外部内部 内源允总允允许中断中断优中中高优中断中断低优中断中断T —INT IN 查询{ 函数体语句 }这里,interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务函数,interrupt后的整数n表示该中断服务函数是对应哪一个中断源。

单片机中断实验报告

单片机中断实验报告
程序下载
通过单片机的下载接口,将可执行的二进制文件 下载到单片机中。
实验测试
通过按键触发外部中断,观察LED灯的状态变化, 验证程序的正确性。
04
实验结果与分析
中断响应时间测试
总结词
响应时间快
详细描述
在测试中,我们发现单片机的中断响应时间非常快,能够在极短的时间内对外 部事件做出响应。这主要得益于单片机的硬件架构和中断处理机制,使得单片 机能够迅速识别并处理外部事件。
提高编程能力
通过本次实验,我们认识到自己的编程能力还有很大的提升空间。在未来的学习中,我们将注重提高自 己的编程能力,包括代码的优化、调试技巧等方面。
THANKS
感谢观看
实验中的问题与解决方案
在实验过程中,我们遇到了一些问题,如中断触发条件不 稳定等,通过调整相关参数和优化代码,最终解决了这些 问题。
对实验的反思与建议
01
实验操作流程的不足
在实验过程中,我们发现操作流程仍存在一些不足之处,如某些步骤的
描述不够清晰,导致实验过程中出现了一些不必要的困惑。建议在后续
的实验指导书中对操作流程进行更加详细的描述。
深入学习单片机中断机制
通过本次实验,我们对单片机的中断机制有了初步的了解。在未来的学习中,我们计划深入学习单片机的中断机制, 了解更多关于中断的细节和应用技巧。
探索更多中断应用场景
除了本次实验中实现的按键中断和定时器中断外,我们还计划探索更多的中断应用场景,如串口中断、ADC中断等 ,以拓宽我们的知识面和应用能力。
05
结论与建议
实验结论
实验目标达成情况
实验目标是通过单片机实现外部中断和定时器中断,实验 过程中成功实现了外部按键中断和定时器中断,验证了单 片机的中断处理机制。

中断控制实验心得大全(17篇)

中断控制实验心得大全(17篇)

中断控制实验心得大全(17篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如职场文书、公文写作、党团资料、总结报告、演讲致辞、合同协议、条据书信、心得体会、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, this store provides various types of classic sample essays for everyone, such as workplace documents, official document writing, party and youth information, summary reports, speeches, contract agreements, documentary letters, experiences, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please pay attention!中断控制实验心得大全(17篇)心得体会是我们经历过成功和失败后的一种深刻思考和领悟。

实验报告四中断系统实验

实验报告四中断系统实验

实验报告四中断系统实验实验报告四:中断系统实验一、实验目的本次中断系统实验的主要目的是深入理解计算机中断系统的工作原理和机制,掌握中断的处理过程,以及学会如何在实际编程中有效地运用中断来提高系统的性能和响应能力。

二、实验原理中断是指计算机在执行程序的过程中,当出现某种随机事件或异常情况时,暂停现行程序的执行,转而执行相应的中断处理程序,处理完后再返回原程序继续执行的过程。

中断系统主要由中断源、中断控制器和中断处理程序组成。

中断源可以是外部设备(如键盘、鼠标、打印机等)发送的信号,也可以是内部事件(如定时器溢出、算术运算错误等)产生的条件。

中断控制器负责对多个中断源进行优先级管理和分配,确定哪个中断请求能够被响应。

中断处理程序则是用于处理具体中断事件的一段代码。

在中断处理过程中,计算机需要保存当前程序的上下文(包括程序计数器、寄存器等),以便在中断处理完成后能够正确地恢复原程序的执行。

同时,中断处理程序需要尽快完成处理任务,以减少对系统性能的影响。

三、实验设备与环境本次实验使用的设备包括一台计算机、开发板以及相应的编程软件。

开发板上集成了中断控制器和相关的外部设备接口,以便进行中断实验的操作和观察。

编程软件采用了常见的集成开发环境(IDE),如 Keil、IAR 等,用于编写和调试中断处理程序。

四、实验步骤1、硬件连接首先,将开发板与计算机通过数据线连接,并确保连接稳定。

然后,根据实验要求,将外部设备(如按键、传感器等)正确连接到开发板的相应接口上。

2、软件开发(1)在编程软件中创建一个新的项目,并选择适合开发板的芯片型号。

(2)配置中断控制器的相关参数,如中断优先级、触发方式等。

(3)编写中断处理程序,在程序中实现对中断事件的具体处理逻辑。

例如,当按键被按下时,控制 LED 灯的亮灭;当传感器检测到特定值时,进行数据采集和处理。

(4)编写主程序,在主程序中初始化系统,并开启中断功能。

3、编译与下载完成程序编写后,对代码进行编译,确保没有语法错误和逻辑错误。

实现中断功能_实验报告(3篇)

实现中断功能_实验报告(3篇)

第1篇一、实验目的1. 理解中断的概念和作用。

2. 掌握单片机中断系统的基本原理和配置方法。

3. 学会编写中断服务程序,实现外部中断和定时器中断的应用。

4. 通过实验加深对中断系统在实际应用中的理解。

二、实验原理中断是计算机系统中一种重要的机制,它允许CPU在执行程序过程中,响应某些外部或内部事件,从而暂停当前程序的执行,转而处理这些事件。

单片机的中断系统主要包括外部中断和定时器中断两种类型。

三、实验环境1. 单片机:80C512. 开发环境:Keil for 80513. 仿真软件:Proteus4. 实验电路:外部按钮电路、LED灯电路、定时器电路四、实验内容1. 外部中断实验(1)实验目的:学习外部中断的工作原理,掌握外部中断的配置和编程方法。

(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。

b. 配置外部中断源,设置中断优先级。

c. 编写外部中断服务程序,实现LED灯的闪烁。

d. 在Proteus中搭建实验电路,并进行仿真测试。

(3)实验结果:当按下按钮时,LED灯闪烁,松开按钮后LED灯熄灭。

2. 定时器中断实验(1)实验目的:学习定时器中断的工作原理,掌握定时器中断的配置和编程方法。

(2)实验步骤:a. 创建80C51固件项目,并在Keil中编写程序。

b. 配置定时器工作模式,设置定时时间。

c. 编写定时器中断服务程序,实现LED灯的闪烁。

d. 在Proteus中搭建实验电路,并进行仿真测试。

(3)实验结果:定时器中断触发后,LED灯闪烁,达到设定时间后停止闪烁。

五、实验分析1. 外部中断实验分析通过外部中断实验,我们了解了外部中断的工作原理和配置方法。

在实验中,我们设置了外部中断源,并编写了中断服务程序,实现了LED灯的闪烁。

这表明外部中断可以有效地响应外部事件,并执行相应的操作。

2. 定时器中断实验分析通过定时器中断实验,我们掌握了定时器中断的配置和编程方法。

微机原理_中断实验报告(3篇)

微机原理_中断实验报告(3篇)

第1篇一、实验目的1. 理解中断系统的基本概念和工作原理。

2. 掌握中断源、中断向量、中断服务程序等基本概念。

3. 学习使用Keil软件进行中断程序的编写和调试。

4. 熟悉中断在微机系统中的应用。

二、实验原理中断系统是微机系统中重要的组成部分,它允许CPU在执行程序的过程中,响应外部事件或内部事件,从而实现多任务处理。

中断系统主要包括以下几个部分:1. 中断源:产生中断请求的设备或事件,如外部设备、定时器、软件中断等。

2. 中断向量:中断服务程序的入口地址,用于CPU在响应中断时找到相应的服务程序。

3. 中断服务程序:处理中断请求的程序,完成中断处理任务。

4. 中断优先级:不同中断源的优先级不同,用于确定中断响应的顺序。

三、实验设备与软件1. 实验设备:单片机实验板、计算机、Keil软件、Proteus仿真软件。

2. 实验软件:Keil uVision4、Proteus 8.0。

四、实验内容1. 外部中断实验(1)使用外部中断0(INT0)实现按键控制LED灯的亮灭。

(2)使用外部中断1(INT1)实现按键控制LED灯的闪烁。

2. 定时器中断实验(1)使用定时器0产生1秒的定时中断,实现LED灯的闪烁。

(2)使用定时器1产生1秒的定时中断,实现按键输入的计数。

3. 软件中断实验(1)使用软件中断实现按键输入的字符显示。

(2)使用软件中断实现按键输入的字符加密显示。

五、实验步骤1. 在Keil软件中创建一个新项目,选择合适的单片机型号。

2. 根据实验要求,编写中断服务程序,设置中断向量。

3. 在Proteus软件中搭建实验电路,包括单片机、按键、LED灯等。

4. 将Keil软件编译后的程序下载到单片机中。

5. 在Proteus软件中运行仿真,观察实验结果。

六、实验结果与分析1. 外部中断实验(1)按键按下时,LED灯亮;按键松开时,LED灯灭。

(2)按键按下时,LED灯闪烁;按键松开时,LED灯停止闪烁。

单片机 中断实验 实验报告

单片机 中断实验 实验报告

实验三中断实验一、实验内容1.当单片机的INT0端出现负脉冲时,进入相应的中断服务程序,P1口做输出口,接8只发光二极管,通过程序控制发光二极管依次点亮。

2.选择外部中断0(P3.2)接按键INTO到地,按下出现负脉冲时,进入相应的中断服务程序,在中断服务程序中,数码管显示加1,在0-9之间循环。

二、实验目的1、学习外部中断技术的基本使用方法。

2、学习中断处理程序的编程方法。

三、实验原理(中断原理部分参考教材填写)本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。

要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意。

一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验中,主程序延时用的寄存器和中断延时用的寄存器应不相同。

四、实验电路(参考学习板说明书Page11)五、接线方式(参考学习板说明书Page11)P1口接发光二极管的L1—L8;单脉冲输出端“”接INI0,即接89C51的P3.2管脚。

六、参考程序程序一、ORG 0030Htmpdate: DB 01H,02H,04H,08H,10H,20H,40H,80H /*定义常量做为输出*/ORG 0000HLJMP MAINORG 0003HLJMP INTMAIN: SETB EA /*首先开启总中断*/SETB EX0 /*开启外部中断0 */SETB IT0 /* 设置成下降沿触发方式*/MOV R7,#8MOV DPTR,#TMPDATEL0: SJMP L0 //等待中断INT: DJNZ R7,L1 /*外部中断0 每按一次主板上的"INT0"键,中断响应,调用该函数,我们从P1口输出点亮发光二极管*/MOV R7,#8L1: MOV A,R7MOVC A,@A+DPTRCPL AMOV P1,ARETIEND程序二、/***************************************************************功能:按下按键,数码管加1,用中断的方法作者:txl时间:2009-04版本:V1.0***************************************************************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit wei1=P2^0;sbit key1=P3^2;uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//共阳数码管码表//全局变量uchar num;//函数声明void delay(uint z);void led_show(uchar temp);void main(){num=0;// IT0=1; //中断以下降沿方式触发IT0=0; //中断以低电平方式触发EX0=1; //允许外部中断0中断EA=1; //总中断开wei1=0;while(1){led_show(num); //显示}}/*************************************************************** 功能:外部中断0入口***************************************************************/ void EX0_Int() interrupt 0{EX0 = 0; //关中断num++;if(num==10)num=0;while(!key1);//消除抖动delay(5);while(!key1);// for(;!key1;); //等待放开EX0 = 1; //开中断}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void led_show(uchar temp){P0=table[temp];delay(5);}扩展程序三、#include <AT89X52.H> //包含头文件sbit led=P1^0;#define shuma P0 //数码管数据口sbit LED_0=P2^0; //定义数码管4个控制位sbit LED_1=P2^1;sbit LED_2=P2^2;sbit LED_3=P2^3;unsigned char m;unsigned int code ton[7];void display(unsigned char d1,unsigned char d2,unsigned char d3,unsigned char d4);/*=====0-9=====A-G=====*/unsigned char a[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳极数码管的段码0 1 2 3 4 5 6 7 8 9 A B C D E F//定时初值计算方法:以5ms为例,5ms=5000us,0xffff-5000/1.085即为TH和TL的值void int1() interrupt 3 //T1中断,时间是5ms{TR1=0; //关中断TH1=0xed; //装定时器初值实现5ms定时TL1=0xff;ET1=1; //开中断TR1=1;display(1,2,3,4); //在中断里显示数字}void main( void ){m=1;TMOD=0x10; //设置为T1定时器TH1=0xed; //装定时器初值TL1=0xff;TR1=1; //开中断ET1=1;EA=1;while(1){}}void display(unsigned char d1,unsigned char d2,unsigned char d3,unsigned char d4) {if(m==1) //每进入一次中断显示1位,用变量m作为显示位标识{LED_0=0; //使能该数码管控制位LED_1=LED_2=LED_3=1; //其他控制位无效shuma=a[d1]; //按照数据点亮该数码管}if(m==2) //第二次中断显示第二位{LED_1=0;LED_0=LED_2=LED_3=1;shuma=a[d2];}if(m==3) //第三次中断显示第三位{LED_2=0;LED_1=LED_0=LED_3=1;shuma=a[d3];}if(m==4) //第四次中断显示第四位{LED_3=0;LED_1=LED_2=LED_0=1;shuma=a[d4];}m++; //数码管位循环扫描if(m>=5) //如果4次中断显示完成,则回到第一重新显示m=1;}。

单片机实验报告 中断

单片机实验报告 中断

单片机实验报告中断单片机实验报告:中断引言:单片机是一种集成电路,具有微处理器、存储器和输入输出接口等功能。

在嵌入式系统中,单片机常常被用于控制和管理各种设备。

而中断是单片机中一种重要的机制,它可以在特定条件下打断程序的正常执行,执行一段特定的代码,然后返回到原来的程序中。

本文将介绍中断的概念、分类以及在单片机实验中的应用。

一、中断的概念中断是一种硬件或软件生成的信号,用于打断正在执行的程序。

当中断信号发生时,单片机会立即停止当前的任务,转而执行中断服务程序。

中断可以提高程序的响应速度和效率,使单片机能够及时处理紧急事件。

二、中断的分类中断可以分为外部中断和内部中断两种类型。

1. 外部中断外部中断是由外部设备产生的中断信号。

当外部设备需要单片机的处理时,会发送中断请求信号。

单片机在接收到中断请求后,会立即停止当前任务,转而执行与中断相关的程序。

外部中断常用于处理外部设备的输入信号,如按键、传感器等。

2. 内部中断内部中断是由单片机内部产生的中断信号。

内部中断通常由单片机的一些特定事件触发,如定时器溢出、串口接收完成等。

内部中断常用于周期性的任务处理和数据通信等。

三、中断的实验应用在单片机实验中,中断被广泛应用于各种场景,下面将介绍两个实验应用的例子。

1. 外部中断实验假设我们需要设计一个按键控制LED灯的实验。

当按下按键时,LED灯亮起;当松开按键时,LED灯熄灭。

这个实验可以使用外部中断来实现。

首先,我们需要将按键连接到单片机的外部中断引脚。

当按键按下时,外部中断引脚会产生一个中断请求信号。

单片机接收到中断请求后,会执行相应的中断服务程序。

在中断服务程序中,我们可以控制LED灯的亮灭。

通过这个实验,我们可以学习到如何使用外部中断来处理外部设备的输入信号,并且了解到中断的响应速度和效率优势。

2. 内部中断实验假设我们需要设计一个定时器实验,要求每隔一段时间点亮一次LED灯。

这个实验可以使用内部中断来实现。

单片机中断实验总结

单片机中断实验总结

单片机中断实验总结本次实验是关于单片机中断的,通过对中断的学习和实验,我了解了中断的基本原理和实现方式,进一步认识到中断在程序设计和实现中的重要性。

首先,通过实验我了解到中断是一种异步的事件,可以打断正在执行的程序,并在中断发生时响应处理。

单片机中断是指在硬件或软件条件满足时,单片机主动中断正在执行的程序,跳转到相应的中断服务程序中执行。

中断可以在不影响主程序的同时响应该事件,使程序更加高效、灵活。

其次,在实验过程中我学会了如何在单片机中实现外部中断,包括设置中断触发方式、对中断请求进行检测和响应等。

我了解到单片机中断可以分为外部中断和内部中断,其中外部中断是通过外部中断源(如按键、触摸开关等)触发的,而内部中断则是由单片机内部条件触发的。

外部中断常常用于接收外部设备输入(如计数器、编码器等),并在特定条件下进行中断处理。

最后,在实验中我还学习了如何编写中断服务程序,并利用中断服务程序响应中断并完成相应处理。

中断服务程序需要快速、准确地响应中断事件,才能实现高效的中断处理。

因此在编写中断服务程序时需要注意以下几点:1. 确定中断源:不同的中断源可能需要不同的中断触发方式和响应程序。

因此在编写中断服务程序前需要确定中断源,根据中断源的特点确定相应的中断触发方式、响应程序等。

2. 保存寄存器状态:中断服务程序执行过程中需要使用寄存器等CPU资源,因此在中断服务程序中需要先保存相关寄存器的状态,防止中断服务程序执行过程中出现寄存器误操作等问题。

3. 快速响应和处理:中断服务程序需要快速、准确地响应中断,因此需要使用最小可行代码,避免执行过多的指令或函数调用等操作。

单片机实验 中断系统实验范文

单片机实验 中断系统实验范文

实验四动态数码管显示外部中断计数一、实验目的1.熟悉keil仿真软件、proteus仿真软件的使用和单片机外部中断的使用。

2.了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。

3.理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。

4.熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。

二、实验器材C51单片机开发板(含动态数码管) 1块8PIN排线2根数据线1根三、实验原理1.实验仿真原理图如下所示:2.实验的源程序:#include<reg51.h>unsigned char i;unsigned char codetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};yanshi(void) interrupt 2 //中断处理函数 2表示对应的中断源为外部中断1//按键按下时发出中断请求,引起外部中断{i++;if(i==9)i=0;}void main(){IT1=1; //IT1=1,选择下降沿触发i=0;EA=1; // EA=1,CPU开中断EX1=1; //EX1=1,允许INT1中断while(1)P0=tab[i]; //从0显示到8}3.中断控制的有关寄存器(1)中断的允许和禁止——中断控制寄存器IEEA:中断总控开关,是CPU是否响应中断的前提。

EA=1,CPU开中断; EA=0, CPU关中断。

ES:串行口中断允许位,ES=1,允许串行口发送/接收中断;ES=0,禁止串行口中断。

ET1:定时器T1中断允许位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。

ET0:定时器T0中断允许位,ET0=1,允许T1计数溢出中断; ET0=0,禁止T0中断。

EX1:外部中断INT1允许位,EX1=1,允许INT1中断; EX1= 0,禁止INT1中断。

单片机中断实验报告

单片机中断实验报告

单片机中断实验报告单片机中断实验报告引言:单片机是一种集成电路,具有微处理器、存储器和各种输入输出设备等功能模块。

中断是单片机中的一种重要机制,它可以使单片机在执行某个任务时,暂停当前操作,转而执行其他紧急任务。

本次实验旨在深入了解单片机中断的原理和应用,以及如何在程序中实现中断功能。

一、实验目的本次实验的目的是通过编写程序,实现单片机中断功能,并验证中断的正确性和可靠性。

具体而言,我们将使用单片机的外部中断和定时器中断功能,分别实现按键中断和定时中断。

二、实验器材1. 单片机开发板2. 按键模块3. 七段数码管模块4. 电源模块5. 连接线等三、实验原理1. 外部中断外部中断是通过外部中断引脚与外部电路连接来实现的。

当外部电路触发中断条件时,单片机将暂停当前操作,转而执行中断服务程序。

在本实验中,我们将按键模块连接到外部中断引脚,当按下按键时,触发外部中断,实现按键中断功能。

2. 定时器中断定时器中断是通过定时器模块来实现的。

定时器可以按照设定的时间间隔产生中断请求信号,从而实现定时中断功能。

在本实验中,我们将使用定时器模块来实现每隔一段时间触发一次中断,实现定时中断功能。

四、实验步骤1. 连接电路将按键模块的输出引脚连接到单片机的外部中断引脚,将七段数码管模块连接到单片机的IO口。

接通电源,确保电路连接正确。

2. 编写程序使用C语言编写程序,首先需要初始化单片机的中断向量表和相关寄存器。

然后编写中断服务程序,根据实验要求实现按键中断和定时中断功能。

最后,在主程序中设置中断使能位,使得中断能够正常触发。

3. 烧录程序使用烧录器将编写好的程序烧录到单片机中。

4. 实验验证按下按键,观察七段数码管的显示是否按照预期变化。

等待一段时间,观察定时中断是否按照设定的时间间隔触发。

五、实验结果与分析经过实验验证,按键中断和定时中断功能均能够正常运行。

按下按键时,七段数码管的显示会按照预期变化,定时中断也能够按照设定的时间间隔触发。

单片机中断系统设计实验报告

单片机中断系统设计实验报告

计算机与信息工程学院设计性实验报告一、实验目的1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

二、实验仪器或设备CPU挂箱、AT89S51CPU模块三、总体设计(设计原理、设计方案及流程等)P1.4~P1.7接键盘的列,P1.0~P1.3接键盘的行。

通过扫描键盘确定是否有键按下,如有则确定键值,并在CPU模块的数码管上显示(高位为行号,低位为列号)。

本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。

要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验给出的程序中,主程序延时用的是R5、R6、R7,中断延时用的是R3、R4和新的R5。

第二,主程序中每执行一步经74LS273的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。

因为进入中断程序后也要执行往74LS273端口输出数据的操作,中断返回时如果没有恢复中断前74LS273端口锁存器的数据,则显示往往出错,回不到中断前的状态。

还要注意一点,主程序中往端口输出数据操作要先保存再输出,例如有如下操作:MOV A,#0F0H (0)MOVX @R1,A (1)MOV SAVE,A (2)程序如果正好执行到(1)时发生中断,则转入中断程序,假设中断程序返回主程序前需要执行一句MOV A,SAVE指令,由于主程序中没有执行(2),故SAVE中的内容实际上是前一次放入的而不是(0)语句中给出的0F0H,显示出错,将(1)、(2)两句顺序颠倒一下则没有问题。

发生中断时两方向的红灯一起亮10秒,然后返回中断前的状态。

实验原理图流程图1主程序框图中断程序框图四、实验步骤(包括主要步骤、代码分析等)1.244/273PORT单元的的O0~O7接发光二极管L1~L8;2.74LS273的片选CS273接片选信号CS2,此时74LS273的片选地址为CFB0H~CFB7H之间任选;3.单脉冲输出端P-接CPU板上的INT0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四动态数码管显示外部中断计数
一、实验目的
1.熟悉keil仿真软件、proteus仿真软件的使用和单片机外部中断的使用。

2.了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。

3.理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。

4.熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。

二、实验器材
C51单片机开发板(含动态数码管) 1块
8PIN排线2根
数据线1根
三、实验原理
1.实验仿真原理图如下所示:
2.实验的源程序:
#include<reg51.h>
unsigned char i;
unsigned char code
tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
yanshi(void) interrupt 2 //中断处理函数 2表示对应的中断源为外部中断1
//按键按下时发出中断请求,引起外部中断
{i++;
if(i==9)
i=0;
}
void main()
{IT1=1; //IT1=1,选择下降沿触发
i=0;
EA=1; // EA=1,CPU开中断
EX1=1; //EX1=1,允许INT1中断
while(1)
P0=tab[i]; //从0显示到8
}
3.中断控制的有关寄存器
(1)中断的允许和禁止——中断控制寄存器IE
EA:中断总控开关,是CPU是否响应中断的前提。

EA=1,CPU开中断; EA=0, CPU关中断。

ES:串行口中断允许位,ES=1,允许串行口发送/接收中断;ES=0
,禁止串行口中断。

ET1:定时器T1中断允许位,ET1=1,允许T1计数溢出中断;ET1=0,禁止T1中断。

ET0:定时器T0中断允许位,ET0=1,允许T1计数溢出中断; ET0=0,禁止T0中断。

EX1:外部中断INT1允许位,EX1=1,允许INT1中断; EX1= 0,禁止INT1中断。

EX0:外部中断INT0允许位, EX0=1,允许INT0中断; EX0= 0,禁止INT0中断。

(2)中断请求标志及外部中断方式选择寄存器TCON
说明:
1. IT0和IT1为外中断INT0 和INT1中断触发方式选择,若选下降沿触发则相应位置1;若选低电平触发,IT相应位置0。

2.某中断源有中断请求,该中断标志置1,无中断请求,该中断标志置0
3.TR0 和 TR1 为定时器T0和T1 工作启动和停止控制。

4. 数码管:
按发光二极管数码管是一种半导体发光器件,其基本单元是发光二极管。

数码管的分类:
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单
元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阴极数码管和共阳极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

共阴极数码管和共阳极数码管如下图所示:
GND
a
b
c
d
e
f
g
dp
g
f
e
d
c
b
a
(a)(b)
5. INT1中断计数
用AT89C51及电阻、电容、晶振、1位动态数码管、排阻、按钮等实现中断计数。

INT1中断计数,每次按下计数键时触发INT1中断,中断程序累加计数,计数值显示在动态数码管上。

用单片机的P0.0-P0.7端口接动态数码管的端口,P3.3作为外部中断输入端口。

每次按下计数键时触发INT1中断,中断程序累加计数,计数值显示在动态数码管上。

四、实验操作步骤
1.接线方法
如下图所示将P0与J12 、P3与JP5分别用8PIN排线连接,用数据线将单片机开发板与笔记本连接好。

P0:输入输出端口(即I/O )
P3:输入输出端口(即I/O )
J12:用来控制共阳极动态数码管
JP5:用来控制8位独立按键
P3.3做为外部中断输入,每按一下P3.3所连接的独立按键K4,动态数码管就累计加1一次。

2. 工程建立
①先建立一个该工程的文件夹,保存到要存放的路径,如放在D:\keil。

②打开Keil软件,先新建一个工程文件,点击“Project->New Project…”菜单。

会弹出工程创建对话框。

选择工程文件要存放的路径选择将工程安装在我们创建的D:\keil工程文件夹下面,并给该工程命名输入工程文件名,如zhongduan最后单击保存。

③在弹出的对话框中选择CPU厂商及型号,选择好Atmel 公司的AT89C51后, 单击确定。

在接着出现的对话框中选择“OK”。

④新建一个C51 文件, 单击左上角的New File,保存新建的文件,单击SA VE。

⑤在出现的对话框中输入保存文件名(注意后缀名必须为.C如zhongduan.c),再单击“保
存”。

⑥保存好后把此文件加入到工程中方法如下:用鼠标在Source Group1上单击右键, 然后再单击左键选择Add Fi les to Group ‘Source Group 1'。

选择要加入的文件, 找到你所保存的.C 文件后(后缀名为.C的文件),单击Add, 然后单击Close 。

⑦在编辑框里输入代码,然后编译链接,程序编译成功如下图所示:
至此已经生成了单片机芯片可利用的zhongduan.hex文件,如下图所示:
3、Proteus仿真
(1)在元件模式时,从元件库里找出本次实验需要用到的元器件,其元件名称和英文简写对应如下:
① 51芯片 AT89C51
②数码管 7SEG-COM-CATHODE
③按钮 BUTTON
④晶振 CRYSTAL
⑤电阻 RES
⑥排阻 RESPACK-8
(2)在终端模式时,从元件库里找出本次实验需要用到的元器件,其元件名称和英文简写对应如下:
①地 GROUND
②电源 POWER
(3)在Proteus仿真图中双击89C51芯片,在出现的对话框中的program File一栏中选择生成的.hex文件并确定,再运行之,观察现象如下图所示:
每次按下图中红框按钮时触发INT1中断,中断程序累加计数,计数值显示在数码管上:
4. 烧录程序
先打开烧录软件,再打开单片机电源,点击烧录软件窗口中的打开文件,选中已在Keil软件下生成的hex文件,然后点击下载程序,若软件上显示“数据下载成功,程序下载完毕”字样,则表示烧录成功。

5.观察结果:程序下载成功后,点击数次P3.3所连接的独立按键K4,并观察单片机开
发板上静态数码管的变化。

若数码管每次加1,则表示实验成功。

否则,实验失败,检查实
验过程并分析失败的原因。

实验成功后,记录实验结果并分析产生的原因。

五、实验小结
⑴通过实验熟悉keil仿真软件、proteus仿真软件的使用和单片机外部中断的使用。

了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。

理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。

熟悉中断处理特别是外部中断处理的过程和中断处理子程序的书写格式和使用方法。

⑵中断处理过程分为四个阶段:中断请求,中断响应,中断处理、中断返回。

⑶使用MCS-51的中断,要为使用到的中断源编写中断服务程序。

C51为中断服务程序的编写提供了方便的方法。

C51的中断服务程序是一种特殊的函数,它的说明形式为:void 函数名(void) interrupt n using m
{ 函数体语句 }
这里,interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务函数,interrupt后的整数n表示该中断服务函数是对应哪一个中断源。

⑷每次按下计数键K4时能够触发INT1中断,P3.3口(即INT1口)由高电平变为低电平,此时在单片机的内部会产生一个中断计数,并使P0口的电平发生变化,通过排线将P0口的电平信息传到数码管(数码管根据A BCDEFG各段的高低电平决定各发光二极管的亮与不亮)
⑸因为实验使用的是共阴数码管(所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上),当按下计数键(K4)时触发INT1中断,中断程序累加计数显示不同的LED 的字模,根据数码管A BCDEFG各段的高低电平决定各发光二极管的亮与不亮(某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮),显示出不同的数值。

相关文档
最新文档