实验3:外部中断实验指导书

合集下载

单片机原理外部中断实验

单片机原理外部中断实验

单片机原理实验报告实验题目外部中断实验一、实验目的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. 理解单片机外部中断的工作原理和触发条件。

2. 掌握如何通过外部中断实现计数功能。

3. 学习中断服务程序的设计方法。

4. 提高单片机编程和调试能力。

二、实验环境1. 单片机:80C512. 开发工具:Keil uVision3. 实验电路:按键、LED灯、单片机及其相关外围电路三、实验原理外部中断是指单片机通过外部引脚接收到的中断信号,使得CPU暂停当前程序,转而执行中断服务程序。

本实验通过外部中断实现计数功能,具体原理如下:1. 将单片机的某个外部引脚(如P3.2)设置为外部中断0(INT0)的触发引脚。

2. 在外部中断0的中断服务程序中,设置一个计数变量,每次中断发生时,计数变量加1。

3. 将计数变量的值通过LED灯显示出来,以观察计数过程。

四、实验步骤1. 创建Keil uVision项目,并添加80C51固件库。

2. 编写C语言程序,实现以下功能:- 初始化外部中断0,设置中断触发方式为下降沿触发。

- 初始化定时器,用于产生中断。

- 编写外部中断0的中断服务程序,实现计数功能。

- 编写主函数,用于设置单片机的工作状态和显示计数结果。

3. 编译并下载程序到单片机。

4. 连接实验电路,包括按键、LED灯和单片机及其相关外围电路。

5. 观察实验现象,验证计数功能是否实现。

五、实验结果与分析1. 实验现象:按下按键,LED灯显示的计数值加1。

2. 分析:- 外部中断0的中断服务程序被正确调用。

- 计数变量在每次中断发生时加1。

- LED灯能够正确显示计数结果。

六、实验总结1. 本实验成功实现了通过外部中断实现计数功能,验证了单片机外部中断的工作原理。

2. 通过编写中断服务程序,掌握了中断编程方法。

3. 实验过程中,遇到了一些问题,如中断服务程序编写错误、程序编译错误等,通过查阅资料和调试,最终解决了问题。

4. 通过本次实验,提高了单片机编程和调试能力,加深了对单片机外部中断的理解。

单片机外部中断实验报告

单片机外部中断实验报告

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

外部中断实验

外部中断实验

外部中断实验一、实验目的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位数码管位选码。

DSP外部中断实验报告

DSP外部中断实验报告

电子信息工程系实验报告课程名称:现代DSP技术成绩:实验项目名称:实验四外部中断实验实验时间:2011-11-22指导教师(签名):班级:&^^%%$ 姓名:*&% 学号:*****一、实验目的1、掌握中断技术,学会对外部中断的处理方法;2、掌握中断对程序流程的控制,理解DSP对中断的响应时序。

二、实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱。

三、实验原理1. 在DSP中,中断是由硬件或软件产生的驱动信号,要求DSP暂停执行的程序,转到中断服务子程序的执行。

2. 对于中断程序的设计,一般采用以下步骤:(1)将中断向量指针IPTR指向中断矢量所在的段,在段中偏移量为中断序号四倍的地指出写一个跳转到中断服务子程序的跳转指令。

(2)置位ST1中的INTM位,禁止中断,然后清除所以未执行完的中断。

(3)打开相应的中断,复位ST1中的INTM位,使能中断。

(4)写一段等待程序(一般用无效的死循环),等待中断事件的发生。

四、实验步骤与内容1、拨码开关:SW2SW2备注1 2 3 4 码位ON ON OFF ON 单脉冲产生的中断给CPU2的中断INT22、关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;启动CCS 2.0,在Project→Open菜单打开exp05_cpu2目录下面的工程文件“exp05.pjt”。

用下拉菜单中Project-->Open,打开“exp05_cpu2\ exp05.pjt”,双击“Source”,可查看源程序。

在File→Load Program菜单下加载exp05_cpu2\debug目录下的exp05.out文件。

