c51单片机中断认知

发布者:RadiantRiver最新更新时间:2016-12-14 来源: eefocus关键字:c51  单片机  中断认知 手机看文章 扫描二维码
随时随地手机看文章

包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置:

PX0(IP.0),外部中断0优先级设定位;
PT0(IP.1),定时/计数器T0优先级设定位;
PX1(IP.2),外部中断0优先级设定位;
PT1(IP.3),定时/计数器T1优先级设定位;
PS  (IP.4),串行口优先级设定位;
PT2 (IP.5)    ,定时/计数器T2优先级设定位。

从这张图里我们可以看出:

EA是中断控制位,EA=1开放中断,EA=0屏蔽所用中断(编程时人为设定)

那EA是在哪里进行设置的呢?它就是在IE(中断允许寄存器)里进行设定的

第七位就是EA,剩下的还有第四位的ES,第三位的ET1,第二位的EX1,第一位的ET0和第零位的EX0,是不是在上图中都能看到他们的影子?没错,要不IE能称为中断允许寄存器嘛?是不是他先是设定总允许中断,然后再设定其它的中断是不是允许的,接下来我们再来看其它中断允许位

ES:串行口中断开放控制位,ES=1,响应串行口中断,ES=0,禁止串行口中断

ET1:T1溢出中断开放控制位,ET1=1,响应T1溢出产生的中断;ET1=0,禁止T1溢出产生的中断

EX1:外部中断1开放控制位,EX1=1,响应外部中断,EX1=0,禁止外部中断

ET0:功能同ET1,对应T0

EX0:功能同EX1,对应外部中断0

这样,中断是否开启就由你说了算了,你要用什么直接就可以控制对应的中断和总中断EA就可以了。

现在我们开启了中断,cpu就会检测对应的中断是否到来,那如何检测的呢?接下来我们就要用到另外几个有用的位了

TCON的第七位TF1,第五位TF0,第三位IE1,第一位IE0

SCON的第一位TI,第零位RI。

RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。

 

TF1:T1当定时时间到或是当计数个数到的时候,会触发TF1位,然后CPU检测TF1位,执行对应的中断,响应中断后,硬件清零。

TF0:对应于TF1

IE1:外部中断请求标志,外部中断执行,请求中断,对应IE1=1,CPU响应中断,硬件对IE1清零。

IE0:对应IE1

但是对于外部中断,却有两种中断触发方式,一种是低电平触发,一种是下降沿触发。我们对于不同情况要进行不同的控制,那什么对这两种方式进行先择呢?我们看TCON的第二位和第零位是没有用的,就是他们两个,第二位IT1对应外部中断1,第零位IT0对应外部中断0,给他们高电平就为下降沿触发,给他们低电平就为低电平触发。

这样对于中断的了解就比较清楚了吧!接下来的内容里我们会通过学习其它内容,对这里有更深入的了解。

附:中断优先权图


关键字:c51  单片机  中断认知 引用地址:c51单片机中断认知

上一篇:C51 中断服务程序的写法
下一篇:Keil C51中断程序规则

推荐阅读最新更新时间:2024-03-16 15:25

