实验三 外部中断实验指导书
实验3、外部中断的编程N
实验三、外部中断的编程一、实验目的1、掌握外部中断的基本编程方法。
2、掌握计数器的扩展编程。
二、实验内容设计单片机程序实现秒表功能;用一个开关对秒表进行启动和停止控制,用另一个开关对秒表进行清零。
用T0定时中断设计秒表计时,秒计数结果通过P1口及4094芯片送数码管显示(T0定时中断时间为10毫秒,秒表的显示间隔为1秒,用软件和硬件结合使用实现)。
用外部中断INT0(边沿触发方式)对秒计数结果进行清零,用P3.5对秒计数进行启动和停止控制。
1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;2、程序下载到单片机实验板上验证;(实验板数码管的驱动程序见附件)。
三、实验原理电路原理图如下,所需元件为:A T89C52、7SEG-BCD、SW-SPST、BUTTONT0定时中断10毫秒,进行100次中断得到1秒的定时,秒计数结果送P1口进行LED显示,将外部中断设置成边沿触发方式。
四、实验预习1、学习外部中断的有关知识。
2、提前编写程序,写出预习报告。
五、实验报告1、总结出实验的详细步骤。
2、写出调试正确的程序及框图。
ORG 0000HAJMP MAINORG 0003HLJMP IN0ORG 0033HMAIN:MOV IE,#83HSETB IT0MOV TMOD,#01HMOV TH0,#0B7HMOV TL0,#0FFHMOV R0,#65HMOV R1,#0HLOOP:JB P3.5,STOPSETB TR0JB TF0,NEXTSJMP LOOPSTOP:CLR TR0SJMP LOOPNEXT:CLR TF0MOV TH0,#0B7H MOV TL0,#0FFHDJNZ R0,LOOP MOV R0,#65HINC R1MOV P1,R1AJMP LOOPIN0:MOV R1,#0MOV P1,R1RETIEND。
单片机原理外部中断实验
单片机原理实验报告实验题目外部中断实验一、实验目的1.掌握用外部中断方式实现控制的方法。
2.掌握中断优先级的使用方法。
3. 掌握用Proteus实现单片机系统仿真的方法。
二、实验预备知识外部中断信号由P3.2(P3.3)管脚输入,当中断触发方式控制位ITO(IT1)为1时,CPU 在每个机器周期的S5P2采样P3.2(P3.3)管脚,如果连续两次采样,前一次采样为高电平,后一次采样为低电平,则认为有中断申请,随即使中断标志位IE0(IE1)置1,向CPU申请中断,直到该中断被CPU响应。
当定时器以计数方式工作,计数初值为满量程,在计数输入端T0(T1)输入负跳变信号时,计数器将加1并产生溢出,随即使溢出标志位TF0(TF1)置1,向CPU申请中断,直到该中断被CPU响应。
三、实验内容P1口做输出口,接八只发光二极管,利用手控单脉冲信号作为外部中断信号,编写控制程序,使八只发光二极管按一定的规律循环点亮。
1.程序1: 从外部中断0请求输入端(P3.2)输入脉冲信号2.程序2: 从定时器0的外部输入端(P3.4)输入脉冲信号四、实验参考电路P1口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮,实验电路图如图4-1所示。
图4-1 外部中断实验电路五、实验参考程序ORG 0003HAJMP INT00 ORG 0013H AJMP INT11 ORG 0050H MAIN:SETB EASETB EX0SETB EX1SETB PX1SETB IT0SETB IT1MOV A,#0FEH LP1:MOV P1,ALCALL DELAY RL ASJMP LP1ORG 0100H INT00:PUSH ACCMOV A,#0FCH MOV R1,#7 LP2:MOV P1,A LCALL DELAY RL ADJNZ R1,LP2 POP ACCRETIORG 0150H INT11:PUSH ACCMOV A,#3FH MOV R2,#7 LP3:MOV P1,ALCALL DELAY RR ADJNZ R2,LP3 POP ACCRETIORG 0200H DELAY:MOV R3,#20 L1:MOV R7,#200 L2:MOV R6,#123 NOPL3:DJNZ R6,L3 DJNZ R7,L2 DJNZ R3,L1 RETEND六、实验分析与总结。
外部中断实验
外部中断实验一、实验目的1. 掌握51单片机外部中断的应用。
2. 掌握中断函数的写法。
3. 掌握XL400实验板的使用。
二、实验内容1. 用外部中断改变流水灯的方式。
2. 用外部中断0测量负跳变信号的累计数,同时在八位LED数码管上显示出来。
三、实验步骤说明参考实验指导书第一部分实验工具简介中,XL400实验板的使用。
着重掌握外部中断0和外部中断1,本此实验使用外部中断0。
外部中断0请求,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
一旦输入信号有效,即向CPU申请中断,并建立IE0中断标志。
以外部中断0为例,开放中断源采用以下语句:EA=1; //开放中断总允许位EX0=1; //开放外部中断0允许位IT0=1; //置外部中断为边沿(下边沿)触发方式中断函数结构如下:void int_0() interrupt 0 // interrupt 0表示该函数为中断类型号0的中断函数{}1. 用外部中断改变流水灯的方式。
中断前:实验板上P20~P27的8个显示灯全亮。
外部中断0:实验板上P20~P27的左右4个显示灯闪烁循环8次。
外部中断1:实验板上P20~P27的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位数码管位选码。
实验3 外部中断实验
实验三外部中断实验一、实验目的1.掌握51单片机外部中断的应用。
2.掌握中断函数的写法。
3. 掌握中断优先级别的使用。
4. 掌握LED数码管的显示。
二、实验内容1.用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来。
2.用外部中断改变流水灯的方式。
三、实验仿真硬件图在Proteus软件中建立如下图所示仿真模型并保存。
1. 用外部中断0测量负跳变信号的累计数,同时在LED数码管上显示出来(用中断方式做计数器)。
2.用外部中断改变流水灯的方式。
中断前:开始时,P0.0~P0.7的8个灯依次点亮。
外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次外部中断1: P0.0~P0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果4、编程提示外部中断0请求,由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中断来将其中断,反之不行。
注意保护现场。
写出源程序,并注释实验报告格式实验三外部中断实验学院:专业:年级:实验时间:姓名:学号:指导教师:一、实验目的1.掌握51单片机外部中断的应用。
单片机外部中断实验报告
单片机外部中断实验报告实验三外部中断实验报告班级:学号:姓名:教师:一、实验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、实验目的
⑴学习51单片机的中断控制原理。
⑵学习51单片机的外部中断的编程方法。
⑶学习数据的堆栈操作原理和编程方法。
2、实验任务
图1外部中断控制接口电路原理图
实验任务是:在图1中,P2连接8个LED、第12脚(即INT0引脚)连接一个10kΩ的上拉电阻,让该引脚保持为High,另外再连接一个按钮开关(1NT0)。
当主程序正常执行时,P2所连接的8个LED将闪烁。
若按INT0按钮开关,则进入中断状态,P2所连接的8个LED将变成单灯左移,而左移3圈(从最左边到最右边为1圈)后,恢复中断前的状态,程序将继续执行8灯闪烁的功能。
3、实验内容
⑴编制完成实验任务的程序。
⑵绘制实验任务的原理图。
⑶结合硬件原理图,仿真调试程序,记录实验数据和现象。
4、实验预习要求
⑴认真阅读本实验指导书,领会实验目的的要求和实验内容。
⑵复习教材中有关内容。
⑶了解51单片机的中断控制原理。
⑷了解与51单片机的中断控制相关的寄存器的用法。
⑸了解51单片机的各中断源的中断服务子程序的入口地址。
⑹根据实验内容编好各项源程序,为实验做好软件准备。
5、思考题
⑴说明针对外部输入,查询法和中断法有何区别?
⑵若把一个按钮开关改到INT1引脚,实现同样的任务,实验程序应该如何修改,请写出修改后的程序。
6、实验报告要求
⑴写出所编写的程序,需加注释。
⑵写出思考题的答案。
实验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核,来触发外部中断,以便执行相应的中断处理操作。
外部中断0实验
实验三外部中断0实验一.实验目的1.学习8051单片机的中断原理及编程方法;2.掌握中断处理程序的编程方法和调试方法。
二.实验说明中断服务程序入口地址两相邻中断服务程序起始地址之间只相距8 个字节,而一般序长度会超过8 个字节,为了避免和下一个中断地址相冲突,常用一条跳转指令,将程序转外的某一区间。
三.实验原理:MCS-51中断系统有5个中断请求源:① /INT0----外部中断0请求,低电平有效。
通过P3.2引脚输入。
② /INT1 ----外部中断1请求,低电平有效。
通过P3.3引脚输入。
③ T0 ----定时器/计数器0溢出中断请求。
④ T1 ----定时器/计数器1溢出中断请求。
⑤ TX/RX ----串行口中断请求。
当串行口完成一帧数据的发送或接收时,便请求中断。
四.实验电路图及参数对照表中断允许寄存器IE:中断优先级寄存器IP:中断入口地址表:P1口接发光二极管,外部中断INT0(P3.2)接拨动开关K01。
如果是下载式实验仪,在程序装载前,必须使P3.2口的拨动开关处于高电平状态。
六.实验流程:七、实验电路图循环左移一次外部中断0入口保护现场恢复现场中断返回开始开外部中断点亮所有发光二级管设置初始状态设置中断控制寄存器中断允许将实验程序打入KEIL软件,然后编译连接九.进行仿真,仿真结果如下图;十:实验源程序ORG 0000HAJMP MAINORG 0003H址AJMP IINT0处ORG 0030HMAIN: MOV IE,#10000001BCLR IT0LOOP: MOV P1,#00HAJMP LOOPIINT0: MOV R0,#08HMOV A,#0FFHCLR CIINT01: RLC AMOV P1,ACALL DELAYDJNZ R0,IINT01RETI;********************************************************************** *******; /*延时子程序*/;********************************************************************** *******DELAY: MOV R5,#10sDELAY1: MOV R6,#50DELAY2: MOV R7,#250sDJNZ R7,$DJNZ R6,DELAY2sDJNZ R5,DELAY1sRET ;END十一.实验总结在本实验中,我深入了解了中断的工作原理,及其作用,中断对于单片机的实时控制,软/硬件错误检查等有着重大的意义。
单片机汇编实验三:外部中断实验
单片机汇编实验三:外部中断实验实验要求:由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。
外部中断实验
外部中断实验外部中断实验一、实验目的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中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。
中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。
INT0端接单次脉冲发生器。
P1.0接LED灯,以查看信号反转。
三、实验内容及步骤1、使用单片机最小应用系统1模块,P1.0接发光二极管,INTO 接单次脉冲输出端。
2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,打开仿真器电源。
3、启动计算机,打开Keil仿真软件,进入仿真环境。
实验三定时器及外部中断实验
实验三定时器及外部中断实验一、实验目的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 窗口中。
实验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测量负跳变信号的累计数,同7124536812345678R2220XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C122pfC222pfC310ufX112MR110kD1R3220D2R4220D3R5220D4R6220D5R7220D6R8220D7R9220D8时在LED数码管上显示出来(用中断方式做计数器)。
2.用外部中断改变流水灯的方式。
中断前:开始时,P0.0~P0.7的8个灯依次点亮。
外部中断0:P0.0~P0.7的左右4个灯闪烁亮8次外部中断1:P0.0~P0.7的8个灯间隔闪烁8次改变中断优先级和保护现场,观察运行结果四、编程提示外部中断0请求______0INT,由P3.2管脚输入,通过IT0位来决定是低电平有效还是下降沿有效。
实验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:外部中断实验指导书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核,来触发外部中断,以便执行相应的中断处理操作。
【大学】单片机实验-单个外部中断实验(WORD档)
实验三——单个外部中断实验一、实验要求在单片机的外部中断引脚INT0接一个按键开关来产生外部中断请求,通过P1口连接的8个LED发光二极管的状态,来反映中断程序的作用。
中断未发生时,P1口连接的8个LED为闪烁状态,当按键开关按下,即外中断请求产生时,8个LED呈现流水灯操作。
按键开关松开,8个LED则为闪烁状态。
二、实验目的1.理解掌握外部中断源、中断请求、中断标志、中断入口等的概念。
2.掌握中断程序的设计办法。
三、实验内容1.选择实验所需元器件,按实验图连接电路。
2.用计算机编写代码,并汇编、调试。
4.将程序下载到单片机中,观察现象。
5.如果不符合预期要求则修改程序重新调试。
源代码ORG 0000hAJMP STAR1ORG 0003hAJMP INRT0ORG 000Fh STAR1 :MOV P1,#00HMOV R3,#200X4 :DJNZ R3,X4MOV p1,#0FFHMOV R3,#200X5 :DJNZ R3,X5JB P3.2,STAR1SETB EASETB EX0CLR IT0X6 :AJMP X6ORG 0100H INRT0 :MOV P1,#0FEHMOV A,P1 LOOP:Rl AMOV p1,AX1 :MOV R1,#255X2 :MOV R2,#255X3 :DJNZ R2,X3DJNZ R1,X2JNB P3.2,LOOPLJMP X7RETIX7 :MOV P1,#00HMOV R3,#200X8 :DJNZ R3,X8MOV p1,#0FFHMOV R3,#200X9 :DJNZ R3,X9JB P3.2,X7RETIEND通过本次实验基本了解了外部中断的工作原理,通过编写汇编程序实现了单个外部中断的功能,复习并更加掌握汇编语言,尤其是汇编语言中外部中断的编程。
第一次调试时,不按开关灯闪烁,按下开关呈流水灯,当再次按下开关灯灭。
检查了几遍虽感觉不对,但不知道到程序那错了,又把课本中有关中断的内容看了一遍,才发现自己编的程序第二次循环时成了死循环。
实验三单片机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、问题:在初次编程时,中断服务程序没有被正确执行。
解决方法:仔细检查中断初始化函数中的参数设置,确保中断触发方式、优先级等配置正确。
实验外部中断实验报告
实验三定时中断实验一、实验目得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单片机外部中断得应用。
PSOC3外部中断实验报告
一.实验名称中断实验二.实验任务了解PSoC3中断的构成,特点。
掌握PSoC3中断函数的编写按键控制LED灯亮灭。
利用轻触按键K3分别产生PSoC3器件I/O口下降沿触发每触发一次中断,LED1、LED2状态翻转一次。
三.实验设备及环境微型计算机(安装了Psoc 集成开发软件)PSoC实验平台DC9V电源导线若干四.原理:32个中断向量,每个中断向量对于多个中断源可配置的中断入口向量地址灵活的中断源每个中断可独立的使能和禁制每个中断可以设置8级中断优先级8级中断嵌套软中断程序可清除正在响应的中断电平触发边沿触发五.具体步骤1.新建工程双击打开PSoC Creator软件File -> New – Project,在Design栏中使用默认选择的Empty PSoC 3 Design在“Name”框中输入新工程名称Timer,在“Location”框中输入其存放路径回到创建新工程对话框,点击“OK”,完成新工程的创建2.绘制原理图3.设置模块参数设置Pin_1模块参数Name:LED1去掉 HW Connection前的勾General:取默认Drive Mode:Strong DriveInitial State:Low(0)设置Pin_2模块参数,与上一步相同4.代码编写主程序编写#include <>CY_ISR(SWPin_Control){if(InputPin_Read() == 1u){OutputPinSW_Write(0u);}else{OutputPinSW_Write(1u);}InputPin_ClearInterrupt();}int main(){InputInterrupt_StartEx(SWPin_Control);CyGlobalIntEnable;for(;;){}}/* [] END OF FILE */5.编译单击菜单Build - Build Int_led或单击工具栏中的图标,进行工程编译6.下载选择Debug菜单,点击Select Debug Target…:展开并选择PSoC3器件,点击“connect”,点击Close按钮点击菜单Debug – Program或点击工具图标,开始下载下载完毕后,实验平台断电7.测试方法根据电路图连接电路实验平台上电,按动轻触开关K3,观察LED1、LED2的状态变化LED1亮,LED2灭,按键按下后,两灯变化相反六.心得体会经过了这次学习,我了解到如何进行一次psoc实验。
- 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.给出代码以及注释
注意:中断程序的调试在等待中断的过程中不能够单步执行,否则中断将错过丢失而不响应,如果需要看中断服务程序中程序的执行过程,可以在中断服务程序中设置断点。
待中断条件满足时自动停止在断点。