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

实验三外部中断实验报告班级:学号:姓名:教师:一、实验目的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灯的亮灭。
实验3:外部中断实验指导书

《—嵌入式系统原理与应用—》实验指导书黄鹏程、谢勇编写适用专业:计算机科学与技术物联网工程厦门理工学院计算机与信息工程院(系)2016 年 3 月实验3:外部中断实验实验学时:2实验类型:(演示、验证√、综合、设计研究)实验要求:(必修√、选修)一、实验目的1. 理解中断的概念及其在嵌入式系统中的应用;2. 熟悉LPC1700系列CortexM3 微控制器的NVIC的配置;3. 熟悉LPC1700系列CortexM3 微控制器外部中断的控制。
二、实验内容在EasyARM1768开发板的硬件平台上,基于流水灯显示实验,结合向量中断控制器NVIC和外部中断,设计并实现外部中断实验。
要求实现三种方式的流水灯实现,并且通过三个按键利用通过外部中断实现三种不同方式的切换。
三、实验原理、方法和手段中断对嵌入式系统来说是很重要的一个概念,利用中断,可以开发出很接近产品的嵌入式系统。
市场上大部分的不带嵌入式操作系统的嵌入式系统都采用了“前后台系统”来实现产品功能,这其中的前台就是中断机制。
故我们要理解中断的概念,并且能够应用中断到实际的嵌入式系统中来。
图1 前后台系统图2 中断处理流程示意图1、中断向量控制器(NVIC)嵌套向量中断控制器(NVIC)是Cortex-M3 处理器的一个内部器件,它与CPU 内核紧密耦合,共同完成对中断的响应,降低了中断延时,使得最新发生的中断可以得到高效处理。
它能够管理中断的各种事务,比如使能或禁止外设中断源的中断,设置外设中断源的优先级,挂起中断,查看外设中断源的中断触发状态等。
然后把中断信号给ARM内核。
NVIC的应用示意图如下所示:图3 NVIC 的作用CPU内核图4 NVIC寄存器描述中断建立的过程可大大简化,只需三步:①系统启动后进行优先级分组。
②设定中断优先级。
③使能中断。
图5 中断建立过程2、外部中断外部中断一般用于外设模块通过微控制器的引脚给一个中断信号给ARM核,来触发外部中断,以便执行相应的中断处理操作。
单片机汇编实验三:外部中断实验

单片机汇编实验三:外部中断实验实验要求:由AT89S52 内部定时器0,按方式1 工作,即作为16 位定时器使用每0.05 秒T1 溢出中断一次。
P1 口的P1.0~P1.8 分别接8 个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒钟L1,L8 亮,第二秒钟L2,L7 亮,第三秒钟L3,L6 亮,第四秒L4,L5 亮,第五秒L3,L6 亮,第六秒L2,L7 亮,第七秒L1,L8 亮,第八秒L1,L3,L5,L7 亮,第九秒L2,L4,L6,L8 亮,第十秒全亮,第十一秒全灭。
然后再从头循环。
由键盘生成外部中断信号,当任意键按下时,为外部中断请求信号,此时L3,L4,L5,L6 亮,持续时间为5 秒。
//This is the third program of the homework;//Name: WQ DATE: 2013214//In thisprogramwe used Intterput;ORG 0000H //****无条件转移指令*******LJMP MAIN //LJMP 长转移指令65535(双字节)ORG 0003H //0003H 中断程序I0 入口地址LJMP WINTT0 //AJMP 绝对转移ORG 000BH //000BH 计时器程序T0 入口地址LJMP WT0 //SJMP 短转移-128127// ORG 001BH //001BH 计时器程序T1 入口地址JMP 变址转移JMP @A+DPTR// LJMP WT1 //另外只要程序段的空间能合理分配不冲突就能随便调用ORG 0050HMAIN:MOV DPTR,#TABLE MOV R1,#11 //R1 做一个计数器查表用CLR A //将A 清零,用来寻址MOV R2,A //另一个计数器用来加减MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV R3,#20 //R3 做一个计数器SETB EA //开总中断SETB ET0 //允许计时器SETB TR0 //开启计时器0// SETB TR1 //开启计时器1 SETB IT0 //边沿触发方式SETB EX0 //允许外部中断0 MOV P0,#0FFHOK1: MOV C,P3.4 JNC KAISHI MOV C,P3.5 JNC KAISHI MOV C,P3.6 JNC KAISHI MOV C,P3.7 JNC KAISHI SJMP OK1KAISHI:CLRP3.2 SETB P3.2 SJMP OK1。
实验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次改变中断优先级和保护现场,观察运行结果四、编程提示12345678p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7AT89c51c122pfu1x112m18 xTAL219xTAL1p0.0/AD0p0.1/AD1p0.2/AD2p0.3/AD3p0.4/AD4p0.5/AD5p 0.6/AD6p0.7/AD7p2.0/A8p2.1/A9p2.2/A10p2.3/A11p2.4/A12p2.5/A13p2 .6/A14p2.7/A15p3.0/RxDp3.1/TxDp3.2/InT0p3.3/InT1p3.4/T0p3.5/T1p3. 6/wRp3.7/RD3938373635343332212223242526272810111213141516171234567812345678c222pfD1D2D3D4D5D6D7D8R110k9RsTc310uf2930 31psenALeeAR2220R3220R4220R5220R6220R7220R8220R9220外部中断0请求InT0,由p3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
单片机实验指导3--外部中断实验

