历史上的今天
返回首页

历史上的今天

今天是:2025年07月12日(星期六)

正在发生

2018年07月12日 | 51单片机中断和软件仿真

2018-07-12 来源:eefocus

12

这里写图片描述
从结构图可以看到,51单片机有有5个中断,分别是外部中断0(INT0),外部中断1(INT1),定时器中断0(T0),定时器中断1(T1)和串口中断(TX/RX)。有两个优先级,其中在一个中断组中优先级顺序从高到低是INT0、T0、INT1、T1、TX/RX。

部分中断寄存器12

1、中断允许控制寄存器(IE) 
这里写图片描述
EX0:外部中断0允许位; 
ET0:定时/计数器T0中断允许位; 
EX1:外部中断1允许位; 
ET1:定时/计数器T1中断允许位; 
ES :串行口中断允许位; 
EA :CPU中断允许(总允许)位。 
以上都是1使能,0关闭。 
2、定时器/控制器控制寄存器TCON 
这里写图片描述
IT0:外部中断0触发方式控制位 
当IT0=0时,为电平触发方式(低电平有效) 
当IT0=1时,为边沿触发方式(下降沿有效) 
IE0:外部中断0中断请求标志位 (硬件自动完成) 
IT1:外部中断1触发方式控制位(同IT0) 
IE1:外部中断1中断请求标志位 (同IE1) 
TF0:定时/计数器T0溢出中断请求标志位 
TF1:定时/计数器T1溢出中断请求标志位 
3.中断优先级控制寄存器(IP) 
这里写图片描述
PX0:外部中断0优先级设定位 
PT0:定时/计数器T0优先级设定位 
PX1:外部中断0优先级设定位 
PT1:定时/计数器T1优先级设定位 
PS :串行口优先级设定位 
以上都是1为高优先级,0为低优先级。 
4.定时器/计数器工作模式寄存器TMOD 
这里写图片描述
GATE—门控制位。 
GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TRX(X=0,1)来控制。 
GATE=1,定时器计数器启动与停止由TCON寄存器中TRX(X=0,1)和外部中断引脚(INT0或INT1)上的电平状态来共同控制。 
C/T—定时器和计数器模式选择位。 
C/T=1,为计数器模式;C/T=0,为定时器模式。 
M1M0—工作模式选择位。 
这里写图片描述 
使用中断前,要打开总中断,打开你使用的中断允许位,外部中断要设置中断触发方式,其他中断也要配置相应的寄存器,如果使用多个中断还要配置中断优先级。

中断服务函数的格式: 
中断服务程序的写法 
void 函数名() interrupt 中断号 [using 工作组] 

中断服务程序内容 
}

51单片机的中断基本就这些,下面举一个栗子。 
这里写图片描述

用下降沿触发INT0(P3.2),然后让P1^0输出0 ;12

主程序

include "intrins.h"include 

