8051中断源

发布者:画意人生最新更新时间:2016-10-23 来源: eefocus关键字:中断源 手机看文章 扫描二维码
随时随地手机看文章
Keil上写了段C程序,搞清楚中断的实现。记下笔记:

    1.8051的五个中断源

 

 编号  中断源  入口地址
  0  /INT0  0x0003
  1  TIMER0  0x000b
  2  /INT1  0x0013
  3  TIMER1  0x001b
  4  UART  0x0023

 

    默认优先级按编号已排好序。(0最高,4最低)

    2.中断函数写法

 

返回值 函数名 interrupt n { …… }

 

 

    n对应中断源编号。

    3.中断触发控制寄存器IE (当然,左边是高位)

  

 EA  --  ET2  ES

 

 ET1

 EX1  ET0  EX0

 

    EX0:响应外部/INT0的中断

    ET0:响应TIMER0的中断

    EX1、ET1:对应/INT1与TIMER1

    ES:对应UART

    ET2:响应TIMER2溢出或捕捉的中断(仅对8052)

    EA:中断使能。EA=1时才允许中断。

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

 

 --  --  PT2  PS

 

 PT1

 PX1  PT0  PX0

 

    分别对应各中断的优先级。仅分0(低)、1(高)两级,同级的中断还是看中断源编号进行优先级排序。

    5.TIMER控制寄存器TCON

 

 TF1  TR1  TF0  TR0

 

 IE1

 IT1  IE0  IT0

 

    TF1与TF0分别是硬件去置位的,当Timer1/Counter1溢出时,TF1会被置为1,而当处理器去执行中断服务时,它又被硬件置0。(当然TF0管的就是Timer0/Counter0了)

    TR1与TR0由软件置位,管的是Timer/Counter的激活。(如在程序里写TR0=1,就是说Counter0开始计数,当然如果这个Timer/Counter被设置为Counter的工作方式的话)

    IE1与IE0由硬件置位,与TF1、TF0等同,只是IE1与IE0管的是外部中断。

    IT1与IT0由软件置位,设为1时,对应的外部中断为负缘触发,设0时为低准位触发。

    6.KeilC程序段

    下面一段代码可测试中断/INT0:

 

 