实验三外部中断练习
一、实验目的
1.应用MCS-51单片机汇编指令集完成程序设计;
2.完成外部中断应用实验;
3.熟悉单片机仿真试验箱
二、实验环境
1.实验地点:教7-514
2.实验设备:计算机,伟福仿真软件,单片机仿真试验箱。
三、实验步骤
1.熟练应用伟福仿真环境;
2.掌握对仿真软件的设置;
3.掌握建立工程、编写程序、仿真、读出结果等工作步骤;
4.熟悉单片机仿真试验箱;
5.连接电路,建立外部中断通道以及外设控制通道;
5.编写程序完成对外设的控制以及练习外部中断的使用。
四、实验要求
1.课前了解伟福仿真软件,完成外部中断控制下的交通灯实验程序;
2.上课时掌握仿真环境的使用;
3.记录硬件电路连线图;
4.记录实验程序;
5.书写实验报告。
五、题目要求及编程提示
利用两组红灯、绿灯模拟十字路口交通灯,某一时刻只有一组红灯、绿灯发光,另一种熄灭,利用延时程序完成3秒定时,时间到后LED状态反转。
设置一个按键,按下后立刻反转LED状态。
提示:将按键连至外部中断引脚,按下后进入子程序反转连接LED的I/O 引脚点评状态。
实验五、外部中断控制实验 报告

实验名称: 五、外部中断控制实验 日期: 见自己实验数据 得分: 同组人: 不填 指导教师: 马惠兰 一、实验目的1. 进一步熟悉TD-NMC 单片机实验系统的结构和实验方法。
2. 熟练掌握Keil uvision3单片机仿真软件硬件仿真操作方法和步骤。
3. 学习和掌握外部中断源控制程序的编程和调试方法。
4. 通过实验验证外部中断源之间的中断优先级关系及其正确性。
二、实验设备PC 机一台,TD-NMC 单片机实验系统一套 三、实验内容51单片机的外部中断0与脉冲单元的KK1ˉ连接,外部中断1与脉冲单元的KK2ˉ连接。
当响应外部中断0时,LED 指示灯D7D6点亮并顺次向右移动7次;当响应外部中断1时,LED 指示灯D0点亮并顺次向左移动8次。
编程设计外部中断的混合控制。
四、实验原理51单片机有5个中断源,这5个中断源之间的硬件优先权是固定的。
每个中断源可以设置高、低两个中断优先级。
通过改变中断源的优先级可以设置中断源之间的响应顺序。
其中的两个外部中断源,分别是外部中断0 0INT 和外部中断1 1INT ,通过单片机的P3.2引脚和P3.3引脚输入中断请求信号。
0INT 的硬件优先权比1INT 的高,当0INT 和1INT 同时发出中断请求时,先响应0INT 的中断请求,后响应1INT 的中断请求;为了使1INT 的中断请求先得到响应或能够打断0INT 的中断处理,实验中又重新设置1INT 的中断优先级为高,即PX1=1,0INT 的中断优先级为低,即PX0=0。
外部中断有两种触发方式:电平触发方式和边沿触发方式,本实验采用边沿触发。
实验电路连接如图1所示,P1口各位输出与8个LED 灯(D0~D7)相连,0INT 与脉冲单元的KK1ˉ连接,1INT 与脉冲单元的KK2ˉ连接,通过按下KK1ˉ和KK2ˉ产生0INT 和1INT 的中断请求。
响应不同的外部中断时,发光管的状态不同。
根据优先级关系设置实验数据记录表格。
实验3:外部中断实验指导书Word版

