实验3 外部中断实验报告

合集下载

实验3 外部中断实验报告

实验3 外部中断实验报告

实验三定时中断实验一、实验目的1.掌握51单片机外部中断的应用。

2.掌握中断函数的写法。

3. 掌握定时器的定时方法。

4. 掌握LED数码管的显示。

二、实验内容1.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。

2.用外部中断改变流水灯的方式。

3. 用定时器T1的方式2控制两个LED以不同周期闪烁。

使用定时器T1的方式2来控制P0.0、P0.1引脚的两个LED分别以1s和2s的周期闪烁。

三、实验仿真硬件图在Proteus软件中建立如下图所示仿真模型并保存。

1. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来(用中断方式做计数器)。

2.用外部中断改变流水灯的方式。

中断前:开始时,P0.0~P0.7的8个灯依次点亮。

外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次外部中断1:P0.0~P0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果四、编程提示精选文档外部中断0请求______INT,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。

一旦输入信号有效,即向CPU申请中断,并建立IE0中断标志。

以外部中断0为例,开放中断源采用以下语句:EA=1; //开放中断总允许位EX0=1; //开放外部中断0允许位IT0=1; //置外部中断为边沿(下边沿)触发方式中断函数结构如下:void int_0() interrupt 0 // interrupt 0表示该函数为中断类型号0的中断函数{}同级自然优先级:外部中断0→定时器T0中断→外部中断1→定时器T1中断→串行口中断。

中断优先级别的设定:实验二要求:初始状态为P0.0~P0.7的8个LED显示灯依次循环点亮;外部中断0服务程序为8个LED 灯,左4个,右4个闪烁8次,外部中断1服务程序8个LED灯,间隔闪烁8次。

⑴设定外部中断0为高优先级,先执行外部1中断,过程中用外部0中断来将其中断,反之不行。

【免费下载】单片机外部中断实验报告

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

单片机外部中断实验报告

单片机外部中断实验报告

实验三外部中断实验报告班级:学号:姓名:教师:一、实验目的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、外部中断电路负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。

外部中断源实验报告(3篇)

外部中断源实验报告(3篇)

第1篇一、实验目的1. 理解外部中断的概念和工作原理。

2. 掌握STM32微控制器外部中断的配置和使用方法。

3. 通过实验验证外部中断在嵌入式系统中的应用。

二、实验环境1. 开发板:STM32F103C8T62. 编程软件:Keil uVision3. 仿真软件:Proteus4. 实验设备:按键、LED灯三、实验原理外部中断是指当微控制器外部电路发生特定事件时,可以引起微控制器中断,从而暂停当前程序的执行,转而执行中断服务程序(ISR)。

STM32微控制器的外部中断通常由GPIO引脚的电平变化触发。

四、实验步骤1. 硬件连接- 将按键的一端连接到STM32的GPIO引脚(如PA0),另一端连接到地(GND)。

- 将LED灯的一端连接到STM32的另一个GPIO引脚(如PC13),另一端连接到VCC。

2. 软件设计- 使用Keil uVision编写程序,配置外部中断。

- 配置GPIO引脚为输入模式,并设置中断触发方式为上升沿触发。

- 配置NVIC(嵌套向量中断控制器)中断优先级。

- 编写中断服务程序(ISR),实现LED灯的闪烁。

3. 程序代码```cinclude "stm32f10x.h"void EXTI0_IRQHandler(void) {if (EXTI_GetITStatus(EXTI_Line0) != RESET) {// 清除中断标志位EXTI_ClearITPendingBit(EXTI_Line0);// 切换LED灯状态GPIO_ToggleBits(GPIOC, GPIO_Pin_13);}}int main(void) {// 初始化系统时钟SystemClock_Config();// 配置GPIOGPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOC, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);// 配置外部中断EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);// 配置NVICNVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);// 主循环while (1) {// 等待外部中断发生}}```4. 仿真验证- 使用Proteus仿真软件搭建电路,并加载上述程序。

外部中断的实验报告

外部中断的实验报告

一、实验目的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灯的亮灭。

中断原理实验报告总结(3篇)

