中断嵌套实验

使用汇编语言,要求:

外部中断1可以嵌套外部中断0

没有中断时,8个LED发光二极管以0.1s的速度闪烁。

有外部中断0时,8个LED发光二极管以0.1s的速度流水点亮。(中断子程序0)

有外部中断1时,会打断外部中断0,8个LED发光二极管会常亮10秒(中断子程序1)

允许外部中断0和外部中断1,外部中断触发方式设置(IT0,IT1),中断入口设置,设置中断优先级。

程序段: 

      org   0000h
      jmp   Start
      ORG	0003H
      JMP	INT00
	  ORG   0013H
	  JMP   INT11
      ORG   0100H
Start:	
      MOV 	SP,#60H
      SETB	EA 
      SETB	EX0
	  SETB  EX1
      ClR   IT0
	  CLR   IT1
	  SETB  PX1
      CLR 	A  
Loop:	
	  CPL  	A  
	  MOV	P0,A  
	  LCALL DELAY 
      JMP  	Loop

DELAY: 
	  MOV 	R6,#200
D1:      
	  MOV 	R7,#248   
      DJNZ 	R7,$      
      DJNZ 	R6,D1
      RET 

;----中断子程序0程序示例------
INT00:
	  MOV 	R1,#9
	  MOV	A,#0ffH
 LOOP1:		 
	  MOV	P0,A   
	  LCALL	DELAY		
	  SETB	C 
	  RLC	A 
	  DJNZ 	R1,LOOP1
	  RETI 
;----中断子程序1----
INT11:
	 MOV A,#00H
	 Mov P0,A
	 MOV R1,#9
LOOP1:		  
	 LCALL	DELAY		
	 DJNZ 	R1,LOOP1
	 RETI

注释:

1.org:汇编起始地址命令

org伪指令规定程序存放的起始地址。如果不用org,则汇编得到的目标程序将从0000H地址开始。

例如:

ORG 2000H

Start:Mov A,#00H

即规定标号START代表从地址2000H开始存放程序。

2. 中断允许寄存器IE

 3.TCON寄存器:IT1,IT0选择外部中断请求是什么方式。

 4.流水灯点亮

INT00:
	  MOV 	R1,#9
	  MOV	A,#0ffH
 LOOP1:		 
	  MOV	P0,A   
	  LCALL	DELAY		
	  SETB	C 
	  RLC	A 
	  DJNZ 	R1,LOOP1
	  RETI 
;1111 1111
;1111 1110
;1111 1100

5.我不知道DELAY可以延时多久,所以我不知道R1应该置多少。

;----中断子程序1----
;需要常亮10秒
INT11:
	MOV A,#00H
	Mov P0,A
      ;全亮
	MOV 	R1,#9
	;循环10秒(这里R1该置多少?)
LOOP1:		  
	LCALL	DELAY		
	DJNZ 	R1,LOOP1
	RETI

6.关于外部中断1触发方式设置不同的方式,带来的影响?

IT1=0,电平触发方式

IT1=1,跳沿触发方式

???

学习这篇文章:

(2条消息) 电平触发和边沿触发的区别_下降沿触发_Pilgrim2017的博客-CSDN博客

 电平触发:高或低电平保持的时间内触发

边沿触发:由高到低或由低到高这一瞬间触发

在数字电平变化的电压上升沿或下降沿到一定阈值时就产生触发,即边沿触发。

当电压达到数字电平的高或低电压一段时间后(一般是最小脉冲宽度的三分之一),才产生触发是电平触发。

边沿触发的话,电平保持多久都只产生一次。

电平触发的话,只要一直保持对应的电平,就会不断触发。

比如:按下开关,边沿触发的话,应该只会触发一次中断。

而电平触发的话,会不断响应。(个人理解,不知道对不对)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

gdb调试常用指令及案例讲解

文章目录 前言一、常用指令二、案例说明1、测试源文件2、编译和调试 三、其他指令四、案例说明 前言 GDB是一个由GNU开源组织发布的、UNIX/LINUX 操作系统下的、基于命令行的、功能强大的程序调试工具。 GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调…

每天一道大厂SQL题【Day22】华泰证券真题实战(四)

每天一道大厂SQL题【Day22】华泰证券真题实战(四) 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…

2023软件测试工程师必备技能?要卷,谁还不会了......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 软件测试岗位是怎…

day15 消息队列

目录 消息队列 消息队列的使用 发送消息 消息的接收 消息队列的控制 消息队列 概念: 消息队列是system V IPC对象的一种; 消息队列有消息队列ID来唯一标识; 消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等&a…

zabbix故障排查

zabbix server服务问题可以查看server日志 tail -f /var/log/zabbix/zabbix_server.log 根据日志中的error报错提示分析原因 zabbix agent服务问题可以查看agent日志 tail -f /var/log/zabbix/zabbix_agentd.log 根据日志中的error报错提示分析原因 zabbix的nginx服务问题可…