《—嵌入式系统原理与应用—》实验指导书黄鹏程、谢勇编写适用专业:计算机科学与技术物联网工程厦门理工学院计算机与信息工程院(系)2016 年 3 月实验3:外部中断实验实验学时:2实验类型:(演示、验证√、综合、设计研究)实验要求:(必修√、选修)一、实验目的1. 理解中断的概念及其在嵌入式系统中的应用;2. 熟悉LPC1700系列 CortexM3 微控制器的NVIC的配置;3. 熟悉 LPC1700系列 CortexM3 微控制器外部中断的控制。
二、实验内容在EasyARM1768开发板的硬件平台上,基于流水灯显示实验,结合向量中断控制器NVIC和外部中断,设计并实现外部中断实验。
要求实现三种方式的流水灯实现,并且通过三个按键利用通过外部中断实现三种不同方式的切换。
三、实验原理、方法和手段中断对嵌入式系统来说是很重要的一个概念,利用中断,可以开发出很接近产品的嵌入式系统。
市场上大部分的不带嵌入式操作系统的嵌入式系统都采用了“前后台系统”来实现产品功能,这其中的前台就是中断机制。
故我们要理解中断的概念,并且能够应用中断到实际的嵌入式系统中来。
图1 前后台系统图2 中断处理流程示意图1、中断向量控制器(NVIC)嵌套向量中断控制器(NVIC)是 Cortex-M3 处理器的一个内部器件,它与 CPU 内核紧密耦合,共同完成对中断的响应,降低了中断延时,使得最新发生的中断可以得到高效处理。
它能够管理中断的各种事务,比如使能或禁止外设中断源的中断,设置外设中断源的优先级,挂起中断,查看外设中断源的中断触发状态等。
然后把中断信号给ARM内核。
NVIC的应用示意图如下所示:图3 NVIC 的作用CPU内核图4 NVIC寄存器描述中断建立的过程可大大简化,只需三步:①系统启动后进行优先级分组。
②设定中断优先级。
③使能中断。
图5 中断建立过程2、外部中断外部中断一般用于外设模块通过微控制器的引脚给一个中断信号给ARM核,来触发外部中断,以便执行相应的中断处理操作。
3实验三 单片机外部中断的使用

姓名:学号:日期:实验三单片机外部中断的使用一、实验名称:单片机外部中断的使用二、实验目的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-YELLOW2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;参考程序如下:ORG 0000HLJMP MAINORG 0003H ;外部中断0程序入口地址LJMP EXINT0ORG 0030HMAIN: MOV SP,#60H ;堆栈指针初始化SETB it0 ;设置外部中断0为边沿触发SETB ex0 ;开外部中断0SETB ea ;开CPU总中断MOV A,#01HLOOP: MOV P1,ARL ACALL DELAYSJMP LOOPDELAY: MOV R1,# 10 ;延时250ms子程序DL1: MOV R2,# 100DL2: MOV R3,# 125DJNZ R3,$DJNZ R2,DL2DJNZ R1,DL1;延时子程序返回EXINT0: PUSH retPUSH accCLR RS1SETB RS0MOV R0,# pswLP: MOV P1,#0FFHCALL DELAYMOV P1,#00HCALL DELAYDJNZ R0,LPPOP PSWPOP ACCreti ;中断返回END将以上程序补充完整,流水时间间隔,闪烁时间间隔为250ms。
单片机外部中断实验

班级学号姓名实验项目:外部中断一、实验目的:(1)了解MCS-51单片机外部中段系统的原理、处理过程及中断方式。
(2)掌握中断的编程方法。
二、实验内容:P0口通过747接一个七段数码管,外中断输入INT0引脚接按键PB。
主程序开始运行时数码管显示为0。
当按下按键PB时,进入中断状态,七段数码管从0到9递增1显示,延迟时间为0.5s。
三、实验说明及实验电路图四、实验程序及分析#include<reg51.h>unsigned char code xsmg[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};void delay(){int a,b;for(a=1000;a>0;a--){for(b=0;b<100;b++);}}void wbzd_0() interrupt 0 using 1{unsigned char i;while(1){for(i=0;i<10;i++){P0=xsmg[i];delay();}}}void main(){EA=1;EX0=1;IT0=0;while(1){P0=0xC0;}}五、实验步骤及实验现象步骤:先画好电路图,确认无误后,依据电路图以及要实现的功能开始写程序,之后进行调试。
现象:当按下按键PB时,进入中断状态,七段数码管从0到9递增1显示,延迟时间为0.5s。
六、问题分析及实验心得根据数电的知识,能够得出7447为译码器,如DCBA分别输入0000,0101,则数码管分别显示0,5,即P0=0x00,0x05。
实验采用外部中断进入中断子程序,硬件时刻检测P3.2的电平,当按下按键时,程序中采用电平触发方式,中断标志位IE0=1,向CPU申请中断服务,进入子程序,从而实现数码管0~9的递增。
心得:看到没有见到过芯片时,要先去了解,如看数据手册。
编程时要注意注释,方便以后再看这个程序。
实验三单片机IO及外部中断实验