sbit LED = P1^0 ;void Int0 (void) interrupt 0{
    LED = 0 ;
}void Init_INT(void)
{
    EA = 1 ; //开总中断
    EX0 = 1 ; //开外部中断0
    IT0 =  1 ; // 为跳变沿触发}void main()
{
      Init_INT() ; //中断初始化

      while(1)
      {  

      }
}123456789101112131415161718192021222324252627

用信号函数仿真

signal void test(void)  
{  
    while(1)  
    {  
        port3 = 0xff ;
        swatch(0.02);

        port3 = 0xfB ;      
        swatch(0.1) ;

        port3 = 0xff ;
        swatch(0.02);

        _break_ = 1 ;

    }  
}1234567891011121314151617

仿真波形如下,上面是外部中断信号,下面是P1^0输出信号。

这里写图片描述


推荐阅读

史海拾趣

AMI [American Megatrends Inc]公司的发展小趣事

AMI(American Megatrends Inc)是一家全球领先的硬件和软件解决方案提供商,主要专注于计算机主板固件、嵌入式系统管理和云计算服务。以下是关于AMI公司发展的五个相关故事:

  1. 公司创立与起步阶段:AMI公司于1985年成立于美国佐治亚州的诺克罗斯,并在当地建立了总部。公司创始人为S. Shankar和Pat Sarma。最初,AMI专注于为个人计算机和服务器等设备提供BIOS(基本输入/输出系统)固件,为计算机硬件行业奠定了基础。

  2. BIOS技术创新:AMI在BIOS领域进行了持续的技术创新,不断推出新的功能和改进。公司开发了多个版本的AMI BIOS,包括AMI WinBIOS、AMI Aptio和AMI UEFI BIOS等。这些BIOS版本在计算机硬件市场上得到了广泛应用,为用户提供了稳定可靠的固件解决方案。

  3. 嵌入式系统管理解决方案:除了BIOS固件,AMI还致力于开发和提供嵌入式系统管理解决方案。这些解决方案包括远程管理、监控、诊断和维护等功能,用于企业服务器、网络设备、嵌入式系统和物联网(IoT)设备等领域。

  4. 合作伙伴关系与生态系统建设:AMI与全球各种硬件和软件供应商建立了紧密的合作伙伴关系,共同推动技术创新和产品发展。公司与主板制造商、芯片厂商、系统集成商和软件开发商等合作,为客户提供全面的解决方案和支持服务。

  5. 云计算服务和新兴技术领域:随着云计算和人工智能等新兴技术的发展,AMI也开始拓展业务领域,提供云计算服务和相关解决方案。公司致力于为客户提供高性能、高可靠性的云计算平台和服务,以满足不断增长的数据处理和存储需求。

这些故事展示了AMI公司从创立初期到如今在BIOS技术创新、嵌入式系统管理、合作伙伴关系建设和拓展新兴技术领域等方面取得的重要进展。AMI作为一家全球知名的硬件和软件解决方案提供商,持续致力于为客户提供创新的产品和卓越的服务。

Honda Tsushin Kogyo Co Ltd公司的发展小趣事

Honda Tsushin Kogyo Co. Ltd.的成立背景虽未详细公开,但考虑到其专注于电子连接器领域,可以推测该公司可能是在日本电子工业兴起的背景下成立的。在成立初期,公司可能面临了激烈的市场竞争和技术挑战。为了站稳脚跟,Honda Tsushin Kogyo致力于研发高质量的电子连接器产品,并逐步赢得了市场的认可。公司可能通过不断提升产品质量、优化生产工艺以及拓展销售渠道等方式,实现了初期的稳步发展。

Applied Engineering Products (AEP)公司的发展小趣事

在电子行业的早期,AEP公司以其卓越的技术团队和对市场需求的敏锐洞察力脱颖而出。公司研发出了一款高效能、低成本的电源管理芯片,这一创新产品迅速在市场上获得了广泛的认可。随着这款产品的热销,AEP公司的知名度逐渐提升,其产品线也逐渐扩展到其他电子元器件领域。公司不断投入研发,推动技术创新,逐渐在电子行业站稳了脚跟。

GMT(致新科技)公司的发展小趣事
如果电源正常,应检查时间控制芯片或MCU是否工作正常。可以使用万用表等工具测量其供电电压、输出信号等是否正常。
ADLINK公司的发展小趣事
首先,需要找到并进入收音机的设置界面,这通常通过按收音机上的特定按钮(如“MENU”或“设置”按钮)来实现。
Alan Industries Inc公司的发展小趣事

Alan Industries Inc.自创立之初,就以其对技术研发的不懈追求而闻名。在公司成立的早期,其研发团队成功开发出一款高效能、低功耗的芯片,这一创新产品在市场上引起了巨大反响。随后,公司不断投入研发资源,推出了一系列具有竞争力的电子产品,逐渐在行业中树立了技术领先的地位。这些产品不仅满足了消费者对电子产品性能的需求,还为公司带来了可观的利润,为公司的快速发展奠定了坚实基础。

问答坊 | AI 解惑

连接调试问题

   VS2005连接目标机(wince5.0),目标机需要运行相应的程序,才能连接上,这些程序是在开发机上哪得到的?…

查看全部问答>

44b0头文件位声明如何理解?

#define BIT_ADC                        (0x1) #define BIT_RTC                        (0x1…

查看全部问答>

修改DHCP的程序的问题

最近在做个项目,要用程序修改IP,SUBMASK,GATEWAY的地址,这个程序我作出来了,但是碰到一个问题,当我把静态的改回DHCP动态的时候发生了错误, 提示说是进行了一个非法操作,这是怎么回事呢?我在程序上是这样的一个思路,我先选择是静态的地址还是动态的 ...…

查看全部问答>

LPC1114+MP3+数码相框+电子书 原理图

最近准备用LPC1114做个MP3+数码相框+电子书,下面是初步设计的原理图,希望大家看看,设计上有些什么问题?先谢谢了。。。 …

查看全部问答>

抗干扰的声控开关电路图

如图所示为抗干扰声控开关电路。该电路由话筒S、选频放大器、单稳整形电路IC1、信号存储器IC2a与IC2b、可控硅交流开关SCR及脉冲清零电路IC4等组成。 电路中BG1为9014或3DG4M、3DG201、3DG401、3DG8A和3DG88等。BG2、BG3选用3DG12或3DG130。IC1、I ...…

查看全部问答>

zinc使用中的疑问,请斑竹高手回答

zinc6.1下,定义一个 zafstring *testString = new zafString();然后把testString  加到窗口中 ,在该 控件中输入数据,比如 12345,用程序获得该值  testString ->Text()为什么只能得到“1”,而不能得到整个字符串呢?有遇 ...…

查看全部问答>

PWM波

本帖最后由 paulhyde 于 2014-9-15 08:53 编辑 单片机输出PWM波的电压幅值怎样控制?是不是固定不变的呢?  …

查看全部问答>

锂离子电池监控——需要冗余吗?

锂离子电池监控——需要冗余吗? 作者:Steven Boyle 简介 目前,混合动力汽车(HEV)、插电式混合动力汽车(PHEV)和纯电动汽车(EV)的开发工作与锂离子(Li-ion)电池的使用密不可分,许多OEM、电子设备供应商和电池制造商探讨的重点都集中在如何构建 ...…

查看全部问答>

TPS2511 USB 专用充电端口控制器和电流限制电源开关

TPS2511 USB 专用充电端口控制器和电流限制电源开关 …

查看全部问答>

【C2000的使用经验】CLA与C28各用其长。

C2000 CPU,部分器件具有控制率加速器,它实际上相当于一个浮点CPU,运算能力超强。而C28是定点(或有浮点运算)处理器。 C28 CPU作主器件,CLA作从器件。CPU启动CLA时,不象CPU执行中断指令那样,需要十多个时钟周期后才可以执行中断功能的操作 ...…

查看全部问答>