从零开始学架构-计算高性能

一、概述 高性能是每个程序员的追求,无论做一个系统、还是写一组代码,都希望能够达到高性能的效果。而高性能又是最复杂的一环,磁盘、操作系统、CPU、内存、缓存、网络、编程语言、数据库、架构等,每个都可能影响系统的高性能&…

【FPGA实验1】FPGA点灯工程师养成记

对于FPGA几个与LED相关的实验(包括按键点灯、流水灯、呼吸灯等)的记录,方便日后查看。这世界上就又多了一个FPGA点灯工程师了😏 成为一个FPGA点灯工程师分三步: 一、按键点灯1、按键点灯程序2、硬件实现 二、流水灯1、…

智慧医院微信小程序定制开发功能有哪些

无论是哪个时代,人们对于医疗资源的需求都没有消退过,尤其是随着经济条件的提高,人们也越来越关注健康问题。无论是生病就诊还是定期体检都要用到医疗资源。但是平时到医院好像什么时候都人满为患,排很长时间的队,不仅…

ChatGPT4 的体验 一站式 AI工具箱 -—Poe(使用教程)

最近由于人工智能聊天机器人的爆火(ChatGPT),因此各种各样的AI助手流行与网络,各种各样的都有,不论是什么样的其实都是为了我们更方便的解决问题,今天介绍一款AI工具箱——Poe将多种AI集成与一个界面,大家可以一次感受…

SQL Server基础 第五章 函数的使用(日期、字符串、时间、数学、转换等函数)

前言 在SQL Server中提供了许多内置函数,SQL Server中的内置函数就相当于Java、C#等编程语言中的内置API函数。按照函数种类可以分为聚合函数、数学函数、字符串函数、日期函数和时间函数、转换函数和元数据的数6种。在本章中重点讲解比较常用的4种函数&#xff0c…

在线题库整理及一些刷题注意事项

在线题库整理及一些刷题注意事项 刷题站CSDN编程语言支持 LeetCode编程语言支持数据库语言支持 牛客网编程语言支持数据库语言支持 洛谷编程语言支持 AcWing编程语言支持 蓝桥编程语言支持 做题的两种模式调用模式委托模式 注意事项小结 刷题站 老顾一个人单打独斗太久了&…

如何使用ffmpeg给视频减震去抖

之前自己发过一些记录仪拍下来的画面,你们可能已经看过了,例如: 最适合骑行的罐装饮料 然而,自己这个骑行记录仪,仅仅是很低端的一款,防抖功能很差,远远比不了GoPro那些高端的户外运动记录仪&am…

Qt扫盲-QAbstractSeries理论总结

QAbstractSeries理论总结 一、概述二、常用函数1. 属性2. 设置功能3. 显示隐藏4. 与 绘图的交互 三、信号 一、概述 QAbstractSeries类是所有Qt图表线的基类。通常,特定于序列类型的继承类会被使用,而不是这个基类。这个基类只是提供了一些管理和控制这…

再聊 MySQL 聚簇索引

为什么是再次理解呢?因为松哥之前写过相关的文章介绍过聚簇索引,但是感觉还不够,因此今天想再来和小伙伴们聊一聊这个话题。 1. 什么是聚簇索引 数据库的索引从不同的角度可以划分成不同的类型,聚簇索引便是其中一种。 聚簇索引…

数据库基础篇 《4. 运算符》

目录 1. 算术运算符 1.加法与减法运算符 2.乘法与除法运算符 3.求模(求余)运算符 2. 比较运算符 1.等号运算符 2.安全等于运算符 3.不等于运算符 4. 空运算符 5. 非空运算…

【架构】微前端

文章目录 概述优劣优点缺点 微前端的整体架构微前端部署平台微前端运行时基于 SPA 的微前端架构 应用生命周期 方案qiankun 主应用qiankun微应用Vue 2 微应用 来源 概述 微前端不是单纯的前端框架或者工具,而是一套架构体系,这个概念最早在 2016 年底被…

helm部署相关服务过程中问题记录

在学习helm部署相关服务过程中出现一些相关问题,自己记录并供大家一起学习!!! 【问题1】部署helm 获取软件包失败 在通过wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz文件过程发现无法…

叔可忍婶不可忍!马斯克3月呼吁暂停人工智能,4月却创立TruthGPT

2018年马斯克退出了OpenAI团队。 2022年11月,ChatGPT在北美大陆问世。 2023年3月21日,马斯克在未来生命,签署并呼吁,暂停高级人工智能的研发。 2023年4月18日马斯克创立了TruthGPT。 同时,亚马逊,也创立了B…

RabbitMQ-消息模型

什么是MQ MQ全称是Message Queue,即消息对列!消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没…

AttributeError: ‘LTP‘ object has no attribute ‘init_dict‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…