实验三单片机I/O及外部中断实验一、实验目的1。
学习P1、P3口作为基本I/O口的使用方法,掌握对发光二极管和继电器的程序控制方法;2。
学习在单片机系统中扩展简单I/O接口的方法,学习模拟交通灯控制的方法;3。
掌握外部中断技术的基本使用方法和中断处理程序的编程方法。
二.实验仪器:1.仿真教学实验机(5196ET) 一台2。
直流稳压电源(DF1731SB3A)一台3.PC机一台三、实验内容1、P1口做输出口实验(1)实验要求:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
(2)电路及连线如下:(3)实验说明1.延时子程序的延时计算问题对于程序DELAY:MOVR0,#00HDELAY1:MOV R1,#0B3HDJNZR1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11。
0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷=100。
002mS(4)实验框图(见TP1A。
ASM主程序框图):(5)P1.0~P1.7接DL1.~DL8,运行程序TP1A,观察现象.TP1A程序:ORG0000HLJMPSTARTORG0040HSTART:MOV SP,#60HMOV A,#01HROTATE:MOV P1,A;点亮一个LEDRL A ;循环右移LCALL DELAY ;延时NOPSJMP ROTATEDELAY:;延时子程序(1秒)MOV R0,#0AHDELAY1:MOV R1,#00HDELAY2:MOVR2,#0B2HDJNZR2,$DJNZ R1,DELAY2DJNZ R0,DELAY1RETEND(6)修改程序TP1A,使指示灯左循环。
*(7)修改程序TP1A,使指示灯两两右循环.*(8)修改程序TP1A,使指示灯从两边向中间循环.*(9)修改程序TP1A,使指示灯右循环间隔时间为0.1秒。
实验3-外部中断实验报告

实验3-外部中断实验报告实验 3 外部中断实验报告一、实验目的本次实验的主要目的是深入理解外部中断的工作原理和应用,通过实际操作掌握外部中断的配置和编程方法,提高对微控制器中断处理机制的认识和应用能力。
二、实验设备1、开发板:_____型号开发板。
2、编程软件:_____。
3、电脑:具备相应接口和操作系统。
三、实验原理外部中断是指由外部事件引起的微控制器中断。
当外部中断引脚检测到特定的电平变化(如从高电平变为低电平或从低电平变为高电平)时,微控制器会暂停当前正在执行的程序,转而执行中断服务程序(ISR)来处理外部事件。
在本次实验中,我们使用了开发板上的特定引脚作为外部中断输入引脚,并通过配置相关寄存器来设置中断触发方式、优先级等参数。
四、实验步骤1、硬件连接将外部中断源(如按键)连接到开发板的指定引脚。
确保开发板与电脑正确连接,以便进行编程和调试。
2、软件编程打开编程软件,创建新的项目。
配置微控制器的时钟、引脚等基本设置。
编写中断初始化函数,设置中断触发方式、优先级等。
编写中断服务程序,定义在中断发生时需要执行的操作。
3、编译与下载对编写好的程序进行编译,检查是否存在语法错误。
将编译成功的程序下载到开发板中。
4、实验测试按下连接的按键,观察开发板的响应,如指示灯的变化、数据的输出等。
五、实验结果与分析1、当按下按键时,开发板能够准确地响应外部中断,执行中断服务程序。
在中断服务程序中,我们设置了指示灯的状态变化,通过观察指示灯的闪烁情况,可以确认中断是否被正确触发和处理。
2、对不同的中断触发方式(如下降沿触发、上升沿触发等)进行测试,结果均符合预期。
这表明我们对中断触发方式的配置是正确的。
3、调整中断的优先级,观察不同优先级中断之间的响应顺序。
在实验中,高优先级的中断能够优先得到处理,符合微控制器中断处理的优先级机制。
六、遇到的问题及解决方法1、问题:在初次编程时,中断服务程序没有被正确执行。
解决方法:仔细检查中断初始化函数中的参数设置,确保中断触发方式、优先级等配置正确。
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (33)实验八数码管动态显示实验 (38)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
实验外部中断实验报告

实验三定时中断实验一、实验目得1、掌握51单片机外部中断得应用。
2、掌握中断函数得写法。
3、掌握定时器得定时方法。
4、掌握LED数码管得显示。
二、实验内容1、用外部中断0测量负跳变信号得累计数,同时在LED数码管上显示出来。
2、用外部中断改变流水灯得方式。
3、用定时器T1得方式2控制两个LED以不同周期闪烁。
使用定时器T1得方式2来控制P0、0、P0、1引脚得两个LED分别以1s与2s得周期闪烁。
三、实验仿真硬件图在Proteus软件中建立如下图所示仿真模型并保存。
}同级自然优先级:外部中断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 ucharunsigned char;sbit D0=P1^0;sbitD1=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单片机外部中断得应用。
- 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.给出代码以及注释
注意:中断程序的调试在等待中断的过程中不能够单步执行,否则中断将错过丢失而不响应,如果需要看中断服务程序中程序的执行过程,可以在中断服务程序中设置断点。
待中断条件满足时自动停止在断点。