微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机 中断1中断整体介绍

51单片机 中断1中断整体介绍

时间:11-19 来源:互联网 点击:
简单介绍--[高手绕过这一段;心急的直接跳到下一部份]

>_<:51单片机上的应用[应用控制篇]

>_<:MCS51的中断

外部中断请求源:即外部中断0 和1,经由外部引脚引入,在单片机上有两个引脚,外称为INT0、INT1,也就是P3.2、P3.3这两个引脚

>_<:MCS51的中断向量表

单片机内部的中断模块在每个CPU周期都查询各个中断源的状态,当其发生预期的中断事件时,通知CPU将程序跳转到中断服务程序所在的程序存储器(ROM)地址。该地址称为中断向量。

中断的实质仍然是查询,只是不需要用户程序查询,不占用CPU运行时间而已。

51系列只有5个中断向量,5X系列还增加一个定时器2的中断向量

——————————————————————————————
地址中断入口 中断编号
——————————————————————————————
0x0 复位
0x3 外部中断00
0xB 定时器01
0x0013 外部中断1 2
0x001B 定时器1 3
0x0023 串口4
0x002B 定时器2(5x系列新增的) 5
——————————————————————————————

>_<:MCS51中断运行的机里

以INT0为例:中断模块在每个CPU时钟周期都查询P3.2的状态,当输入的电平由高电平变为低电平时,CPU的程序运行会立即跳转的到地址0x03。处理INT0中断的代码放在地址为0x03开始的ROM区域。c语言中采用一类特殊的函数来实现此代码定位的功能,叫做 中断服务函数,格式如下:

void 函数名()interrupt N

函数名可以任意,但一般要用一个有意义的函数名,N代表中断向量编号。

>_<:中断控制寄存器IE

MCS51中断系统中,中断的允许或禁止是由片内可以进行位寻址的8位中断允许寄存器IE来控制的。

EX0 :外中断0中断允许

ET0 :定时器0中断允许

EX1 :外中断1中断允许

ET1 :定时器1中断允许

ES :串行口中断允许

ET2 :定时器2中断允许

EA :是总开关,若为0,则所有中断都不允许。

>_<:中断标志及外部中断方式选择寄存器 TCON

IT0 :INT0触发方式控制位,边沿/电平触发模式

IE0 :INT0中断请标志,

IT1 :同上

IE1 :同上

TF0 :定时器/计数器0的溢出中断标志

TF1 :定时器/计数器1的溢出中断标志

>_<:外部中断的2种触发模式

触发模式由IT0和IT1控制。

1)边沿触发:IT0(IT1)=1,INT0(INT1)为边沿触发方式。如果一个周期中采样到高电平,下个周期中采样到低电平,则硬件使IE0(IE1)置1,向CPU请求中断。

2)电平触发:IT0(IT1)=0,INT0(INT1)为电平触发方式。此时外部中断是通过检测P3.2(P3.3)脚的输入电平(低电平)来触发的。采用电平触发时,输入脚的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使用电平变高,否则将会再次产生中断。

一般采用边沿触发方式,因为此模式抗干扰能力较强,极少采用电平触发模式。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top