a)运行实验程序;b)每按一次“单脉冲输出”按键,观察LED1~LED8灯变化;每按一次“单脉冲输出”按键则显示灭亮灭亮灭亮灭亮。

如下图所示c)单击“Halt”暂停程序运行,反复按开关“单脉冲输出”,观察LED1~LED8灯变化。

实验外部中断实验说明文档word精品文档6页

实验外部中断实验说明文档word精品文档6页

实验5外部中断实验说明文档外部中断硬件说明GPIO硬件说明STM32开发板引出了电路长的所有IO口,电路如下图 1 引出的IO口STM32的IO口可以通过软件配置为以下的8种模式(1)GPIO _Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8) GPIO_Mode_AF_PP复用开漏输出STM32的每个IO端口都有7个寄存器来控制,他们分别是:2个32位的端口,配置寄存器CRL和CRH;一个16位的复用寄存器BRR;2个32位的数据寄存器IDR和ODR;1个32位的锁存寄存器LCKR;详细资料可以参见<<STM32中文参考资料>>.LED硬件说明STM32 开发板上的两个LED:LED0 和LED1.如下图:图2 LED 与STM32 连接原理图STM32中硬件电路将PB5管脚与LED0灯连接,而另一LED灯LED1则是连接在PE5.由电路可知,两个LED都是通过灌电流的方式来加电压,所以应将相应的GPIO口配置为输出方式,通过合理的控制其连接的GPIO口的输出电压(置高置低)就能控制灯的闪烁(关于GPIO配置操作请详见GPIO固件库说明文档).BEEP硬件说明STM32 开发板上的一个BEEP.如下图:图1 BEEP与STM32 连接原理图STM32中硬件电路将PB8管脚与BEEP连接,电路中用到NPN三极管(s8050)来驱动蜂鸣器,三极管主要的功能是放大电流,让电路有足够的电流来驱动蜂鸣器.当PB.8输出高电平时,蜂鸣器开始发声,当PB.8输出低电平时,蜂鸣器停止发声.KEY硬件说明STM32 开发板上的4个按钮(WK_UP,KEY0,KEY1,KEY2)如下图:图1 KEY与STM32 连接原理图STM32中硬件电路将PE4与KEY0连接在按钮按下时电路接地为低电平, PE3与KEY1连接在按钮按下时电路接地为低电平, PE2与KEY2连接在按钮按下时电路接地为低电平, PA0与WK_UP连接在按钮按下时电路接地为高电平,由电路可知,本实验通过WK_UP在芯片内部拉低输入模式下检测高电平时控制键蜂鸣器的开关按键KEY0检测为低时候控制LEDO和LED1同时开关,按键KEY1控制LED1的开关,按键KEY2控制LED0的开关,有关配置GPIO口 (关于GPIO配置操作请详见GPIO固件库说明文档).EXTI说明STM32开发板有19个外部中断,在外部的IO口上有16个外部中断,分别如下图 1 GPIO口与外部中断映射图STM32的IO端对应16个外部中断,GPIOx.0- GPIOx.15其中(x=A,B,C,D,E,F)分别对应中断线,每个中断线最多对应七个IO口,而中断线每次只能连接到一个IO口上去,可在软件中去配置STM32上的每个IO口可以自由编程,需要以32位的字访问外部中断软件说明实验中用到了GPIO固件库函数和LED固件库的函数的总和,在引用MCU中的头文件后用到的GPIO函数以及LED函数如下GPIO中的库函数1)使能总线时钟void GpioRccEnable(GPIO_TypeDef* GPIOx);2)配置管脚为输入输出模式void GpioConfig(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed );3)设置某一端口为输入输出模式void GpioSet(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed );4)设置输入模式并初始化void GpioSetInMode(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin );5)设置输出模式并初始化void GpioSetOutMode(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin,char init_value);6)管脚的输出的值void GpioSetOutValue(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin, char init_value);7)读取某一管脚的状态unsigned char GpioInReadPinStatus(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);LED中的库函数如下:1)初始化函数void LedInit(char led, char led_init_status);2)指定LED灯亮void LedOn(char led);3)灭掉指定的LED灯void LedOff(char led);BEEP中的库函数如下://功能: 初始化LEEP,并配置初始状态void BeepInit(char beep_init_status);//功能: 选定BEEP为开状态void BeepOn(void);//功能: 选定BEEP为关状态void BeepOff(void);按键中的库函数如下://IO初始化void KeyInit(void);//按键扫描函数u8 KeyScan(void);EXTI库函数如下:// 功能:使能外部时钟中断函数void ExtiRccEnable(uint32_t RCC_APB2Periph);// 功能:配置外部中断参数void ExtiConfig(uint32_t line,EXTIMode_TypeDef mode,EXTITrigger_TypeDef trigger,FunctionalState linecmd); // 功能:外部中断初始化void ExtiInit(void);外部中断应用简述实验中通过外部中断服务函数来检测按键是否按下来控制蜂鸣器和LED灯的亮灭,实验程序如下#include "common.h"int main()Init(); //总初始化while(1)printf("\n外部中断实验\r\n");delay_ms(1000);。

