单元三 外部中断应用

合集下载

外部中断详解

外部中断详解

由于不少同学们,学习51单片机到了中断课程的时候,就开始进入一知半解的状态了,为此,开题一篇,以供大家搞明白,中断这回事。

我们还是用清晰点的逻辑来分析,围绕这四个部分来介绍,当然重点在于3和4部分。

通篇我会以让初学者都能看懂的语言来说明。

如果有专业一点的术语名词,我也尽量用简单易懂的描述。

注:本文旨在让大家理解什么是中断和怎么去设置。

具体的东西有些考虑到深浅问题,则跳过不讲。

如需了解,可自行查询资料1.什么是中断?2.为什么要有中断?3.中断怎么触发?4.怎么设置中断?什么是中断?举个老生常谈的例子——接电话。

在一个风和日丽的下午,你在电脑前看着视频,突然间,你桌上的手机来电话了,这时候你就该暂停视频,拿起手机接电话。

OK,回到单片机里来,我们之前写程序,都是在main函数里,甚至main 函数里的while(1)里执行我们的程序。

这就相当于这个例子中的【看视频】,而【电话响了】这个过程,就相当于产生了中断,而【接电话】就是你在中断里做的事情。

为什么要有中断?为什么要有中断,再举一个例子好了。

简单来讲,就是一些程序我们平时不执行,但到了某个特殊时刻,我们才去执行。

所以我们就让这个特殊时刻产生一个中断,这时候,就跳去了我们特殊时刻才执行的函数里了。

什么情况会触发中断?那么,我们什么情况下,单片机才会识别到中断,或者说,什么情况下,单片机才会跳入我们中断的函数里呢?简单来讲,我们的中断大致分为三种,外部中断、定时器中断、串口中断。

这三种的触发方式不一样。

外部中断:顾名思义,就是单片机外部出现了一定的情况,才进入了中断。

89c51有两个外部中断,一个是P3.2引脚,一个是P3.3引脚。

分别是外部中断0和外部中断1。

我们以外部中断0为例,当P3.2这个脚读到一个低电平(0)或者下降沿(由高电平变低电平)的时候,这时单片机自己就识别到了,所以就会自己跳入中断。

定时器中断:定时器中断不再这详细说明,大致是讲,我们可以设置一个时间(或者叫闹钟),然后这个单片机会开始计时,当到了这个时间点,单片机就会跳入中断。

单片机外部中断实验报告

单片机外部中断实验报告

实验三外部中断实验报告班级:学号:姓名:教师:一、实验目的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位数码管位选码。

【CC2530入门教程-03】CC2530的中断系统及外部中断应用

【CC2530入门教程-03】CC2530的中断系统及外部中断应用

【CC2530⼊门教程-03】CC2530的中断系统及外部中断应⽤第3课 CC2530的中断系统及外部中断应⽤⼴东职业技术学院欧浩源⼀、中断相关的基础概念内核与外设之间的主要交互⽅式有两种:轮询和中断。

轮询的⽅式貌似公平,但实际⼯作效率很低,且不能及时响应紧急事件;中断系统使得内核具备了应对突发事件的能⼒。

在执⾏CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执⾏的程序,转⽽去执⾏另外⼀段特殊程序来处理出现的紧急事务,处理结束后,CPU⾃动返回到原来暂停的程序中去继续执⾏。

这种程序在执⾏过程中由于外界的原因⽽被中间打断的情况,称为中断。

两个重要的概念:<1> 中断服务函数:内核响应中断后执⾏的相应处理程序。

<2>中断向量:中断服务程序的⼊⼝地址。

每个中断源都对应⼀个固定的⼊⼝地址。

当内核响应中断请求时,就会暂停当前的程序执⾏,然后跳转到该⼊⼝地址执⾏代码。

⼆、CC2530的中断系统CC2530具有18个中断源,每个中断源都由各⾃的⼀系列特殊功能寄存器来进⾏控制。

可以编程设置相关特殊功能寄存器,设置18个中断源的优先级以及使能中断申请响应等。