/*-------------------------------------------------------------

/* Filename: external_0.c

/*

/* Deion: Test the external interrupt 0.

/*

/* Author: Long Hengyu

/*

/* Date: 10-26-2007

/*

/*-------------------------------------------------------------

#include

#include

const char design[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

main()

{    

    unsigned int i,j;    

    EA = 1;        // Set CPU status: interrupt enable

    EX0 = 1;    // Set external interrupt enable

    P2 = 0x80;

    for( ; ; )

    {

        for(j=0; j<8 ; j++)

        {

            for(i=0; i<50000; i++);

            P2 = design[j];

        }

    }

}

void EX0_int(void) interrupt 0

{

    unsigned int i;

    int j;

    for( ; ; )

    {

        for(j=7; j>=0 ; j--)

        {

            for(i=0; i<50000; i++);

            P2 = design[j];

        }

        return;

    }

}


关键字:中断源 引用地址:8051中断源

上一篇:关于C51内的code idata data bdata pdata xdata
下一篇:串行口动态扫描显示电路编程范例

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

单片机C8051F020及其在柜式电能表中的应用
引言 柜式电能表内部的CPU要求具有双串口,一方面读取电能计量终端的数据,同时通过RS485通讯接口将这些数据上传至电能管理信息系统。经过一番比较,笔者采用了美国Cygnal公司推出的完全集成的混合信号系统级芯片C8051F020,与普通单片机相比较,它具有扩展芯片少,连线少,资源多,编程简单,升级维护容易等优点,而且可靠性和稳定性也可得到保证,从而简化了测量仪器硬件电路系统设计,实现测量数据的显示,打印,大大高了测量仪器性能指标和性价比。而其具有的片内调试电路,使设计人员可通过JTAG接口进行非侵入式,全速的在系统调试。 一、芯片介绍 1 C8051F020的主要特点 l 具有与8051兼容的微控制内核,最高速度可达
[单片机]
单片机C<font color='red'>8051</font>F020及其在柜式电能表中的应用
基于8051实现的可启停/显示或隐藏时间的电子时钟(Version1.2)
程序实现的功能: 1. 实验箱上电后, 不显示当前时间. 2. 向8051发送 Show.E 后, 显示当前时间. 3. 向8051发送 Hide.E 后, 隐藏当前时间. 4. 向8051发送 Start.E 后, 时钟开始计时. 5. 向8051发送 Stop.E 后, 时钟停止计时(若当前处于 Show 状态, 则显示停止计时前的时间). #include STC89C5xRC.H #include string.h unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f
[单片机]
应用C8051F350的冷阴极荧光观片仪调光系统设计
引 言 跨入21世纪以来,信息的世界变换迅速,说不定今天出了某高科技产品明天就会有更优秀的同类产品面世。其中电子计算机科学技术更新周期大概就是2到3年。随着电子计算机等科学技术的发展,医疗设备的现代化、智能化研究越来越受到人们的关注,大量的科学家及工程技术人员都积极地投入到这一场医疗设备的革命中,其中,对各种类型射线底片观片设备的研究也是医疗设备开发的重点。由于传统的观片设备亮度低、均匀性差、容易引起视疲劳等缺点,已经不能满足现代化医学诊断的要求。利用CCFL(Cold Cathode Fluorescent Lamp)开发的观片仪具有结构简单、灯管表面温升小、灯管表面亮度高、使用寿命长、显色性好、发光均匀等优点。医疗设备至关重
[工业控制]
应用C<font color='red'>8051</font>F350的冷阴极荧光观片仪调光系统设计
详解:8051单片机的结构与原理
单片机的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。 一、基本组成 中央处理器(CPU) 包括运算器和控制器两部分,是单片机的核心。运算器可用于各种运算,控制器用于控制单片机各部分协调工作。 存储器 用于存放程序和原始数据。 时钟电路 时钟电路产生单片机运行的控制信号,控制单片机严格按时序执行指令。 定时/计数器:实现定时或计数功能。输入输出接口(I/O)实现单片与其他设备之间的数据传送。中断控制系统: 用于响应中断源的中断请求。 二、单片机引脚 双列直插式封装(DIP,Dual Inline Package)方形封装(PLCC,Plastic Lead
[单片机]
基于C8051F310的高灵敏车辆检测算法
1 引言     弯路转弯处经常出现一段盲区,司机看不到弯路对面是否有车辆通过,因而引发大量的交通事故,因此,消除盲区造成的交通事故显得尤为重要。为此,设计了基于C8051F310的山路转弯预警系统。该系统当检测到弯路对面有车时可及时通过交通警示灯提前警示司机注意避让。因此,准确判断是否有车辆经过是该系统设计的关键。 2 系统设计 2.1 系统设计方案     该系统设计的主要目的是警示司机在行驶时注意安全,预防事故。在山路转弯处两边分别放置该系统,每边系统控制一警示灯。当一方系统检测到车辆时,通过RF通讯发送至对方系统,对方系统接收到信号后,控制警示灯闪烁以提示司机。     图1为系统设计组成框图。其中,车
[嵌入式]
C8051F021型单片机实现数据采集系统
  介绍的功角测量 数据采集 卡是采用Cygnal公司C8051F021型单片机实现的PCI总线接口卡。该卡通过2片双口RAM分别实现与GPS接收板和上位机(PC)的数据交换,从而实现高速、可靠的数据采集、处理与传送。本数据采集卡采用片内12位高速ADC并配以片外采样保持电路,通过直接交流采样方法精确快速地实现对电压和电流的采样,保证了电力系统实时测量的要求。   1 引言   实现自动化的过程中,首要环节就是数据采集。为此我们研究开发了电力系统功角广域测控系统,其中,用C8051F021型单片机实现的数据采集卡不仅可以准确、高效、实时地进行AD数据采集并通过双口RAM和PCI接口与上位机交换数据,还可以通过与GPS接收通信接
[单片机]
C<font color='red'>8051</font>F021型单片机实现数据采集系统
8051单片机C语言数据采集程序
/8051单片机TLC1549数据采集程序源代码 //单片机:At89S52 //连接类型:232 |485 接口 //校验方式:checksum //开发环境:keil C #i nclude stdio.h #i nclude REGX51.H #i nclude iic.h #define uchar unsigned char #define uint unsigned int uint Timer_Pro_Flag=0;//0为显示处理,1为时序采集处理 sbit TEST_CAP_VOL_CRLT=P1^0;//用于控制外部继电器 sbit PWM_Pin=P3^7;//PWM输出 sbit I
[单片机]
C8051F005单片机的比例电磁铁控制技术
引 言 比例电磁铁作为执行元件,是机电一体化的关键产品之一,广泛应用于各种自动化控制系统中;比例电磁铁的推力大,结构简单,维护方便,成本低廉,是应用非常广泛的电一机械转换器;比例电磁铁的特性及工作的可靠性,对于整个控制系统具有十分重要的影响,是决定控制系统品质的关键部件之一。比例电磁铁作为电一机械转换元件,其功能是将比例控制放大器输给的电流信号,转换成位移或者力信号输出。比例电磁铁适用于直流电压为24 V比例控制放大器的控制线路中,作为连续地、按比例地控制系统执行元件的运动、速度和方向的动力元件。 比例电磁铁在其额定行程范围内的推力与通入其线圈的电流成正比,可在其他需要作用力自动控制的装置上作为线性动力元件,如自动油门控制等。
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
    做任何事情之前,一定要想好目标。没有目标的事情是做不好的,也做不成。我的目标就是学习ARM开发,当然是深入的学习。目标如下 :1、学习A ...
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
  • 学习ARM开发(7)
何立民专栏 单片机及嵌入式宝典

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

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