51单片机2个外部中断的应用

发布者:温馨阳光最新更新时间:2018-05-08 来源: eefocus关键字:51单片机  外部中断 手机看文章 扫描二维码
随时随地手机看文章

;51单片机的P1口上接有8只LED。
;在外部中断0输入引脚P3.2接有一只按钮开关K1。
;在外部中断1输入引脚P3.3接有一只按钮开关K2。
;要求K1和K2都未按下时,P1口的8只LED呈流水灯显示,
;仅K1(P3.2)按下时,左右4只LED交替闪烁。
;仅按下K2(P3.3)时,P1口的8只LED全部闪亮。
;两个外中断的优先级相同。
;=============================================
;用 PROTSUE 仿真界面如下:

51单片机2个外部中断的应用 - 非著名博主 - 电子信息角落

;下列程序,可以满足要求.

      ORG  0000H
      SJMP MAIN
      ORG  0003H
      SJMP X0_INT
      ORG  0013H
      SJMP X1_INT
;------------------------------------
MAIN:
      MOV  SP, #60H 
      MOV  IE, #85H
      MOV  A,  #254
M_LOOP:
      MOV  P1, A
      RL   A
      CALL DL_500MS
      SJMP M_LOOP
;------------------------------------
X0_INT:
      PUSH PSW
      SETB RS1
      MOV  P1, #0FH
SH_0:
      XRL  P1, #255
      CALL DL_500MS
      JNB  P3.2, SH_0
      POP  PSW
      RETI
;------------------------------------
X1_INT:
      PUSH PSW
      SETB RS0
      MOV  P1, #0
SH_1:
      XRL  P1, #255
      CALL DL_500MS
      JNB  P3.3, SH_1
      POP  PSW
      RETI
;-------------------------------延时子程序
DL_500MS:
      MOV  R5, #9      ;1T
DL1:  MOV  R6, #128    ;1T
DL2:  MOV  R7, #215    ;1T
      NOP              ;1T
DL3:  DJNZ R7, DL3     ;2T   2 * 215 = 430 T
      DJNZ R6, DL2     ;2T   [1+1+430+2] * 128 = 55552 T
      DJNZ R5, DL1     ;2T   [1+55552+2] * 9 = 499995 T
      RET              ;2T   1 + 499995 + 2 = 499998 T
;------------------------------------
END


关键字:51单片机  外部中断 引用地址:51单片机2个外部中断的应用

上一篇:stm32控制共阳数码管以及共阴数码管
下一篇:利用单片机控制频率合成器 MC145151-2 的输出频率

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