单片机 十字路口交通灯
电路图: 代码如下: #include reg51.h unsigned char h,i ,j,k,x; char code num ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0xFF,0x6F}; void delay1s(unsigned char l) { for(;l 0;l--) for(h=5;h 0;h--) for(i=4;i 0;i--) for(j=116;j 0;j--) for(k=214;k 0;k--); } void main() { while(1)
[单片机]
<font color='red'>单片机</font> 十字路口交通灯
单片机的常见输入输出电路介绍(一)
针时电气控制产品的特点,讨论了几种单片机常用输入/ 输出电路 的设计方法,对合理地设计电气控制系统,提高电路的接口能力,增强系统稳定性和抗干扰能力有实际指导意义。   引 言   传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关,操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。   1 输入电路设计   一般输入信号最终会以
[模拟电子]
<font color='red'>单片机</font>的常见输入输出电路介绍(一)
大虾谈51单片机入门!
回想起当初学习AT89S52的日子还近在眼前:毕业后的第一年呆在亲戚公司做了10个月设备管理.乏味的工作和繁杂的琐事让我郁闷不已.思考很久后终于辞职.投奔我的同学去了,开始并不曾想到要进入工控行业,知识想找一份电子类技术职业,至于什么职业我根本没有目标可言.经过两个多月的挫折后我静下来思考,并上网查询一些前辈经验,又经过快2周的考虑我决定先自学单片机,毕竟电子信息专业的,有一点基础.于是买来了开发板(我还在这个论坛上发过小程序呢),下来了大量的资料,几乎很多是从本论坛下载的,我还是得感觉这么多的前辈啊,他们的经验让新人少走了很多弯路.我说下我的学习过程,每个人有每个人的学习方法,希望至少能给刚进入的朋友们一点信心吧. 语言选择:
[单片机]
单片机C程序main函数之前做了什么
在测试c语言单片机程序的时候,发现在main函数的执行之前,有很长的一段时间的延时,单片机在这段时间在做什么?进行了一下分析,得到结论如下: C程序 #include reg51.h sbit p1_7=P1^7; void interrupt0() interrupt 0 using 2 { p1_7=!p1_7; } void main() { EA=1; IT0=1; EX0=1; p1_7=0; do{}while(1); } 生成的机器码: :03000300020006F2   中断入口 :03000600B297327C   中断程序 :0B000900D2AFD288D2A8C29780FE229E 
[单片机]
Atmel和Lead Tech Design合作开发基于AT91CAP可定制微控制器的视频SoC
Lead Tech Design负责视频专业技术和IP构件,爱特梅尔则提供可定制微控制器解决方案 爱特梅尔公司 (Atmel Corporation) 和法国 Lead Tech Design (LTD) 宣布达成一项合作协议,将携手为其共同的客户开发视频系统级芯片 (systems-on-chip, SoC)。此项合作将以爱特梅尔的AT91CAP可定制微控制器为基础,并结合LTD的视频设计专业技术及其硬件和软件IP构件,创造双赢局面。 按照该项协议,LTD将负责直接与客户沟通,把客户的设计技术要求转换成AT91CAP可定制微控制器的金属可编程部分的网表 (netlist),并利用LTD 广泛的视频信号处理功能库组合所需的IP
[焦点新闻]
如何能学好单片机
单片机是硬件设备,不像软件的东西,网上下载一个就可以了,需要投资,但是这投资,相对于计算机,相对于手机,MP4,甚至学费,真是小的太可怜了,学习是为自己投资,一定要舍得投入,才能有收获。算算投资回报率,学单片机买各种各样工具的投入可能只是你未来获得一份工作的月工资的几分之一甚至是几十分之一。 具体需要花多少钱,这个没有个非常准确的数,看你学到什么样的水平。在社会上有单片机培训动则收费几千,如果效果能够得到保证,那么你去参加是值得的,但是大多数的培训都功利性太强,还是靠自己更靠谱一些。几千元的培训,如果真的能有效果,值得参加,那么大家就该知道学单片机需要花多少钱了吧。 只是想最简单的在计算机上模拟学习一下,一分钱都不用投资,但是这
[单片机]
avr单片机 串口实现printf(使用变参函数)
#include #include #include typedef unsigned char uint8; static void usart_init(void) { UCSRA = 0x02; UCSRB = 0x18; UCSRC = 0x06; UBRRH = 0x00; UBRRL = 103; } static void put_char(uint8 data) { if (data == '/r') put_char(0x09); while ( !(UCSRA & (1 UDRE
[单片机]
51单片机--定时器测量脉宽
阅读数:476 学51也算有一段时间了 以前学的相当的粗糙 很多原理性的东西 都不知道 今天上课的时候听老师说 这个LOW的单片机可以测量脉宽 去手册上看了一下 加上课本上说的 卧槽 真的可以 哈哈 直接上手册上的来说吧 就是这个东西 TMOD寄存器中的那个GATE位 很明显 手册中说道 当这位置1的时候 只有在INT0(P3.2)引脚为高电平的时候 并且TR0或者TR1置位的时候 定时/计数器才打开 我们就可以利用这个特点来测量一个脉冲的高电平的宽度 就是这个高电平的持续时间 那么怎么测量呢 说一下思路 首先 我们让门控位GATE=1 并且启动定时/计数器 TR0 但是这时候寄存器TH0 TL0里面的数值并不会增加
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved