51单片机的中断体系结构

发布者:电子设计探索者最新更新时间:2015-01-19 来源: 51hei关键字:51单片机  中断体系结构  中断系统 手机看文章 扫描二维码
随时随地手机看文章
80C51的中断系统有5个中断源(8052有 6个),2个优先级,可实现二级中断嵌套 。MCS-51系列单片机中断系统的机构如下:

与中断系统相关的特殊寄存器:
1)中断允许控制寄存器(IE)------ 控制各中断的开放和屏蔽
2)中断优先级控制寄存器(IP)------设置各中断的优先级
3)定时器/计数器控制寄存器(TCON)----定时器和外部中断的控制
4)串行口控制寄存器(SCON)------串行中断的控制
 
中断类型分为三类:
1)T0、T1是2个定时器/计数器中断,由片内定时器提供;
2)INT0、INT1是2个外部中断,由引脚P3.2和P3.2提供;
3)RX、TX为串行口中断所用,由片内串口提供。
 

 
 
 
1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2/P3.3引脚上出现有效的中断信号时,中断标志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申请中断。
 
3、TF0(TCON.5)/TF1(TCON.7),片内定时/计数器T0/T1溢出中断请求标志。当定时/计数器T0/T1发生溢出时,置位TF0/TF1,并向CPU申请中断。
 
5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
 
上述只是向CPU申请中断,如果要得到CPU的相应,还要设置相应的中断允许IE和优先级IP,中断方能的到响应。
 
1)定时器中断的使用(以定时器0为例)
 ……
 TMOD |= 0x01 | 0x04;  //使用模式1,16位计数器,使用"|"符号可以在使用多个定时器时不受影响     
 TH0=0xFF;      //给定初值
 TL0=245;         //从245计数到255 
 EA=1;            //总中断打开
 ET0=1;           //定时器中断打开
 TR0=1;           //定时器开关打开
 
void Timer0_isr(void) interrupt 1 using 1    //中断服务程序
{
 TH0=0xFF;      //重新给定初值
 TL0=245; 
 
 ……
}
2)外部中断的使用(以外部中断0为例)
  …………
  EA=1;          //全局中断开
  EX0=1;         //外部中断0开
  IT0=0;         //电平触发
 
void ISR_Key(void) interrupt 0 using 1 //中断服务程序
{
…………
}
3)串行口中断的使用
……
关键字:51单片机  中断体系结构  中断系统 引用地址:51单片机的中断体系结构

上一篇:基于C8051F040的CAN总线技术的多节点通信网络设计
下一篇:51单片机仿真实例

推荐阅读最新更新时间:2024-03-16 13:51

