Proteus C51仿真学习板4——外部中断

发布者:Tianyun2021最新更新时间:2022-01-06 来源: eefocus关键字:Proteus  C51  外部中断 手机看文章 扫描二维码
随时随地手机看文章

定时器中断不同,外部中断会立即响应,不需要定时时间到才响应,所以外部中断的优先级是最高的。中断是可以2级嵌套,比如:定时器0正在中断,突然外部中断0触发了,那么会打断定时器0,先执行外部中断0,再去执行定时器0中断,而定时器1中断却不能打断定时器0中断。

图片


51单片机的外部中断触发方法有2种——下降沿触发和低电平触发,通过IT0和IT1寄存器控制(ITx=0,低电平触发;ITx=1,下降沿触发)。


注意:使用实体按键时,需进行消抖,否则会造成多次触发。


外部中断0和1输入引脚为P3.2和P3.3,所以要触发外部中断,需要将外部信号连接到P3.2/P3.3引脚。


外部中断的使能开关寄存器为EX0和EX1(EXx=1,使能,EXx=0,失能),所以外部中断控制的初始化程序为:


static void Init(void)    

{

  IT0 = 1;      //设置INT0的中断类型 (1:下降沿 0:低电平)

  EX0 = 1;      //INT0中断使能

  EA = 1;             //开启总中断

}


中断服务函数:


void EXIT0_isr(void) interrupt 0

{  

  static Bool_t flag = TRUE;

  if(flag == TRUE)  //亮灯

  {

    LED.ALL_ON();

    flag = !flag;

  }

  else         //灭灯

  {

    LED.ALL_OFF();

    flag = !flag;

  }

}


功能:LED随着外部中断触发进行亮灭控制。


例程详情请见:C51 Proteus仿真板TB链接


https://item.taobao.com/item.htm?ft=t&id=659157293088


关键字:Proteus  C51  外部中断 引用地址:Proteus C51仿真学习板4——外部中断

上一篇:Proteus C51仿真学习板5——串口中断
下一篇:51单片机教程:8*8 点阵显示字符、数字、简单汉字

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

C51学习心得体会,指针和数组在程序设计中的关系
C语言中的指针和数组几乎可以互换,数组名可认为是一个常量指针,指针可用来完成涉及数组下标的操作。 e.g.int * nPtr; int Array ; (1)数组与指针等价 nPtr = Array;或者nPtr = &Array ; (2)引用数组元素Array nPtr 或者*(nPtr+3)或者*(Array+3) 其中,nPtr 为指针下标表示法。 (3)e.g.数组拷贝 //用数组表示法把s2拷贝到s1中 void copy1(char *s1,constchar *s2) { int i for(i=0;s1 =s2 ;i++); } //用指针表示法把s2拷贝到s1中 void copy1(char *s1,co
[单片机]
单片机C语言C51的变量和常量
常量 常量是指在程序执行过程中其值不能改变的量。在C51中支持整型常量、浮点型常量、字符型常量和字符串型常量。 一.整型常量 整型常量也就是整型常数,根据其值范围在计算机中分配不同的字节数来存放。在C51中它可以表示成以下几种形式: 十进制整数。如234、-56、0等。 十六进制整数。以0x开头表示,如0x12表示十六进制数12H。 长整数。在C51中当一个整数的值达到长整型的范围,则该数按长整型存放,在存储器中占四个字节,另外,如一个整数后面加一个字母L,这个数在存储器中也按长整型存放。如123L在存储器中占四个字节。 二.浮点型常量 浮点型常量也就是实型常数。有十进制表示形式和指数表示形
[单片机]
C51的INTRINS.H详解
/*-------------------------------------------------------------------------- INTRINS.H 本征库函数 Intrinsic functions for C51. Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ extern void _nop_ (void
[单片机]
#C51 IIC通讯(底层配置时序)
前言 IIC通讯:二线制SDA/SCL 提示:以下是本篇文章正文内容,下面案例可供参考 一、场景 51单片机模拟I/O配置SDA/SCL(主器件) 根据AT24C02芯片手册,配置IIC通讯底层时序,操作命令 二、IIC核心知识点 图1 总线时序: 1.起始信号 结合时序图1:SCL高电平期间,SDA由高到低跳变 //起始信号 void IIC_Start() { SDA = 1; // Delay2us(); //电路特性要求上升沿小于300ns,最好做延时保证必然高电平 SCL = 1; //拉高总线,空闲状态 Delay5us(); //1.起始信号建立时间tSU:S
[单片机]
#<font color='red'>C51</font> IIC通讯(底层配置时序)
stm32f103r6仿真计数器程序+Proteus
单片机源程序如下: #include stm32f10x.h #include Delay.h #include smg.h #include sys.h #include timer.h #include led.h #include fmq.h #include key.h #include stm32f10x_tim.h uint16_t table = { /* 0, 1, 2, 3, 4, 5, 6, 7, 8, */ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, /* 9, A, B, C,
[单片机]
stm32f103r6<font color='red'>仿真</font>计数器程序+<font color='red'>Proteus</font>
PIC16F887 RB0外部中断(2)
#include pic.h #include pic16f887.h __CONFIG (CP_OFF&WDTE_OFF&BOREN_ON&PWRTE_OFF&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF); /*配置位 CP_OFF,代码保护位,程序存储器代码保护关闭; WDTE_OFF,看门狗定时器使能位,看门狗定时器关闭,可以通过WDTCON寄存器的SWDTEN位使能; BOREN_OFF,掉电复位选择位,掉电复位关闭; PWRTE_OFF,上电定时器使能位,上电定时器关闭; FOSC_HS,振荡器选择位,高速晶振或谐振器在RA6/OSC2/CLKOUT和RA7/OSC1/CL
[单片机]
单片机按键与数码管试验程序 Proteus仿真
最近温习一下单片机,通过proteus 7.8仿真了一下,感觉效果不错。 单片机程序如下: /* 51单片机 按键与数码管实验,用proteus 7.8仿真通过。 通过点按键, K1:数码管数字加一,0~F,加上F后再从0开始。 K2:数码管数字减一,F~0,减到0后再从F开始减 K3:复位这零. */ #include reg52.h //#include stdio.h unsigned char RunMode; unsigned char code SegCode = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //共阳 0x80,0x90
[单片机]
单片机按键与数码管试验程序 <font color='red'>Proteus</font><font color='red'>仿真</font>
C51编程中对单片机绝对地址访问的两种方法
在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间。C51程序经过编译之后产生的目标代码具有浮动地址,其绝对地址必须经过BL51连接定位后才能确定。为了能够在C51程序中直接对任意指定的存储器地址进行操作,可以采用扩展关键字 at 、指针、预定义以及连接定位控制命令。   在这些方法中,本人认为最简单而有效的方法是用 _at_ 关键字来对指定变量存储器空间绝对地址来指定。一般格式如下:      数据类型  标识符  _at_  地址常数 其中: 存储器类型 为idata、data、xdata等C51能够识别的所有类型,最好不要省略。 数据类型 可以用int、long、floa
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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