中断原理实验报告总结(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对中断原理的理解,掌握单片机中断系统的工作机制,学会外部中断和定时/计数器的使用,以及串口数据发送和接收的方法。

二、实验内容1. 外部中断原理及使用(1)实验原理:通过实验,了解外部中断的工作原理,掌握外部中断的使用方法,包括中断源的设置、中断服务程序的编写和中断请求的处理。

(2)实验步骤:设置外部中断源,编写中断服务程序,实现按键控制LED灯亮灭。

2. 定时/计数器的使用(1)实验原理:通过实验,了解定时/计数器的工作原理,掌握定时/计数器的使用方法,包括定时/计数器的初始化、定时/计数器的启动和停止、定时/计数器的中断处理。

(2)实验步骤:设置定时/计数器,实现LED灯的闪烁。

3. 串口数据发送和接收(1)实验原理:通过实验,了解串口通信的工作原理,掌握串口数据发送和接收的方法,包括串口初始化、发送和接收数据的流程。

(2)实验步骤:实现单片机与计算机之间的串口通信,发送和接收数据。

三、实验结果及分析1. 外部中断实验结果及分析实验中,通过按键控制LED灯亮灭,实现了外部中断的基本功能。

实验结果表明,当按键被按下时,外部中断请求信号被触发,中断服务程序被执行,LED灯状态发生改变。

2. 定时/计数器实验结果及分析实验中,通过定时/计数器实现LED灯的闪烁,实现了定时功能。

实验结果表明,定时/计数器能够按照设定的周期产生中断,中断服务程序能够按照要求执行。

3. 串口数据发送和接收实验结果及分析实验中,通过串口通信实现单片机与计算机之间的数据传输。

实验结果表明,单片机能够按照设定的波特率发送和接收数据,计算机端能够正确接收并显示数据。

四、实验总结1. 通过本次实验,加深了对中断原理的理解,掌握了单片机中断系统的工作机制。

2. 掌握了外部中断、定时/计数器和串口通信的使用方法,为后续学习和实践打下了基础。

3. 在实验过程中,培养了动手实践能力,提高了解决问题的能力。

单片机外部中断实验报告

单片机外部中断实验报告

单片机外部中断实验报告实验目的:1、理解单片机外部中断的原理和用途;2、掌握单片机外部中断的配置和使用方法。

实验器材:1、STC15W408AS单片机开发板;2、简单的电路连接器;3、按钮开关。

实验原理:单片机外部中断是通过外部硬件信号触发单片机的中断请求,在单片机运行过程中,当外部信号满足特定条件时,会触发中断,并暂停当前的运行程序,转而执行中断服务程序。

通过外部中断,可以实现对外部事件的实时处理。

实验步骤:1、将按钮开关与单片机开发板连接,将按钮开关的一端与单片机的INT0引脚连接,另一端与GND连接。

2、在开发板上连接好电源并供电。

3、打开Keil软件,新建一个工程,并选择合适的单片机型号。

4、配置单片机的外部中断功能,设置INT0引脚为中断输入。

5、编写中断服务程序,当INT0引脚检测到边沿信号时,执行中断服务程序,并在其中加入相应的处理代码。

6、编写主程序,配置相关的引脚和寄存器,使单片机进入中断模式,接受外部中断信号,并执行中断服务程序。

7、下载程序到单片机开发板上,运行程序。

8、按下按钮开关,触发外部中断,并查看实验结果。

实验结果:当按下按钮开关时,实时触发外部中断,单片机停止当前程序的运行,进入中断模式,并执行中断服务程序中的相应代码。

实验总结:通过这次实验,我对单片机的外部中断有了更深入的理解,并学会了如何使用外部中断实现对外部事件的及时处理。

外部中断广泛应用于各种实时系统和设备中,具有很大的实用价值。

在以后的学习和实践中,我会进一步掌握和应用单片机的外部中断功能。

实验三定时器及外部中断实验

实验三定时器及外部中断实验

实验三定时器及外部中断实验一、实验目的1)熟悉VC5416的定时器工作原理。

2)掌握VC5416定时器的编程控制方法。

3)学会使用定时器的中断方式来控制程序执行方法。

4)掌握外部中断的编程控制方法,理解DSP对于中断的响应的过程。

5)了解并学习混合编程的实现方法。

二、实验设备1)计算机一套,DSP硬件仿真器一台,实验箱一台。

2)CCS4.1-CCS5.5软件版本。

3)源程序及链接命令文件见:D:\ EXPER\EXP3目录下的.asm 、.cmd、.C 和.lib文件。

三、实验步骤(一)、连接仿真器,将仿真器插接到C5416的JTAG接口上,另一头插接到电脑的USB接口上,因为仿真器是金属外壳,容易和箱子内部的电路触碰造成短路,从而对实验箱造成损坏,这个要特别注意,也不允许在机箱打开电源情况下插拔仿真器。

