有关单片机中断系统的概念:什么是中断,我们从一个生活中的例程引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。
第一、什么可经引起中断,生活中很多事件能引起中断:有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了….等等诸如此类的事件,我们把能引起中断的称之为中断源,单片机中也有一些能引起中断的事件,8031中一共有5个:两个外部中断,两个计数/定时器中断,一个串行口中断。
第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃响了,同时又有人按了门铃,你该先做那样呢?如果你正是在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不是等人上门),你可能会按你常常的习惯去处理。总之这里存在一个优先级的问题,单片机中也是如此,也有优先级的问题。优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已产生,又有一个中断产生的情况,比如你正接电话,有人按门铃的情况,或你正开门与人交谈,又有电话响了情况。考虑一下我们会怎么办吧。
第三、中断的响应过程:当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不一样的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不一样的中断,我们要在不一样的地点处理,而这个地点常常还是固定的。计算机中也是采用的这种办法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。具体地说,中断响应能分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据5个不一样的中断源所产生的中断,查找5个不一样的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。究竟单片机是怎么样找到中断程序所在位置,又怎么返回的呢?我们稍后再谈。
MCS-51单片机中断系统的结构:
5个中断源的符号、名称及产生的条件如下。
INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
T1:定时器/计数器l中断,由T1计满回零引起。
TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。
整个中断系统的结构框图见下图一所示。
关键字:51单片机 中断系统 优先级
引用地址:
51单片机的中断系统
推荐阅读最新更新时间:2024-03-16 13:11
基于51单片机ADC0808的proteus仿真
使用ADC0808的IN0通道,输入CLOCK为500KHZ,采用AT89C51单片机 ADC0808的ADDA、ADDB、ADDC为000对应通道IN0 ADC0808的ADDA、ADDB、ADDC为001对应通道IN1 ADC0808的ADDA、ADDB、ADDC为010对应通道IN2以此内推。 START和ALE可以共用一个I/O口,它们是同步的。 本文采用IN0通道所以ADDA、ADDB、ADDC直接接地。 数码管显示部分代码,数码管采用共阴极显示 #include REGX52.H #include Delay.h sbit we1=P3^0; sbit we2=P3^1; sbit w
[单片机]
51单片机一些指令注意事项
1,当使用push 指令时,如push acc 这个时候,51完成操作是:sp+1- sp,(acc)- (sp), 也就是sp指向的地址中一定是有数据的 由此可推出当执行pop acc时,应该是: (sp)- (acc),sp-1- sp 2使用jc,jnc,jb,jnb;还有jz,jnz的区别 jc rel ;进位标志位为1则转移 jnc rel ;进位标志位位0则转移 jb bit,rel ;直接寻址位为1则转移 jnb bit,rel ;直接寻址位为0则转移 jz rel ;累加器为0则转移 jnz rel ;累加器为1则转移 从上面的指令中你可以看出,前两
[单片机]
基于普通51单片机的LIN协议实现方案
1 概述 LIN协议是新出现的一种新型低成本串行通信总线,其全称是Local Interconnect Network,即局部互联网络。它最开始出现于汽车行业,是为解决汽车智能化和网络化的发展要求和降低汽车制造成本的矛盾而提出来的一种串行总线协议,主要用于车门、车灯等需要简单控制但又要求智能控制的场合。它的主要特点是:采用单个主控制器/多从设备通信模式;基于普通UART/SCI接口硬件实现,协议简单;网络传输速率不高,最高可达20kb/s。由于LIN协议的突出特点是协议对硬件的依赖程度低,可以基于普通单片机的通用串口等硬件资源以软件方式实现,成本低廉,因此可广泛应用于汽车行业以外的其他领域,如智能家庭网络内部的数据传输、节点控
[单片机]
51单片机向PC电脑发送汉字的方法
简介:最近看到有朋友在网上问单片机怎么向电脑发送一串汉字这个问题,其实这个问题也不难.呵呵.只要把相关的参数设置好一些,然后把汉字定义成一组字符向电脑发送就可以. 为了让大家更明确的了解,我就写了下面的一个程序来演示一下. 操作条件: 1.XP操作系统. 2.XP的超级终端显示. 3.WJ-V4.0开发板. 4.单片机STC89C52. 5.晶振11.0592M 操作步骤: 1.设置TMOD设置波特率和定时器1的工作方式. 2.设置定时器的初始值. 3.设置串行口工作方式. 4.设置波特率不加倍. 5.打开TR1允许发送. 6.启动定时器. 7.串行中断打开. 8.打开E
[单片机]
【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO
【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO口的结构,上下拉电阻 1、单片机IO口的结构 单片机IO口有四种结构:准双向IO,开漏输出、强推挽输出和高阻态输出。内部结构如下图。 T1和T2为MOS管,靠电压导通的原件。(1)准双向IO口特点:内部输出为1,才能正常读取外部信号。(2)开漏输出特点:必须外加上拉电阻,不然单片机IO电平是个不确定的态。(3)强推挽输出特点:可输出或输入高电流,驱动能力强。(4)强阻态特点:状态取决与外部输入。 标准51单片机P0默认开漏输出。 2、上下拉电阻 上下拉电阻:上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻也起限流作用,下拉电阻同理。 上拉电
[单片机]
利用51单片机制作廉价盒仔机器人
一、盒仔机器人 BOXZ,昵称盒仔,是一款开源的互动娱乐平台!百度一下,有很多盒仔的制作教程,基本都是用arduino制作完成的。假期没事,带着宝宝们用51制作了一个廉价的BOXZ。先上张图: 从图上不难看出,为了宝宝们易于接受,我把盒仔的手机摇控改成了用线控的方法,做了一个简易的摇控器。 二、材料准备 以上原器件,某宝网上都有。另外,制作中需要用到壁纸刀、电钻、钢尺、胶水等工具。 三、外壳及皮肤制作 1、外壳的制作 (1)下载模板 下载地址:https://yunpan.cn/crIvLu9R8xVyI 访问密码 9fe1 从上面的下载地址下载模板,打印出来,然后将硬纸板切割成图
[单片机]
89c51单片机控制两个步进电机正反转加减速
序有详细注释。 仿真原理图如下 单片机源程序如下: /******************************************************************************* * 实 验 名: 步进电机实验 * 使用的IO: 电机用P1口,键盘使用P2.0、P2.1、P2.2、P2.3、P2.4、P2.5 * 按键功能:K1;正转 K2;反转 K3;低速转动 K4;高速转动 K5:电机切换 K6;停止 * 实验效果: 按下K1键,顺时针转,按下K2键,逆时针转,按下K3键,低速,按下K4键,高速。 按下K5键,转动的电机停止,并切换到控制另一个电机 按下K6键,转动的电机停止
[单片机]
由FWl22-M构成的短距离无线数据通信系统
摘要 利用AT89LV52单片机作控制器,实现基于RFWaves公司的射频芯片RFWl22-M的短距离无线数据通信系统;分析射频芯片RFWl22-M及其与单片机的接口芯片RFW-D100的特点;给出系统的硬件原理框图厦软件流程图。对应用于该装置的无线数据传输协议CSMA进行分析,并且在对固件的编程配置中加以实现, 关键词 无线数据通信系统 RFWl22-M RFW-D100 AT89LV52 CSMA协议 目前,短程射频通信技术是一种热门技术,已广泛应用于实际中。主要有无线局域网(WLAN)、个人区域网络(PAN)及无线短距离消费类产品(如中低速数据传输应用,有效范围在30m以内)。该通信技术的标准有ⅢEE80
[安防电子]