下图为一声光报警电路,当按下S1时,蜂鸣器发音;当按下S2时,停止发音,但LED发光。
1、利用中断工作方式编写完整的单片机汇编语言程序。
2、 按键S1和S2触发的先后顺序对此声光报警电路有什么影响?为什么?
1、完整程序:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP EXINT0
ORG 0013H
AJMP EXINT1
ORG 0030H;不能用0000H
MAIN: SETB EA
SETB EX0
SETB EX1
SETB IT0
SETB IT1
AJMP $
EXINT0: CLR P1.2
RETI
EXINT1: SETB P1.2
CLR P2.0
RETI
END
2、若先按下S1则蜂鸣器发音;再按S2蜂鸣器停止发音,LED发光。
若先按下S2LED发光,再按S1蜂鸣器发音的同时LED发光。
能实现中断嵌套因为外部中断0、1在执行完后都会返回主程序。
关键字:中断嵌套 单片机
引用地址:
关于中断嵌套的一些总结
推荐阅读最新更新时间:2024-03-16 15:10
HT46R14在冷阴极萤光灯变换器中的应用
液晶显示(LCD)面板有其广泛的应用领域,从小型的可携式电子器材,到大型的固定设备,应用包括数码相机、笔记本电脑、个人数据助理机、台式电脑以及工业仪器产品。LCD面板自身不能发光。因此,一般需要背光照明系统在背後提供光源。通常,最为普遍的发光设备是一种叫做CCFL的萤光管。 CCFL(Cold Cathode Fluorescence Lamp)即冷阴极萤光灯,是由一个直流转交流的变换器驱动的,它通常提供一个较大范围的直流电压输入,并将其转换为一个高频的交流高压输出,以驱动灯管。许多应用同样需要有效的灯光亮度控制能力以达到发出的灯光与周围环境的光线条件相协调,从而增加灯管和电池的使用寿命。 图1 CCFL通常由一个直流转交流的
[应用]
RS Components现可提供价格实惠的Renesas MCU原型板
中国上海,2016年12月9日 - 服务于全球工程师的分销商 Electrocomponents plc 集团旗下的贸易品牌RS Components (RS) (LSE:ECM) 宣布提供Gadget Renesas SAKURA板,基于Renesas RX闪存微控制器(MCU)系列,提供了一个易于使用的开发平台。这些通用型可编程板提供了具有高度灵活性的平台,适合包括学校的初学者到专业设计工程师等拥有各种不同开发经验的开发者。 Gadget Renesas是来自Renesas的一个项目概念,通过提供可实现快速原型开发的电路板,并通过网上社区分享想法,把想法与电子连接起来。它非常适合用于工业、消费和办公室自动化、以及机器人技术
[单片机]
AVR单片机PCF8591AD-DA实验
未加入 滤波 函数所以数值有点晃动 //PCF8591 AVR单片机程序 默认为输入模式下通道0开始通道0 光敏电阻 ,通道1, 热敏电阻 ,通道2 电位器 ,通道3外接电位器,如有标点符号丢失格式错乱的情况可从这里下载 源码 : http://www.51hei.com/f/avr8591.rar #include iom16.h #include intrinsics.h #define uchar unsigned char #define uint unsigned int #define k1 PIND_Bit4 //模拟量输出值按键 #define k2 PIND_Bit5 //模
[单片机]
51单片机程序开发入门知识
51单片机在我的理解上来说,就是遵循51指令集工作的芯片。他就像一台超微型的电脑,里面有内存、硬盘、CPU等基本配备。 而他所谓的CPU使用的就是51指令集,他的硬盘就是内置的Flash,他的内存也是内置的RAM和扩展RAM。不过这些基本配备是小了一点而已。 在网上,我们常看到一些介绍什么AT89C51或AT89C52等51的单片机的范例,对于一些初学者来说可能就会认为只有AT89C51或AT89C52才是51单片机,当你给他个STC89S52他都不敢用,认为可能不对(我刚开始学的时候就碰到这种情况,)。其实不是这样的,只要芯片内部使用的是51指令集,那么它就可以认为是51单片机,就可以用51单片机的开发方式进行
[单片机]
MSP430单片机AD转换LCD1602&TUBE显示
#include msp430x14x.h #define uint unsigned int #define uchar unsigned char #define ulint unsigned long int #define RS BIT0; #define RW BIT1; #define EN BIT2; uint Volt0; //设置电压变量 ulint Volttem0; unsigned data0=0,data1=0; uint ADresult0; //设置A/D转换结果 uint a ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
[单片机]
单片机ADC采样算法----限幅消抖滤波法
限幅消抖滤波法相当于“限幅滤波法”+“消抖滤波法” 。 下面直接看C代码的实现 #define A 200 #define N 20 //返回两个整数差 unsigned int num_sub( unsigned int a, unsigned int b ) { return ( a = b ? ( a - b ) : ( b - a ) ); } unsigned int filter10( void ) { unsigned int count = 0; unsigned int new_value = 0; static unsigned int last_value = 0; new
[单片机]
更便利、更高效,全新STM32WB无线微控制器问市
意法半导体推出整合基本功能与节能技术的新产品,扩大STM32WB* Bluetooth® LE微控制器(MCU)产品线。 双核微控制器 STM32WB15 和 STM32WB10超值系列 搭载主应用处理器Arm® Cortex®-M4和Bluetooth 5.2蓝牙处理器Cortex-M0+,保证两个处理器都能实现出色的实时性能。射频端链路预算达到102dBm,确保远距离网络连接稳定可靠,并集成巴伦(平衡-不平衡变换器)电路,节省电路板空间和材料清单成本。 新产品采用一种新的射频保持正常工作的超级省电模式,以及精心定制的外设和内存,适用于对成本敏感、注重功耗的嵌入式应用,包括可穿戴设备、信标、智能断路器、跟踪器, 物
[单片机]
电源管理:基于AVR单片机的多功能电源设计
引 言
随着嵌入式系统设计技术的发展,在设计和仿真中,系统 工程师 对 电源 的要求也越来越高。在嵌入式系统设计是使用8031 单片机 和74系列 集成电路 时,所有使用74系列集成电路的 电路 板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的 三极管 变得越来越小并且工作的 电压 越来越低,使得嵌入式系统开发的重点从系统的速度,转到 低功耗 设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测
[电源管理]