51单片机使用C语言点亮闪烁LED灯
导语 下面是点亮51单片机使用C语言闪烁LED灯的的一段代码,也是我们迈入C51的第一步。我们将从头开始,一步步讲解下面的程序。 #include #define uchar unsigned char #define uintunsigned int sbit LED= P1^0; void main() { LED=0; while(1) { LED=0; delay(1000); LED=1; delay(1000); } } void delay(uchar ms) { uint x=0, y=0; for(x=xms;x =0;x--) for(y=110;y =0;y--); } .C to .Hex 在从编写
[单片机]
基于80C51单片机——中断小结
最近看了一下80C51单片机的中断部分的实验,做一些笔记,方便以后学习查找。 首先说一下什么是中断吧,中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设(外部设备)请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去执行相应的服务处理程序;当服务处理程序运行完毕之后,CPU再返回到暂停处继续执行原来的程序。 那什么是中断嵌套呢?简单点说就是低优先级的中断可以被高优先级的中断源所中断,等高优先级中断服务程序结束后,再返回去执行被中断的的低优先级的中断服务程序。 举个简单的栗子吧(之前写过但不知道怎么删了,,又让我重新编辑):比如我们就是一个CPU,我们当前在洗衣服(当前程序),突然电话铃声响了(中断来了)
[单片机]
51单片机C语言教程(二) 认识51单片机
上一课我们的第一个项目完成了,可能有懂C语言的朋友会说, 这和PC机上的C语言没有多大的区别呀 。的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的改变。编写PC机的C程序时,如要对硬件编程你就必须对硬件要有一定的认识,51 单片机 编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后的教程中就以Atmel公司的AT89C51和AT89C2051为中心对象来进行学习,两者是AT89系列的典型代表,在爱好者中使用相当的多,应用
[单片机]
<font color='red'>51单片机</font>C语言教程(二) 认识<font color='red'>51单片机</font>
51单片机CPU的基本构成及作用
单片机是什么,是在一个集成硅片中集成了一些部件,构成了一个微型的计算机系统的东西,这些只是对单片机的基础概念是简单了解,会用单片机C语言的编程来实现一些简单的ALU的操作,但是这些还是远远不够的,我们还需要了解单片机的运行机制,工作原理。 这一期来了解一些关于单片机的其他重要知识,51单片机的CPU是多少位,CPU的主要作用是什么,51单片机它的基本构成是由哪些部件或者哪些东西来构成的。 51单片机它的CPU位数是多少位? 51单片机是8位的CPU,表示数据处理一次能够处理的数据的位宽是8个比特位,也就是一个字节,这个叫做它的位数,51单片机除了具备八位的CPU之外,实际上它有两个,它还有一个位处理器,一个字节处理器,所以
[单片机]
<font color='red'>51单片机</font>CPU的基本构成及作用
30-基于51单片机出租车计价器(霍尔测速)
具体实现功能 系统由AT89C52单片机+霍尔传感器模块+LCD1602液晶屏+DS1302时钟模块+AT24C02掉电存储模块+直流电机+按键模块+电源构成。 具体功能: 1、无乘客模式:显示当前时间; 2、切换到乘客模式:可以显示起步价(三公里内)、单价(三公里后)、总价(元)、里程和乘车时间,可以按照里程或计时两种模式收费; 3、里程模式收费:在高速情况下,按照起步价和里程单价收费 4、计时收费模式:在低速情况下,按照计时时间和时间单价收费 5、按清零键,计价器可清除计价。 6、可以设置白天和夜晚的起步价、单价,可以设置计时模式的单价; 7、根据当前时间,白天和夜晚的收费不同。 液晶显示的
[单片机]
30-基于<font color='red'>51单片机</font>出租车计价器(霍尔测速)
基于51单片机的红外电子密码锁的设计
本设计包含两个51单片机和一个proteus自带的红外组件IRLINK来模拟实现红外通信:1)一个单片机模拟发送密码信号; 2)一个单片机接收密码信号并通过电磁线圈控制锁的开或者关; 3)使用proteus自带的红外组件IRLINK的发射端模拟第一个单片机发射红外信号; 4)使用proteus自带的红外组件IRLINK的接收端模拟接红外信号并经过光电转换成电信号送入第二个单片机(红外电子密码锁的控制器) 以下是电路图的设计: 电路图设计 以下是红外通信的部分程序 #include reg52.h //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16
[单片机]
基于<font color='red'>51单片机</font>的红外电子密码锁的设计
基于51单片机的多功能时钟温度计 DS1302+LCD1602
本设计是由STC89C52单片机为控制核心,具有在线编程功能,低功耗;时钟电路由DS1302提供,它是一种高性能、低功耗的时钟电路,工作电压为3V~5V;所以采用DS1302作为本设计的日历芯片;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、晶显示部分组成。 电路原理图如下: 制作出来的实物图如下: Altium Designer画的
[单片机]
基于<font color='red'>51单片机</font>的多功能时钟温度计 DS1302+LCD1602
采用VB软件与AT89S51单片机的温度测控系统设计
  0 引言   在现代测控系统中,由于PC机具有强大的数据处理能力和良好的用户交互界面,单片机具有较强的现场抗干扰能力及良好的性价比,因此以PC机为上位机实施用户控制和以单片机为下位机进行实时数据采集的分布式智能化控制系统无疑具有很好的应用前景。本文中单片机实现了温度检测,具有较好的实时性;PC机完成了数据显示、存储及统计分析,绘制了实时温度曲线,并对系统目前所处状况做出了评判。两者之间以串行口进行通信联络。   l 数据采集系统的硬件基础   该系统的下位机选择Atreel公司的AT89S51单片机作为控制核心,负责采集现场温度值。温度传感器将温度转换为电压信号,经模/数转换器ADC0809转换成8位数字量,并经AT89S
[单片机]
采用VB软件与AT89S<font color='red'>51单片机</font>的温度测控系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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