微机原理实验-外部中断实验

微机原理实验-外部中断实验

下面是赠送的几篇网络励志文章需要的便宜可以好好阅读下,不需要的朋友可以下载后编辑删除!!谢谢!!出路出路,走出去才有路“出路出路,走出去才有路。

”这是我妈常说的一句话,每当我面临困难及有畏难情绪的时候,我妈就用这句话来鼓励我。

一定有很多人想说:“这还在北京混个什么劲儿啊!”但他每天都乐呵呵的,就算把快递送错了也乐呵呵的。

某天,他突然递给我一堆其他公司的快递单跟我说:“我开了家快递公司,你看得上我就用我家的吧。

”我有点惊愕,有一种“哎呦喂,张老板好,今天还能三蹦子顺我吗”的感慨。

之后我却很少见他来,我以为是他孩子出生了休假去了。

再然后,我就只能见到单子见不到他了。

某天,我问起他们公司的快递员,小伙子说老板去上海了,在上海开了家新公司。

我很杞人忧天地问他:“那上海的市场不激烈吗?新快递怎么驻足啊!”小伙子嘿嘿一笑说:“我们老板肯定有办法呗!他都过去好几个月了,据说干得很不错呢!”“那老婆孩子呢?孩子不是刚生还很小吗?”“过去了,一起去上海了!”那个瞬间,我回头看了一眼办公室里坐着的各种愁眉苦脸的同事,并且举起手机黑屏幕照了一下我自己的脸,一股“人生已经如此的艰难,有些事情就不要拆穿”的气息冉冉升起。

并不是说都跳槽出去开公司才厉害,在公司瞪着眼睛看屏幕就是没发展,我是想说,只有勇气才能让自己作出改变。

《拒绝平庸》里有一句话:很多时候我们为什么嫉妒别人的成功?正是因为知道做成一件事不容易又不愿意去做,然后又对自己的懒惰和无能产生愤怒,只能靠嫉妒和诋毁来平衡。

其实走出去不一定非要走到什么地方去,而是更强调改变自己不满意的现状。

有人问我那你常说要坚持,天天跑出去怎么坚持?其实要坚持的是一种信仰,而不是一个地方,如果你觉得一个地方让你活得特别难受,工作得特别憋屈,除了吐槽和压抑没别的想法,那就要考虑走出去。

就像歌词里说的:“梦想失败了,那就换一个梦想。

”不能说外面都是大好前程,但肯定你会认识新的人,有新的机会,甚至改头换面重新做人。

实验3:外部中断实验指导书

实验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核,来触发外部中断,以便执行相应的中断处理操作。

单片机外部中断实验报告

单片机外部中断实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

实验3外部中断实验报告

实验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--外部中断实验

单片机实验指导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 引脚点评状态。

实验3:外部中断实验指导书Word版

实验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版)单片机外部中断实验报告

(完整word版)单片机外部中断实验报告
IT1是选择外部中断1请求(INT1)为边沿触发方式或电平触发方式的控制位。前一方式IT1=1,后一方式IT1=0。
当8031复位后,TCON被清0。
5、外部中断电路
负脉冲作为中断请求信号时,为了保证中断的唯一性,必须加上消除开关抖动的电路或者去抖动延时程序,保证每次只产生单脉冲,构成边沿触发方式外部中断电路。边沿触发的最大优点在于不会丢失中断。只要中断请求负跳变的宽度大于1个机器周期,单片机就能够采样到中断请求信号,单片机将采样到的信号琐存到中断请求标志寄存器中,硬件自动置IE0为1,即使单片机暂时不响应,这个标志也不会丢失,只有在外部中断响应之后,硬件才将IE0清除。
三、编程提示
1、P3口是8位准双向口,具有双重功能:
第一功能和P1口一样,作为输入输出口,也有字节操作和位操作两种方式,每一位可分别定义为输入或输出;第二功能定义如下:
P3.0 RXD串行输入口
P3.1 TXD串行输出口
P3.2 INT0外部中断0请求输入线
P3.3 INT1外部中断1请求输入线
P3.4 T0定时器/计数器T0外部计数器脉冲输入线
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
IT0
IT0是选择文字则外部中断0请求(INT0)边沿触发方式或电平触发方式的控制位。前一方式IT0=1,后一方式IT0=0。
P3.5 T1定时器/计数器T1外部计数器脉冲输入线

12-13(2)微机实验2指导书(外部中断)

12-13(2)微机实验2指导书(外部中断)

实验二 MCS-51外部中断应用实验一、实验目的1、进一步熟悉单片机实验仪及相关工具软件的基本使用操作。

2、学习并掌握外部中断应用程序编写与调试方法。

3、通过实验加深领悟单片机中断系统的原理及运用方法。

二、预习要求1、进一步熟练掌握keil工具软件的使用操作,用单步运行等调试手段观察程序执行过程细节,预先完成运用keil工具软件对实验程序进行模拟运行调试,通过寄存器窗口、存储器窗口、外围设备模拟窗口进行操作与观察。

2、根据实验要求规划具体的实验内容步骤并撰写实验报告书中的预备内容。

三、实验内容及步骤(一)编程实现P1.7驱动的LED秒闪(软件延时控制)。

1、编写主工作程序实现秒闪,预先详细计算所运行程序控制秒闪的周期;2、可用常规计时设备核验并估判该程序控制秒闪的周期与计算值吻合情况。

(二)秒闪的同时外部中断0每中断4次令2FH单元的八位控制码加1并从P1口输出。

1、实现秒闪及中断加1功能,通过L0~L7观察P1口输出的八位码变化规律;2、修改程序为按BCD码加1,观察P1口输出的八位码变化规律。

(三)使用TEST2013.ASM测试程序,进行外部中断0实现每中断1次令(3CH)单元内容按BCD码以24为模加1的校时功能实验。

1、运行TEST2012.ASM,操作并观察中断校时功能,同时观察是否存在开关触点抖动现象,有则估判开关抖动的程度;2、修改相关指令实现每中断1次小时数以12小时制加1,操作并观察效果;(四)其他自选实验内容四、实验报告:1、实验课题、目的;2、针对上述每项实验分别撰写预备内容(实验项目内容、具体步骤、具体操作、主要程序清单或更动说明、实验数据及说明、预测的实验效果);3、实验进行过程,在每个实验子项预备内容后预留的空档位置记录实验现象、出现问题、解决办法、实验效果,本项实验结论及分析;4、实验完成后整理实验记录信息,撰写本次实验总结(概述每项实验的总体完成情况、存在问题、心得体会、意见建议等),当堂上交实验报告。

实验3-外部中断实验报告

实验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其他点亮功能。

单片机实验指导书(同名8411)

单片机实验指导书(同名8411)

单片机实验实验指导书2017年2月单片机实验报告〔自动化XX级〕实验名称学生联系方式学号院系工学院电气与信息工程系专业自动化指导教师填写日期实验一数据传送一、实验目的1.进一步熟悉仿真器的使用方法。

2.练习设计简单的程序。

3.掌握8051片内RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。

二、实验内容将8051内部RAM 40H~4FH置初值00H~0FH,然后将40H~4FH内容传送到外部RAM的4800H~480FH,再将4800H~480FH传回内部RAM的50H~5FH。

设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的内容。

三、实验准备1、认真阅读本实验指导。

2、读懂下面的程序:#include<reg51.h>#include<absacc.h>char data *p40 ,*p50 ;char xdata *p4800;char i, j, k;void main( ){p40=0x40;p50=0x50;p4800=0x4800;for(i=0;i<16;i++){*p40=i;p40=p40+1;}//B1p40=0x40;for(j=0;j<16;j++){*p4800=*p40;p40=p40+1;p4800=p4800+1;}// B2p4800=0x4800;for(k=0;k<16;k++){*p50=*p4800;p50=p50+1;p4800=p4800+1;} }//B33、画出如下要测的数据表格:四、实验步骤1、向机器输入程序。

2、运行程序至第一个断点B1,检查40H~0FH单元内容及指针p40的内容。

3、运行程序至第二个断点B2,检查4800H~480FH单元内容及指针p40,p4800的内容。

4、运行程序至第三个断点B3,检查50H~5FH单元内容及累加器及指针p50的内容。

五、实验报告要求1、写出C语言源程序和对应的汇编语言指令及注解的程序清单。

外部中断实验实验报告

外部中断实验实验报告

外部中断实验实验报告外部中断实验实验报告引言外部中断是计算机系统中一种常见的中断方式,可以在程序执行过程中接收外部信号并及时中断当前任务进行处理。

本实验旨在通过搭建外部中断实验电路,了解外部中断的原理和应用,并通过实际操作验证其正确性和可行性。

实验目的1. 了解外部中断的原理和工作方式;2. 掌握外部中断的搭建方法和步骤;3. 验证外部中断的正确性和可行性。

实验器材1. 电脑;2. Arduino开发板;3. 按键开关;4. 连接线。

实验步骤1. 将Arduino开发板与电脑通过USB数据线连接,并打开Arduino开发环境;2. 在Arduino开发环境中,编写一个简单的程序,用于接收外部中断信号;3. 将按键开关的引脚与Arduino开发板的数字引脚相连,确保按键开关可以通过Arduino开发板进行控制;4. 将按键开关的另一端连接到Arduino开发板上的中断引脚(如INT0或INT1);5. 上传程序到Arduino开发板,并确保程序正常运行;6. 按下按键开关,观察程序是否能够正确接收并处理外部中断信号;7. 重复步骤6,多次测试外部中断的可靠性和稳定性。

实验结果经过多次测试和观察,实验结果表明外部中断能够正常工作并正确接收外部中断信号。

当按下按键开关时,程序能够及时中断当前任务,并执行相应的中断处理程序。

实验结果与理论预期相符。

实验分析外部中断是计算机系统中一种重要的中断方式,广泛应用于各种实时控制系统和交互式设备中。

通过本次实验,我们深入了解了外部中断的原理和工作方式,并通过实际操作验证了其正确性和可行性。

在实验过程中,我们使用Arduino开发板搭建了一个简单的外部中断实验电路,并编写了相应的程序进行测试。

通过按下按键开关,我们成功触发了外部中断信号,并观察到程序能够及时中断当前任务,并执行相应的中断处理程序。

这表明外部中断能够在实际应用中起到及时响应外部信号的作用,提高了系统的实时性和可靠性。

实验外部中断实验报告

实验外部中断实验报告

实验三定时中断实验一、实验目得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单片机外部中断得应用。

无线通信技术综合训练实验指导书I(CC2530基础)实验八

无线通信技术综合训练实验指导书I(CC2530基础)实验八

⽆线通信技术综合训练实验指导书I(CC2530基础)实验⼋实验⼋外部中断实验实验⼋外部中断实验CPU 有 18 个中断源。

