51单片机中断详解(中)

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

一.外部中断相关寄存器

1.定时器/计数器控制寄存器控制寄存器(TCON) 
这里写图片描述 
IT0:外部中断0触发方式控制位 
当IT0=0时,为电平触发方式(低电平有效) 
当IT0=1时,为边沿触发方式(下降沿有效) 
IT1:外部中断1触发方式控制位 
当IT1=0时,为电平触发方式(低电平有效) 
当IT1=1时,为边沿触发方式(下降沿有效)

2.中断允许控制寄存器(IE) 
这里写图片描述 
EX0:外部中断0允许位; 
EX1:外部中断1允许位; 
EA :CPU中断允许(总允许)位。

二.外部中断的处理过程

1、设置中断触发方式,即IT0=1或0,IT1=1或0 
2、开对应的外部中断,即EX0=1或EX1=1; 
3、开总中断,即EA=1; 
4、等待外部设备产生中断请求,即通过P3.2,P.3.3口连接外部设备产生中断 
5、中断响应,执行中断服务函数

三.程序编写

要求:通过两位按键连接外部中断0和1,设定外部中断0为下降沿触发方式,外部中断1为低电平触发方式,按键产生中断使数字加减,用一位共阳极数码管来显示数值。 
目的:感受外部中断对程序的影响,体会低电平触发和下降沿触发的区别。

#include

#define uint unsigned int 

#define uchar unsigned char 

uchar code dat[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uint num;


void main()

{

    EA=1;      //开总中断

    IT0=1;     //下降沿触发

    IT1=0;     //低电平触发

    EX0=1;     //外部中断0允许

    EX1=1;     //外部中断1允许

    while(1)

    {

        P0=dat[num%10];

    }

}


void plus() interrupt 0     //外部中断0

{   

  EX0=0;  

  num++;  

  EX0=1;

}


void minus() interrupt 2   //外部中断1

{

  EX1=0;

  num--;

  EX1=1;

}


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

上一篇:51单片机之——外部中断0(INT0)
下一篇:51单片机之——中断的概念

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

基于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