我们常⽤的中断源有下⾯⼏个:三、CC2530的中断处理函数编写⽅法中断服务函数与⼀般⾃定义函数不同,有特定的书写格式:<1> 在每⼀个中断服务函数之前,都要加上⼀句起始语句:#pragma vector = <中断向量><中断向量>表⽰接下来要写的中断服务函数是为那个中断源服务的,该语句有两种写法:#pragma vector = 0x7B或者 #pragma vector = P1INT_VECTOR前者是中断向量的⼊⼝地址,后者是头⽂件“ioCC2530.h”中的宏定义。

<2> _ _interrupt关键字表⽰该函数是⼀个中断服务函数,<函数名称>可以⾃定义,函数体不能带有参数,也不能有返回值。

基于51单片机的外部中断实例

基于51单片机的外部中断实例

51单片机一般有两个外部中断输入端,并允许外部中断源以低电平或负边沿两种触发方式输入中断请求信号。

本例就是利用一只按钮,在按下时产生的负边沿触发外部中断。

1 硬件设计将一只按钮接在外部中断输入0(12脚),八支发光二极管分别接在P0.0~P0.7,其电路如下图所示。

⒉软件设计通过按下按钮SW触发外部中断,从而改变发光二极管D1~D8的亮、灭,当第一次按下按钮时,只有D1发光二极管亮;第二次按下按钮时,只有D2发光二极管亮;第三次按下按钮时,只有D3发光二极管亮;……第八次按下按钮时,只有D8发光二极管亮;第九次按下按钮时,D1~D8发光二极管全亮;第十次按下按钮时,D1~D8发光二极管全都不亮;第十一次按下按钮时,只有D1发光二极管亮;按钮SW触发外部中断,从而控制D1~D8亮灭的详细C51程序如下。

/***************外部中断****************/#include <reg51.h>unsigned char count=0; //外部中断计数unsigned char F0=0;main(){F0=0;IE=0X81;//打开外部中断0和总中断使能或者(EX0=1;EA=1)IT0=1; //标志位清零,开中断 ,边沿激活(或者TCON|=0X01)while(1){while(F0==0);switch(count%10){case(0): P0=0XFF;break;case(1): P0=0XFE;break;case(2): P0=0XFD;break;case(3): P0=0XFB;break;case(4): P0=0XF7;break;case(5): P0=0XEF;break;case(6): P0=0XDF;break;case(7): P0=0XBF;break;case(8): P0=0X7F;break; case(9): P0=0X00;break; }F0=0;}}void int_int0() interrupt 0 //外部中断{count++;F0=1;}。

第3章 流水灯定时及外部中断控制

第3章  流水灯定时及外部中断控制

0x40 0000
XINTF接口操作 Zone0和Zone1 Zone0和Zone1共用一个片选信号, Zone0占用的外部总线地址为0x2000~0x3FFF, Zone1占用的外部总线地址为0x4000~0x5FFF
XA[13] XA[14] XZCS0AND1
Zone0的片选 使能线
XA[13] XA[14] XZCS0AND1
CY7C1021V33-12
LED显示器的接口扩展
在本项目“LED定时闪烁系统”中,利用了XINTF接
口扩展了8位LED灯的地址。系统采用作为片选信号, 所以,基地址为0x08 0000。
同时,当XA[15]和XA[0]都为高电平时,锁存器
74HC373使能。因此,在本系统中锁存器74HC373 的地址为0x88 001。
1
DSP技术及应用
多媒体教学系统
制作:李金明
兰州石化职业技术学院
退出
2
第3章 LED流水灯的
定时及外部中断控制
主要内容

学习存储空间及外部扩展接口XINTF
CPU定时器的应用
中断的概念 外部中断的应用
流水灯控制系统电路
LED1~8 R 300Ω x8 XD0 XD1 XD2 XD3 XD4 XD5 XD6 XD7 XA0 XA15
tpr的值timerregsaddrtprall初始化定时器控制寄存器tcrtss位为1时定时器停止为0时启动定时器timerregsaddrtcrbittsstrb位为1时重新加载周期计数器的值到计数器timerregsaddrtcrbittrb定时器自由运行tie位为1时使能定时器中断timerregsaddrtcrbittievoidstartcputimer0pie控制器概述2812的cpu能够支持一个不可屏蔽中断nmi和16个可屏蔽的中断int1int14rtosint和dlogint2812内部具有很多外设每个外设又可以产生一个或者多个中断请求对于2812的cpu而言它没有足够的能力去同时处理所有外设的中断请求