51单片机——硬件基础
1、单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 (1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢 (2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用 (3)SFR —— 特殊功能寄存器 2、单片机最小系统 最小系统:最少组件组成单片机可以工作的系统。 三要素: (1)、 电源电路:5V (2)、 晶振电路:11.0592MHZ、两个30PF (3)、 复位电路: P0:开漏输出,必须加上拉电阻 准双向口: 强推挽输出:电流驱动能力强 高阻态 上下拉电阻:上拉电路就是将不确定的
[单片机]
<font color='red'>51单片机</font>——硬件基础
STM32学习笔记(2) 使用外部中断控制按键
中断概述 中断:打断CPU正常程序运行,转去执行中断服务函数的内容,然后再回来执行原来的程序 NVIC:嵌套向量中断控制器,属于内核外设,管理怎与中断相关的功能 typedef struct { uint8_t NVIC_IRQChannel; //中断源 uint8_t NVIC_IRQChannelPreemptionPriority; //抢占优先级 uint8_t NVIC_IRQChannelSubPriority; //子优先级 FunctionalState NVIC_IRQChannelCmd; //使能或失能 } NVIC_InitTypeDef;
[单片机]
STM32学习笔记(2) 使用<font color='red'>外部中断</font>控制按键
51单片机知识大汇总
1.取指译码执行模型:首先我们来看看单片机是如何工作的,我们拿电脑的主板来作为对比,我们买电脑时,总是追求处理器的主频。处理器的工作原理是从存储器上取出一条指令,然后对指令译码,译码完后执行。然后取下一条指令,译码,执行。它为什么能这么有序的工作?是因为它有一个工作时钟,在这个工作时钟的统一管理下,处理器有序的工作,这里的主频就是工作时钟的速度,当然,现在你可能也知道主频越高,取指译码速度越快,性能越好。那么你可能会问,这跟51单片机有什么关系,OK,切入正题,单片机的工作也是这个原理,从存储器上取指,译码,执行。但是单片机的存储器在哪?在单片机的内部,对于电脑来说,是把处理器,内存集中在一块主板上。而现在你应该很明确,对于单
[单片机]
STM32单片机外部中断配置讲解
01 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断源,其中有两个是外部中断,分别为INT0和INT1,INT0被分配在P3.2引脚,INT1被分配在P3.2引脚,也即是说如果使用51单片机的外部中断0,则必须将信号接在P3.2上,否则无效。 02 举例说明什么是中断 单片机在执行程序时有两种方式: 查询方式 中断方式 所谓查询方式就是单片机一遍一遍的扫描,查看所监视的目标有没有发生变化,是一种主动式的监视方法,用一个成语可以很客观的描述:守株待兔。 所谓中断方式就是单片机不主动去监视目标,而是目标主动通知单片机状态发
[单片机]
ADC0804 模数转换51单片机程序+电路图
51单片机驱动 adc0804模数转换 ,下面是电路图 #include reg51.h #include "lcd.h" #include intrins.h #define uint unsigned int #define uchar unsigned char uchar lcd ="0123456789"; sbit rd=P3^6; //IO口定义 sbit wr=P3^5; sbit cs=P3^7; read_adc0804()//控制并读取adc0804转换好的数据 { uchar a; //写入控制命令,启动转换 cs=1; wr=1; cs=0; wr=0; _nop_(); wr=1;
[单片机]
ADC0804 模数转换<font color='red'>51单片机</font>程序+电路图
C51单片机利用74hc138扩展流水灯的仿真电路图+程序
C51单片机利用74hc138扩展流水灯程序 包含源代码,仿真电路 可以随意扩展多个LED 电路原理图如下: 单片机源程序如下: #define uint unsigned int #define uchar unsigned char void delay1(uchar y) { uchar i; uint j; for(i=0;i y;i++) { for(j=0;j 5000;j++); } } void led(void) { P3=0x01; //01 P2=0x00; delay1(20); P2=0x01; delay1(20); P2=
[单片机]
C<font color='red'>51单片机</font>利用74hc138扩展流水灯的仿真电路图+程序
STM32L152 外部中断配置
1、中断配置 以外部中断0,管脚为PA0为例来进行配置 void SYS_EXTI0Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //初始化PA0管脚 /* Enable GPIOA clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//打开PA口时钟 /* Configure PA0 pin as input fl
[单片机]
基于51单片机的家电控制系统设计
O 引言 家电控制的智能化已成为社会需求的新趋势。基于微机控制系统的智能化家电使我们的生活更加便利。而是否能够实现远程家电的开关控制。又是否能够随时查询电器的工作状况,或者能够事先对家电的定时开关做出控制。又成为越来越感兴趣的研究方向。家电产品现已进入成熟期和稳定期。市场规模稳步上涨,但竞争日愈剧烈,其核心部件。即控制器性能及质量对企业产品的影响很大。同时,经济快速发展,人们对于家庭生活的舒适程度也提出了越来越高的要求,尤其体现在家电的便捷方面。在这个背景下,可以自主控制的家电控制系统,就逐渐显示出竞争力,这也符合时代发展的客观需要。随着中国经济的快速稳步增长和迅速发展,家电厂家越来越意识到被喻为家电“芯片”的家电控制器的重要
[单片机]
基于<font color='red'>51单片机</font>的家电控制系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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