每个中断源有它⾃⼰的、位于⼀系列特殊功能寄存器中的中断请求标志。

每个中断通过相应的标志请求可以单独使能或禁⽌。

通⽤ I/O 引脚设置为输⼊后,可以⽤于产⽣通⽤ I/O 中断(外部中断)。

⼀、实验⽬的通过本实验的学习,熟悉 CC2530 芯⽚通⽤ I/O 中断相关寄存器的配置和使⽤⽅法。

1. 2. 3. 4. 熟悉 CC2530 芯⽚通⽤ I/O 中断相关寄存器配置和使⽤⽅法;掌握 CC2530 芯⽚通⽤ I/O 中断响应处理⽅法;掌握 CC2530 芯⽚中断基本原理;了解CC2530 芯⽚中断优先级。

⼆、实验内容1. 2. 在 CC2530 节点开发板上,启⽤通⽤ I/O 中断配置,由查询控制 LED 闪烁;在 CC2530 节点开发板上,启⽤通⽤ I/O 中断配置,由中断控制 LED 闪烁。

三、实验条件1. 2. 3. 4. 5. 6. 7. ⽤户 PC 机(装有 Microsoft Windows XP 系统)正确安装 IAR Embedded Workbench for 8051 集成开发环境; CC2530 节点开发板(插有 CC2530 模块,带 LCD 模块)1 块; CC Debugger 多功能调试器 1 个; USB 连接线 1根;串⼝连接线 1 根;杜邦线若⼲; 5V 电源 1 个。

四、实验原理1. 中断屏蔽每个中断可以通过中断使能特殊功能寄存器中的中断使能位 IEN0、IEN1 或 IEN2 使能或禁⽌。

图 3-8-1 给出了所有中断源和相关控制以及状态寄存器的完整概况。

当调⽤中断服务程序时阴影框中的中断标志将被硬件⾃动清除。

表⽰触发,可能是因为电平源也可能是因为边沿形成。

中断失去了它,它们将被当作⼀个电平触发(适⽤于端⼝ 0,端⼝ 1 和端⼝2),转换器显⽰为默认和表⽰上升或下降沿检测,即在什么时候中断产⽣。

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

《—嵌入式系统原理与应用—》实验指导书
黄鹏程、谢勇编写
适用专业:计算机科学与技术
物联网工程
厦门理工学院计算机与信息工程院(系)
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的作用
图4 NVIC寄存器描述中断建立的过程可大大简化,只需三步:
①系统启动后进行优先级分组。

②设定中断优先级。

③使能中断。

CPU
内核
图5 中断建立过程
2、外部中断
外部中断一般用于外设模块通过微控制器的引脚给一个中断信号给ARM核,来触发外部中断,以便执行相应的中断处理操作。

LPC1768有4个外部中断,外部中断的应用需要NVIC配合使用。

图6 NVIC与外部中断
图7 外部中断的相关寄存器
外部中断可以通过极性控制寄存器和模式控制寄存器配置外部中断的触发类型,如下图所示:
图8 中断信号波形与设置方式
外部中断的设置示意图:
图9 电平中断示意图
四、实验组织运行要求
老师集中讲解+学生自主动手实验
五、实验条件
✓PC机一台;
✓EasyARM-1768实验开发平台一套。

六、实验步骤
本实验可以在流水灯实验的基础上修改实现。

推荐实验顺序:
1.编写外部中断EINT0触发点灯实验,并烧写测试;
2.在以上测试了中断功能实验的基础上,实现一个按键控制一种流水灯;
3.在外部中断EINT1~2中任选两个,实现另外两种按键通过外部中断控制
流水灯程序,并调试;
4.整合实现,实现三个按键切换三种流水灯的实验效果。

本实验没有统一的实验步骤,请大家根据自己的实验情况设计实验步骤。

七、思考题
八、实验报告
实验报告请按照厦门理工学院标准的实验报告格式编写。

九、其它说明
无。

相关文档
最新文档