《单片机应用技术》000-9(周君芝)课件 项目三 中断系统与定时计数器的应用

《单片机应用技术》000-9(周君芝)课件 项目三  中断系统与定时计数器的应用

3.1.3 中断系统的结构
IE0: 外部中断 INT0 的请求标志位。当CPU检测到外部中断请求时,该标志位置“1”;当
CPU转向中断服务程序时,由硬件自动置“0”(只适用于边沿触发方式)。 IT1和IE1:
外部中断 INT1 的触发方式控制位和请求标志位,其含义与IT0和IE0相同。
3.1.3 中断系统的结构
在电平触发方式中,当CPU转向中断服务程序时,不能自 动清除IE标志位,也不能由软件进行清除。因此应在中断返回 前撤销引脚上的低电平,否则就会产生CPU多次响应一次中断 的错误。
3.1.2 中断的特点
中断的特点主要 有分时操作、实 时处理、故障处
理等。
分时操作 实时处理
故障处理
只有当服务对象向CPU发出中断请求时,CPU才去 为它服务,无中断请求时CPU正常工作,这样单片机可 以为多个对象服务,从而大大地提高了CPU的工作效率。
利用中断技术,各个服务对象可以根据需要随时 向CPU发出中断请求,CPU可及时发现和处理中断请 求并为之服务,以满足实时控制的要求。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
功能
用于定时/计数器
用于中断
TCON的位名称、位地址及功能
IT0: 外部中断 INT0 的触发方式控制位,由软件进行置“1”和置“0”。当IT0=1时,为
边沿触发方式(即当引脚P3.2出现下降沿脉冲信号时,中断请求有效);当IT0=0时, 为电平触发方式(即当引脚P3.2为低电平信号时,中断请求有效)。
1.中断源
向CPU发出中断请求的信号称为中断源。51系列单片机中有5个中断源,其中2个外部中 断源,3个内部中断源,具体如下。
INT0 外部中断,由引脚

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 1)主程序 在发生中断前,CPU正常执行的处理程序。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 2)中断源 引起中断的原因,或发生中断申请的来源。单片机一般具 有多个中断源,如外部中断、定时器/计数器中断、ADC中 断等。
任务一 实现按键控制跑马灯启停
三、相关知识
1.中断 (4)中断嵌套和中断优先级
原主程序
1#中 断 处 理 函 数
2#中 断 处 理 函 数 3#中 断 处 理 函 数
响应
响应
响应
1#中 断 请 求 返回
2#中 断 请 求 返回
3#中 断 请 求 返回
( 中 断 优 先 级 : 3#>2#>1#)
图3.1 中断嵌套
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (1)中断的概念 “中断”是指CPU在执行当前程序时,由于系统中出现某 种急需处理的情况,CPU暂停正在执行的程序,转而执行 别一段特殊程序来处理出现的紧急事务,处理结束后, CPU自动返回原先暂停的程序中继续执行。这种程序在执 行过程中由于外界的原因而被打断的情况称为中断。
任务一 实现按键控制跑马灯启停
三、相关知识 中断部分无疑是CC2530的核心之一,要用好CC2530,就 必须掌握中断。例如,接收串口或网口的数据时,如果不 用中断,只能不停地查询。另外,如果还要查询是否有按 键按下,触摸屏是否有触摸,可以想象,CPU将深陷在诸 多的查询工作中,基本上做不了其他业务,系统的吞吐量 会很小。因此,中断是必需的。 21 个 I/O引脚都可以用作外部中断源输入口。因此如果需 要,外部设备可以产生中断。外部中断功能也可以从睡眠 模式唤醒设备。通用 I/O 引脚设置为输入后,可以用于产 生中断。中断可以设置在外部信号的上升沿或下降沿触发。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 3)中断请求 中断源要求CPU提供服务的请求。例如,ADC中断在ADC 转换结束后,会向CPU提出中断请求,要求CPU读取ADC 转换结果。中断源会使用某些特殊功能寄存器中的位来表 示是否有中断请求,这些特殊位称为中断标志位,当有中 断请求出现时,对应的标志位会被置位。
描述
RF发送完成或接收完成 ADC转换结束
USART0接收完成 USART1接收完成 AES加密/解密完成 睡眠计时器比较 I/O端口2外部中断 USART0发送完成
DMA传输完成 定时器1捕获/比较/溢出
定时器2中断 定时器3捕获/比较/溢出 定时器4捕获/比较/溢出
I/O端口0外部中断 USART1发送完成 I/O端口1外部中断
任务一 实现按键控制跑马灯启停
二、任务目标 1.训练目标 ①检验学生掌握CC2530单片机中断基本知识、CC2530中 断系统结构的技能。 ②检验学生掌握CC2530单片机中断源以及外部中断的使用 等技能。
任务一 实现按键控制跑马灯启停
二、任务目标 2.素养目标 ①培养学生在工作现场的6S意识和用电安全意识。 ②爱惜工具,注重场地整洁。 ③具备积极、主动的探索精神。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 4)断点 CPU响应中断后,主程序被打断的位置。当CPU处理完中 断事件后,会返回断点位置,继续执行主程序。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 5)中断处理函数 CPU响应中断后所执行的相应处理程序。例如,ADC转换 完成中断被响应后,CPU执行相应的中断处理函数,该函 数实现的功能一般是从ADC结果寄存器中取走并使用转换 好的数据。
单元三 外部中断应用
2018-01-28
目录
1 实现按键控制跑马灯启停 2 中断方式实现按键控制LED灯开关
任务一 CC2530实现LED跑马灯
一、任务描述 编写程序使用SW1按键控制CC2530板上LED1、LED2、 LED3和LED4的亮、灭状态,使它们以跑马灯方式工作,即 ①通电后LED1、LED2、LED3和LED4都熄灭。 ②延时一段时间后LED1点亮。 ③延时一段时间后LED2点亮,此时其他灯都处于熄灭状态。 ④延时一段时间后LED3点亮,此时其他灯都处于熄灭状态。 ⑤延时一段时间后LED4点亮,此时其他灯都处于熄灭状态。 ⑥返回步骤②循环执行。 在任何时间,当按下一次SW1按键后,便暂停跑马灯效果。 直到再按下一次SW1按键后,跑马灯效果从暂停状态继续 执行。
Байду номын сангаас
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (2)中断的作用 中断使计算机系统具备应对突发事件的能力,提高了CPU 的工作效率。如果没有中断系统,CPU就只能按照程序编 写的先后次序,对各个外设进行依次查询和处理,即轮询 工作方式。轮询方式貌似公平,但实际工作效率很低,且 不能及时响应紧急事件。
任务一 实现按键控制跑马灯启停
中断号
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
表3.1
中断名称 RFERR
ADC URX0 URX1 ENC
ST P2INT UTX0 DMA
T1 T2 T3 T4 P0INT UTX1 P1INT RF WDT
CC2530的中断源
RF通用中断 看门狗计时溢出
中断向量
03H 0BH 13H 1BH 23H 2BH 33H 3BH 43H 4BH 53H 5BH 63H 6BH 73H 7BH 83H 8BH
任务一 实现按键控制跑马灯启停
三、相关知识 2.CC2530的中断系统 (2)CC2530中断源的优先级 CC2530将18个中断源划分成6个中断优先级组IPG0~ IPG5,每组包括3个中断源,如表3.2所示。。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (3)相关概念 6)中断向量 中断处理函数的入口地址,当CPU响应中断请求时,会跳 转到该地址去执行代码。
任务一 实现按键控制跑马灯启停
三、相关知识 1.中断 (4)中断嵌套和中断优先级 当有多个中断源向CPU提出中断请求时,中断系统采用中 断嵌套的方式依次处理各个中断源的中断请求。
相关文档
最新文档