单片机实验三 外部中断实验指导书
单片机外部中断实验报告

实验三外部中断实验报告班级:学号:姓名:教师:一、实验目的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串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EA ES ET1 EX1 ET0 EX0(1)外部中断源允许中断(中断0:EX0=1;中断1:EX1=1)。
(2)CPU开中断(EA=1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择控制TCON:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0IT0是选择文字则外部中断0请求(INT0)边沿触发方式或电平触发方式的控制位。
前一方式IT0=1,后一方式IT0=0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。
前一方式IT1=1,后一方式IT1=0。
当8031复位后,TCON被清0。
5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。
【免费下载】单片机外部中断实验报告

P3.3 设为电平触发方式,连接外部 RS 触发器硬件去抖动的开关,编程使每次
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
实验三 单片机外部中断实验

实验三单片机外部中断实验一、实验目的1.理解单片机AT89C51的中断原理及其中断过程。
2.用proteus设计、仿真AT89C51单片机的外部中断。
外部中断是单片机AT89C51的重要功能,本实验用AT89C51单片机外部中断功能改变数码管的显示状态。
当无外部中断0时,主程序运行状态为七段数码管的a~g段依次点亮,不断循环;当有外部中断0(单片机P3.2脚上有下降沿电压)输入时,立即产生中断,转而执行中断服务程序,数码管显示状态为“8”亮灭闪烁显示,亮灭闪烁显示8次以后,返回主程序原断点处继续执行,数码管继续段点亮的循环显示。
③7SEG-COM-AN-GRN:绿色发光二极管;④CAP、CAP-ELEC:电容、电解电容;⑤CRYSTAL:晶振;⑥BUTTON:按钮。
2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测四、源程序设计、生成目标代码文件1.流程图2.源程序设计通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC33.ASM。
通过菜单“sourc e→DZC34.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。
程序编辑好后,单击按钮存入文件DZC34.ASM。
3.源程序编译汇编、生成目标代码文件通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。
若编译失败,可对程序进行修改调试直至汇编成功。
五、PROTEUS仿真1.加载目标代码文件2.全速仿真单击按钮,启动仿真。
3.仿真调试(1)带断电仿真五、思考题:1、MCS-51单片机响应某一个中断请求的条件是什么?2、8051单片机提供几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断入口地址是多少?。
实验3 外部中断实验

实验三外部中断实验一、实验目的1.掌握51单片机外部中断的应用。
2.掌握中断函数的写法。
3. 掌握LED数码管的显示。
二、实验内容1.用外部中断改变流水灯的方式。
2.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
三、电路图四、实验步骤说明1.用外部中断改变流水灯的方式。
中断前:实验板上P00~P07的8个显示灯全亮。
外部中断1:实验板上P00~P07的左右4个显示灯闪烁循环8次。
外部中断0:实验板上P00~P07的8个显示灯依次循环点亮。
中断的方式:用导线连接AT89S52芯片P3.2管脚和地。
改变触发方式、中断优先级和保护现场,观察运行结果2. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
跳变信号由P3.0给出(提示:P3_0=1;延时;P3_0=0),跳变信号加之管脚P3.2。
实验时,可用导线将AT89S52芯片P3.0和P3.2管脚相连即可。
实验板XL400的8位数码管:0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff为0,1,2,3,4,5,6,7,8,9,关显示,数码管码表。
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe 为8位数码管位选码。
这里取P2=0xfe。
实验报告格式实验三外部中断实验学院:专业:年级:实验时间:姓名:学号:指导教师:一、实验目的1.掌握51单片机外部中断的应用。
2.掌握中断函数的写法。
3. 掌握LED数码管的显示。
4. 掌握XL400实验板的使用。
二、实验内容1.用外部中断改变流水灯的方式。
2.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
三、电路图(贴Proteus仿真图)四、程序与注释1)程序1(调试下列程序,在错误行后面注明错误及改正方法)#include <reg51.h>#define uint unsigned int;//void delay(uint);void main(){EA=1;EX0=1;EX1=0;while(1){P0=0x00}}void int0() interrupt 0{uint a,bb=P0;P0=0x0f;for(a=0;a<16;a++){P0=~P0;delay(1000);}P0=b;}void int1() interrupt 1{uint a,b;b=P0;P0=0xfe;for(a=0;a<8;a++){delay(1000);P0=_crol_(P0,1);}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--)}2)程序2六、简答题1)电平触发和下降沿触发在程序中如何设置?2)如何设置INT1为优先级?何谓优先?3)中断服务函数的interrupt后面的数字表示什么?七、体会。
外部中断计数实验报告

