实验三 外部中断实验指导书
实验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十一.实验总结在本实验中,我深入了解了中断的工作原理,及其作用,中断对于单片机的实时控制,软/硬件错误检查等有着重大的意义。
- 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.给出代码以及注释
注意:中断程序的调试在等待中断的过程中不能够单步执行,否则中断将错过丢失而不响应,如果需要看中断服务程序中程序的执行过程,可以在中断服务程序中设置断点。
待中断条件满足时自动停止在断点。