(二)、实验箱配置及连线:C5416DSP核心板上的SW1的1-6的开始设置为off off off off on on(上电后工做于1/2分频器方式,其它实验也按照此设置不变,我试验过改为PLL*2方式仿真器就连接不上了),SW2设置为on on on on。

将DSP核心板所在试验箱引脚连线区的BCANRX(C54的XF)引脚,与指示灯连线区LAMP的L1连接起来,这样就可以通过XF控制这个L1这个方光管的亮灭了。

将DSP核心板所在试验箱引脚连线区的INT0(C54的外部中断0输入)引脚与单脉冲按键PAULSE的P-(按下输出负脉冲)连接起来,这样按下按键时,就会给DSP的INT0中断引脚发送一个负脉冲。

连线照片见程序目录中的图片文件。

(二)、打开实验箱电源开关。

(三)、使用给定的文件,按照实验一的步骤建立实验项目,例如工作区目录为D:\ exp3 中建立一个exp3的实验项目,添加所有的给定的文件。

(四)、仿真调试方法1、通过菜单Project- Build All 对项目进行编译和链接,如下:如果有错误会出现在problem 窗口中。

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

实验三定时中断实验
一、实验目的
1.掌握51单片机外部中断的应用。

2.掌握中断函数的写法。

3. 掌握定时器的定时方法。

4. 掌握LED数码管的显示。

二、实验内容
1.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。

2.用外部中断改变流水灯的方式。

3. 用定时器T1的方式2控制两个LED以不同周期闪烁。

使用定时器T1的方式2来控制P0.0、P0.1引脚的两个LED分别以1s和2s的周期闪烁。

三、实验仿真硬件图
在Proteus软件中建立如下图所示仿真模型并保存。

1. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来(用中断方式做计数器)。

2.用外部中断改变流水灯的方式。

中断前:开始时,P0.0~P0.7的8个灯依次点亮。

外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次
外部中断1:P0.0~P0.7的8个灯间隔闪烁8次
改变中断优先级和保护现场,观察运行结果
四、编程提示
外部中断0请求
______
INT,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降
沿有效。

一旦输入信号有效,即向CPU申请中断,并建立IE0中断标志。

以外部中断0为例,开放中断源采用以下语句:
EA=1; //开放中断总允许位
EX0=1; //开放外部中断0允许位
IT0=1; //置外部中断为边沿(下边沿)触发方式中断函数结构如下:
void int_0() interrupt 0 // interrupt 0表示该函数为中断类型号0的中断函数{
}
同级自然优先级:
外部中断0→定时器T0中断→外部中断1→定时器T1中断→串行口中断。

中断优先级别的设定:
实验二要求:
初始状态为P0.0~P0.7的8个LED显示灯依次循环点亮;外部中断0服务程序为8个LED 灯,左4个,右4个闪烁8次,外部中断1服务程序8个LED灯,间隔闪烁8次。

⑴设定外部中断0为高优先级,先执行外部1中断,过程中用外部0中断来将其中断,反之不行。

注意保护现场。

⑵设定外部中断1为高优先级,先执行外部0中断,过程中用外部1中断来将其中断,反之不行。

注意保护现场。

实验三(调试下列程序,在错误行后面注明错误及改正方法):
#include <reg51.h>
#define uchar unsigned char;
sbit D0=P1^0;
sbit D1=P1^1;
uchar a,b;
void main()
{
EA=1;
ET1=1;
TMOD=0x20;
TL1=6;
TR0=1;
a=0;
b=0;
while(1)
;
}
void t1() interrupt 1 {
a++;
b++;
if(a=1000)
{
D0=~D0
a=0;
}
if(b=4000)
{
D1=~D1;
b=0;
}
写出源程序,并注释
实验报告格式
实验三定时中断实验
学院:专业:年级:实验时间:姓名:学号:指导教师:
一、实验目的
1.掌握51单片机外部中断的应用。

2.掌握中断函数的写法。

3. 掌握中断优先级别的使用。

4. 掌握LED数码管的显示。

二、实验内容
1.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。

2.用外部中断改变流水灯的方式。

三、电路图(贴Protues仿真图)
四、程序与注释
1)程序1
2)程序2
3)程序3
六、简答题
1)电平触发和下降沿触发在程序中如何设置?
2)如何设置INT1为优先级?何谓优先?
3)中断服务函数的interrupt后面的数字表示什么?
七、体会。

相关文档
最新文档