外部中断计数实验报告实验名称:外部中断计数实验报告一、实验目的通过实验了解外部中断的工作原理和应用,掌握基于外部中断进行计数的方法,并能够编写相应的程序实现计数功能。
二、实验内容1. 搭建实验电路:将一个外部脉冲信号作为中断源,与单片机相应的中断输入引脚连接。
2. 编写相应的程序:设置单片机的中断向量表,配置中断引脚为外部中断,编写中断服务函数和主函数,实现外部中断计数功能。
3. 下载程序到单片机并运行:将编写好的程序下载到单片机,通过外部脉冲信号触发中断,验证计数功能的正确性。
三、实验原理外部中断是指外部事件触发单片机中断请求的一种中断方式。
其工作原理是:当外部事件发生时,通过引脚输入信号到中断输入引脚,引起中断请求,最终触发中断服务程序的执行。
在本次实验中,我们通过将外部脉冲信号连接到单片机的中断输入引脚,每次外部脉冲信号到达时触发一次中断,并在中断服务程序中进行计数操作。
四、实验步骤1. 搭建实验电路:将外部脉冲信号连接到单片机的中断输入引脚,同时连接电源和调试工具。
2. 编写程序:使用适当的开发工具编写程序,包括设置中断向量表、配置中断引脚和编写中断服务函数。
3. 下载程序:将编写好的程序下载到单片机。
4. 运行程序:通过触发外部脉冲信号,验证计数功能的正确性。
五、实验结果与分析根据实验的步骤和要求,我们成功搭建了实验电路,并编写了相应的程序。
通过触发外部脉冲信号,实验结果显示单片机成功进行了计数操作,即正确触发了中断服务函数。
六、实验总结通过本次实验,我们了解了外部中断的工作原理和应用,并掌握了基于外部中断进行计数的方法。
同时,通过编写程序,我们成功搭建了实验电路,实现了外部中断计数功能。
实验结果表明,外部中断计数功能正常运行。
七、存在问题及改进方向在实验过程中,我们发现实时性较高的外部脉冲信号可能会引起计数不准确的问题。
这是因为我们的程序没有对外部脉冲信号进行滤波处理,导致了计数的不稳定性。
实验三STM32单片机外部中断程序开发

实验三STM32单片机外部中断程序开发
一.实验目的
1.掌握STM32单片机外部中断程序开发
2.掌握用寄存器开发STM32单片机程序
二.实验环境
1.TEB-CM5000嵌入式单片机实验系统
2.MDK4.12嵌入式软件开发环境
三.实验内容
1.熟悉TEB-CM5000嵌入式单片机实验系统上的LED灯电路和外
部中断接口。
运行相关的程序实现一个按钮控制LED灯亮灭。
其中,LD1(PF3)作为外接LED灯,具体电路如下:
按钮用连接引线通过连接独立按钮(如USER2)连接到PA3(TX2)引脚上,如下图。
编写程序,当按下USER2按钮时,LD1(PF3)灯会闪
烁。
完成代码、编译和下载代码到实验箱,观察结果。
2.改变连接线连接方式,把USER2按钮保持不变和PD7连接起来,如下图:
编写程序,当按下USER2按钮时,LD1(PF3)灯会闪烁。
四.实验要求
1.学习教材配套的参考代码。
2.分别完成按钮接口PA3和PD7通过外部中断实现对LED控制的
程序,完成代码并提交main.c程序(注意:要包括中断处理程序)。
同时对每行主要代码要进行注释,说明其功能。
五.实验提交要求
1.按照实验模板完成实验报告,其中包括实验要求的所有内容。
2.提交电子版报告,撰写程序流程图,并且提交程序主要代码。
3.最终提交形式:制作成压缩rar格式文件,文件命名:最终提
交形式:制作成压缩rar格式文件,文件命名:班级_组号_学号_姓名_实验一.rar。
单片机外部中断实验报告

单片机外部中断实验报告实验三外部中断实验报告班级:学号:姓名:教师:一、实验LI的1、掌握单片机外部中断的原理及过程。
2、掌握单片机外部中断程序的设计方法。
3、掌握单片机外部中断时中断方式的选择方法。
二、实验内容如下图所示,P3.2设为输入,P2设为输出位,连有8个发光二极管DPD8O每当发生外部中断时,发光二极管以向下流水灯的方式点亮。
分别选择边沿触发外部中断放是和电平触发外部中断方式两种。
三、编程提示1、P3 口是8位准双向口,具有双重功能:第一功能和P1 口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:P3. 0RXD串行输入口P3. 1TXD串行输出口P3. 2INTO外部中断0请求输入线P3. 3INT1外部中断1请求输入线P3.4TO定时器/计数器TO外部计数器脉冲输入线P3. 5T1定时器/计数器T1外部计数器脉冲输入线P3. 6WR外部数据存贮器写脉冲输出线P3. 7RD外部数据存贮器读脉冲输出线2、各中断服务程序入口地址:外部中断003H定时器/计数器T1溢出中断OBH外部中断113H定时器/计数器1BH串行口中断23H3、外部中断的产生条件中断允许寄存器IE:EAESET1EX1ET0EX0(1)外部中断源允许中断(中断0: EX0=l;中断1: EXl=l)o(2)CPU 开中断(EA二1)。
(3)外部中断方式CPU发出中断申请。
4、外部中断方式的选择控制TCOX:TF1TR1TF0TR0IE1IT1IE0IT0IT0是选择文字则外部中断0请求(INTO)边沿触发方式或电平触发方式的控制位。
前一方式IT0二1,后一方式IT0二0。
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。
前一方式IT1=1,后一方式ITl=0o当8031复位后,TCON被清0。
5、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。
外部中断的实验报告

