51单片机中断详解(上)

发布者:雅意盎然最新更新时间:2018-05-30 来源: eefocus关键字:51单片机  中断详解 手机看文章 扫描二维码
随时随地手机看文章

一.中断的概念

  1. 中断发生 
    CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理

  2. 中断响应和中断服务 
    CPU暂时中断当前的工作,转去处理事件B

  3. 中断返回 
    待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A 
    这一过程称为中断

二.中断过程示意图

这里写图片描述

三.MCS51中断系统的结构

MCS51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套

中断编号中断名中断源
0外部中断0IE0(P3.2)
1定时器0溢出中断TF0
2外部中断1IE1(P3.3)
3定时器1溢出中断TF1
4串行口中断RI

四.中断寄存器

单片机有10个寄存器主要与中断程序的书写控制有关

  1. 中断允许控制寄存器IE

  2. 定时器控制寄存器TCON

  3. 串口控制寄存器SCON

  4. 中断优先控制寄存器IP

  5. 定时器工作方式控制寄存器TMOD

  6. 定时器初值赋予寄存器(TH0/TH1,TL0/TL1)

五.部分寄存器详解

1.中断允许控制寄存器(IE) 
这里写图片描述 
EX0:外部中断0允许位; 
ET0:定时/计数器T0中断允许位; 
EX1:外部中断1允许位; 
ET1:定时/计数器T1中断允许位; 
ES :串行口中断允许位; 
EA :CPU中断允许(总允许)位。 
2.定时器/计数器控制寄存器控制寄存器(TCON) 
这里写图片描述 
IT0:外部中断0触发方式控制位 
当IT0=0时,为电平触发方式(低电平有效) 
当IT0=1时,为边沿触发方式(下降沿有效) 
IE0:外部中断0中断请求标志位 
IT1:外部中断1触发方式控制位 
IE1:外部中断1中断请求标志位 
TF0:定时/计数器T0溢出中断请求标志位 
TF1:定时/计数器T1溢出中断请求标志位 
3.串行口控制寄存器(SCON) 
这里写图片描述 
RI:串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。 
TI:串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。 
4.中断优先级控制寄存器(IP) 
这里写图片描述 
PX0:外部中断0优先级设定位 
PT0:定时/计数器T0优先级设定位 
PX1:外部中断0优先级设定位 
PT1:定时/计数器T1优先级设定位 
PS :串行口优先级设定位 
PT2:定时/计数器T2优先级设定位

六.中断响应条件

  1. 中断源有中断请求

  2. 此中断源的中断允许位为1

  3. 开中断(即EA=1)


关键字:51单片机  中断详解 引用地址:51单片机中断详解(上)

上一篇:学习开发单片机的8个重点
下一篇:51单片机中断优先级以及嵌套

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

基于STC89C51单片机的电子琴设计
0 引言 随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片STC89C5l为中心器件,辅以小键盘、LCD显示和功放电路及扬声器等来设计电子琴系统。同时详细论述了该系统的设计过程及关键技术。 1 系统硬件组成 电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1所示。 1.1 单片机STC89C51简介 STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C51可以代替AT89C51,而且功
[单片机]
51单片机不适合做数据采集吗
想做一个简易数据采集卡。包含一个TLC1543(10位串行AD转换),一个51单片机以及其他一些小零件。关键是使用串行通信发送给计算机。由于我没有基础,是通过做这个设计来学习单片机的,所以对结果的预料不足。在我花费了很长时间做,到现在接近尾声时发现,要走自定协议的话51串行通信的速度跟不上!! 以下是我做过的两个通信测试实验: (1)不使用协议 我正确地把AD转换器与单片机相连,采集一个电压(例如3.2V)。我的程序大概如下: while(1) { TLC1543(); //进行AD转换 sent(); //把转换结果发送给计算机 } TLC1543是10位转换器,所以要用2个字节来保存。但我只发送高8
[单片机]
51单片机使用DAC0832编程输出方波,锯齿波,三角波,正弦波
#include reg51.h #include math.h #define uchar unsigned char #define uint unsigned int #define PI 3.1415925 float alph; void delayms(uint x) { uchar i; while(x--); { for(i=0;i 123;i++); } } main() { uchar i; while(1) { for(alph=0;alph 2*PI;alph+=0.1) { P2=1
[单片机]
<font color='red'>51单片机</font>使用DAC0832编程输出方波,锯齿波,三角波,正弦波
基于51单片机的红外线遥控器解码程序设计
描述 下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把红外遥控器每一个按键的键值读出来,并且通过实验板上P1口的8个LED显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。 ;================================================= ; 红外遥控接收 ;================================================= ; ew51仿真编程器 配套实验板学习例程 ; ; 中山单片机学习网 智佳科技 逸风 ; ; http://www.zsMCU.com ; E-mail:info@zsmcu.com ;===============
[单片机]
基于<font color='red'>51单片机</font>的红外线遥控器解码程序设计
基于AT89S51单片机的动态数码显示设计
1. 实验任务 如图所示,AT89S51单片机 P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。 2. 电路原理图 3. 系统板上硬件连线 (1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上; (2. 把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; (3. 把“单片机系统”区域中的P1.7端口用导线连接到“独立式键盘”区域中的SP1端口上; 4. 程序设计内容
[单片机]
基于AT89S<font color='red'>51单片机</font>的动态数码显示设计
AT89C2051单片机驱动步进电机的电路和源码
程序 stepper.c stepper.hex /* * STEPPER.C * sweeping stepper''s rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #include c:\mc51\8051io.h /* include i/o header file */ #include c:\mc51\8051reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step =
[单片机]
AT89C20<font color='red'>51单片机</font>驱动步进电机的电路和源码
51单片机【四】蜂鸣器 晶振 单片机频率
莫名想起小时候电脑开机自检时的声音 当然平时洗衣机空调什么的也有 蜂鸣器原理就是两个铁片让其中一个的一端正负极不停的变换从而拍击另一个产生声音 蜂鸣器分有源和无源蜂鸣器 有源指的是外部只需要供电即可响 无源指的是外部必须给一个变化的供电 ULN2003D 是类似于74HC573的一个放大器 蜂鸣器的BZ接在它的OUT5上 而CPU一端接在P15 因此使用P15控制 void BuzzerOnOff(void) { gBuz = 1; delay1ms(); gBuz = 0; delay1ms(); } 文末有晶振很具体的原理介绍,简要来说就是利用石英给它外部电压它能向表一样来计时给处理器参考
[单片机]
<font color='red'>51单片机</font>【四】蜂鸣器 晶振 单片机频率
STM32中断系统详解
1.中断的基本概念 1.1处理器中的中断:在处理器中,CPU正在执行某一段代码时遇到内部或者外部的紧急事件需要处理,暂停当前执行的代码、转而去处理紧急事件,处理完毕后继续执行之前的代码。 1.2中断的意义:中断可以提高CPU运行的效率、避免对某一事件状态的不断轮询损耗CPU资源,同时可以对紧急事件做实时处理;中断在计算机多任务处理中尤为重要(如:uCOS、FreeRTOS),可以实现多线程、多任务的处理; 1.3中断处理的过程:进入中断之前处理器将自动保存现场到堆栈中(现场:程勋运行的当前位置、变量的值等),根据中断向量表中的地址运行对应的中断服务程序,在退出中断前处理器会将之前保存在堆栈中的现场进行恢复(称之为出栈)、完
[单片机]
STM32<font color='red'>中断</font>系统<font color='red'>详解</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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