一、实验目的1. 理解外部中断的概念和作用。
2. 掌握外部中断的编程方法。
3. 熟悉中断处理程序的设计和调试。
二、实验原理外部中断是指由外部设备或信号产生的中断,用于处理与CPU无关的事件。
在微机系统中,外部中断通常用于处理输入/输出设备的中断请求。
外部中断分为可屏蔽中断和不可屏蔽中断两种类型。
三、实验环境1. 开发平台:Keil uVision 52. 微控制器:STM32F103C8T63. 外部设备:按钮、LED灯4. 连接方式:通过GPIO引脚连接四、实验步骤1. 设计外部中断电路(1)将按钮连接到STM32F103C8T6的GPIO引脚,例如PA0引脚。
(2)将LED灯连接到STM32F103C8T6的另一个GPIO引脚,例如PB0引脚。
2. 编写外部中断初始化程序(1)在Keil uVision 5中创建一个新项目,并添加STM32F103C8T6的起始代码。
(2)在主函数中编写初始化程序,包括以下步骤:a. 配置PA0引脚为输入模式,设置为浮空输入。
b. 配置PB0引脚为输出模式,用于控制LED灯。
c. 使能中断,设置中断优先级。
d. 配置NVIC(嵌套向量中断控制器)以允许外部中断。
3. 编写外部中断处理程序(1)在项目中添加一个新的C文件,用于编写外部中断处理程序。
(2)编写外部中断处理函数,当按钮按下时,触发中断,控制LED灯闪烁。
a. 初始化外部中断处理函数,设置中断优先级和中断触发方式。
b. 在外部中断处理函数中,编写LED灯控制代码,实现LED灯闪烁。
4. 编译并下载程序(1)编译项目,生成.hex文件。
(2)将.hex文件下载到STM32F103C8T6开发板上。
5. 测试实验结果(1)将按钮按下,观察LED灯是否闪烁。
(2)松开按钮,LED灯停止闪烁。
五、实验结果与分析1. 实验结果实验过程中,当按钮按下时,LED灯闪烁;松开按钮后,LED灯停止闪烁。
实验结果表明,外部中断能够正确地处理外部设备的中断请求,并控制LED灯的亮灭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三外部中断实验
一、实验目的
1.掌握外部中断技术的基本使用方法
2.掌握中断处理程序的编写方法
二、实验说明
1.外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0
或1),中断方式设置。
中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。
因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.1)引入,本实验由INT0(P3.2)引入。
2.中断服务的关键
a.保护进入中断时的状态:堆栈有保护断点和保护现场的功能使用PUSH,在转中断服务
程序之前把单片机中有关寄存单元的内容保护起来。
b.必须在中断服务程序中设定是否允许中断重入,即设置EX0 位。
c.用POP 指令恢复中断时的现场。
3.中断控制原理:中断控制是提供给用户使用的中断控制手段。
实际上就是控制一些寄存器,51 系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。
4.中断响应的过程:首先中断采样然后中断查询最后中断响应。
采样是中断处理的第一步,
对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0 或IE1 置“1”;否则继续为“0”。
所谓查询就是由CPU 测试TCON 和SCON 中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。
中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就进行响应一次中断。
三、实验电路图
本实验用到80C51 MCU 模块(C 区),八位逻辑电平显示模块(E5 区)和单次脉冲模块(G3 区)。
80C51 MCU 模块电路原理参考附录三,八位逻辑电平显示模块电路原理参考实验一图1.1,单次脉冲接口电路原理参考图3.1。
四、实验步骤
1.用二导线连接80C51 MCU 模块的P1.0 口到八位逻辑电平显示模块的任一只发光二极管上,
连接80C51 MCU 模块的INTO(P3.2)到单次脉冲模块的任一输出端。
2.仿真器插到80C51 MCU 模块的40P 锁紧插座中,
请注意仿真器的方向(扁平电缆的红色线与缩紧把手对应):缺口朝上。
3.将80C51 MCU 模块的电源扭子开关S1C 拨到上端。
将直流稳压电源模块的直流控制开关
S1G1 打到ON,本实验所用到的相关模块的电源指示灯VCC 亮。
4.打开Keil uVision2 仿真软件,首先建立本实验的项目文件,接着添加“TH3_外部中断.ASM”源程序,进行编译,编译无误后,全速运行程序。
5.实验现象:连续按动单次脉冲产生电路的按键,发光二极管每按一次状态取反,即隔一
次点亮。
五、提示
(1)每按键一次,硬件上产生一个中断请求,在中断服务程序中对P1.x控制的灯的状态取反。
(2)外部中断的触发方式必须设置为下跳沿有效
(3)调试程序时不能采用单步方式,中断会丢失,可以在中断服务程序中设置断点,或者全速执行。
六、试验报告
1.简述中断处理的一般过程。
2. 画出流程图。
3.给出代码以及注释
注意:中断程序的调试在等待中断的过程中不能够单步执行,否则中断将错过丢失而不响应,如果需要看中断服务程序中程序的执行过程,可以在中断服务程序中设置断点。
待中断条件满足时自动停止在断点。