单片机多个中断源时的设计思路,(51为例)工作寄存器R0-R7

news2024/11/17 7:32:01

51单片机中四组工作寄存器(R0-R7)

参考
可以看出每个工作寄存器区8个字节即为R0-R7,当不指定使用哪个工作寄存器区的时候默认0区。其他工作区作为普通的RAM使用。特殊功能寄存器中有可以位寻址和不能位寻址的区域
在这里插入图片描述
在这里插入图片描述

下面文字引用
通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。这个特点提高了现场保护和现场恢复的速度。对于提高CPU的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。

在keil中使用不同的工作寄存器组的范例

下面是一个使用寄存器1的格式,使用关键字using
在这里插入图片描述

多个中断源如何设置

参考
多个中断的程序执行过程
在这里插入图片描述

中断系统结构

在这里插入图片描述

中断请求标志位

定时器和外部中断标志位

下面标志位一般不关心,因为不需要读取这些状态,直接进入中断函数处理。
在这里插入图片描述

串口中断标志位

实际上对于标志位还是串口使用比较多,通过标志位判断数据发送和接收
在这里插入图片描述

中断允许寄存器

在这里插入图片描述

中断优先级

MCS-51的中断请求源有2个中断优先级,表示为低优先级和高优先级,就可以通过一位控制一种中断的优先级
在这里插入图片描述
同级优先级,则根据中断的地址来判断先执行哪个中断,如下图所示,
在这里插入图片描述

多个中断程序设计的整体思路

1,必须设置中断控制寄存器IE和优先级控制寄存器IP

2,psw状态寄存器没必要设置

首先使用哪个寄存器,在keil中使用using关键字实现,这时没必要我们设置(不知道是不是编译中自动生成)。
实际来说,我们也不能确定什么时候来中断,而且中断就会进入工作寄存器中。在中断之前指定工作寄存器?指定哪个呢?不知道哪个中断使用的寄存器先被使用到。所以这个寄存器就当是一个读取中断标志位的寄存器就行。

3,中断函数中,一般会用到中断请求标志位的寄存器TCON和SCON(串口)

串口标志寄存器位使用较多,用于判定收发数据。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ABB机器人修改IO信号的具体方法介绍

ABB机器人修改IO信号的具体方法介绍 具体步骤可从参考以下内容: 导出IO配置文件 打开【控制面板】-【配置】-【I/O System】-【文件】-【‘EIO’另存为】,就可以保存IO配置文件【EIO.cfg】用RobotStudio软件打开EIO.cfg文件在软件界面,鼠标右击,选择【I/O信号数据编辑器】选…

嵌入式八股文

C/C基础 C和C有什么区别 C是⾯向对象的语⾔,⽽C是⾯向过程的语⾔; C引⼊ new/delete 运算符,取代了C中的 malloc/free 库函数; C引⼊引⽤的概念,⽽C中没有; C引⼊类的概念,⽽C中没有&#xff…

2024年,计算机相关专业还值得选择吗? 又该如何判断自己是否适合这类专业呢?

文章目录 一、2024年,计算机相关专业还值得选择吗?二、判断自己是否适合这类专业呢?三、哪所大学的计算机专业最好?四、计算机专业是否仍具有长远的发展潜力和就业前景呢? 一、2024年,计算机相关专业还值得选择吗? 在2024年选择大学专业时&#xff0…

人工智能ChatGPT的多种应用:提示词工程

简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理,如果想要 …

WWDC24Swift 6 崭新亮相,迁移至新 GitHub 组织

WWDC24 上的 Swift:Swift 6 崭新亮相,迁移至新 GitHub 组织 在今年的 WWDC24 大会上,苹果隆重推出了备受期待的 Swift 6 版本,并宣布将其迁移至全新的 GitHub 组织,同时庆祝 Swift 诞生十周年。 Swift 6&#xff1a…

DVWA-DC-6

靶机IP:192.168.20.140 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫描靶机端口及版本信息 dirsearch扫目录 发现是个wordpress建站 我们去访问前端界面 存在重定向,修改hosts文件,加入192.168…

性能测试------LoadRunner 详解

性能测试------LoadRunner的使用 一、什么是LoadRunner LoadRunner是一款由Micro Focus(以前是Hewlett-Packard或HP公司)开发的性能测试工具。它用于测试和分析系统在负载下的行为和性能。具体来说,LoadRunner可以模拟数千名用户同时访问应…

大众点评全国爱车店铺POI采集177万家-2024年5月底

大众点评全国爱车店铺POI采集177万家-2024年5月底 店铺POI点位示例: 店铺id H69Y6l1Ixs2jLGg2 店铺名称 HEEJOO豪爵足道(伍家店) 十分制服务评分 7.7 十分制环境评分 7.7 十分制划算评分 7.7 人均价格 134 评价数量 2982 店铺地址 桔城路2号盛景商业广场1-3…

命令模式:灯开灯关

文章目录 UML类图Command接口Invoker.javaLight.javaOnLightCommand.javaTest.java运行结果位置 UML类图 Command接口 这个你会,只有一个方法,并且接口里面是抽象方法 package mlms; /*- 这个你会,只有一个方法,并且接口里面是抽…

MMdeploy在cuda+tensorrt下的配置和编译

MMdeploy在cudatensorrt下的配置和编译 Python安装配置MMdeploy配置openmmlab系列从工程安装mmdeploy MMdeploy_runtime以及demo编译安装量化编译runtime和demo Python安装配置MMdeploy 配置openmmlab系列 pip install -U openmim如果mim命令遭遇故障,或者安装失败…

联想电脑电池只能充到80%,就不在充电了,猛一看以为坏了,只是设置了养护模式。

现在电池管理模式有三种: 1)常规 2)养护 3)快充 好久没有用联想的电脑了,猛一看,咱充到了80%不充了,难道电池是坏的?我们要如何设置才可以让其充电到100%呢? 右下角…

Tessy学习系列(四):组件测试——官方例程interior_light

一、新建工程 (1)新建工程 注意:路径不能包含空格与中文 (2)新建测试集 (3)新建组件测试模块 (4)设置测试模块为组件测试模块 二、导入源码 (1&#xff09…

DC入门篇——read和analyzeelaborate的区别

引言 DC读入设计文件有两种方式,一是read指令,二是 analyze&elaborate 的组合。下文将介绍两者的异同。 read 具体为 read -format verilog[db,vhdl...] file #dcsh model read_db file.db #tcl model read_verilog fil…

5.4 安全策略和控制 方法实现探讨

安全策略概述: 定义 安全策略是一组规则和措施,旨在保护组织的信息和资产免受潜在的威胁和攻击。它的制定和实施需要考虑组织的特定需求和风险,并采取适当的措施来减少潜在的安全漏洞。安全策略的定义包括以下几个方面: 1. 目标和范围&…

【Vue】Vuex概述

文章目录 一、使用场景二、优势三、注意 官网:https://vuex.vuejs.org/zh/ Vuex 是一个 Vue 的 状态管理工具,状态就是数据。 工具可以直接理解成插件 大白话:Vuex 是一个插件,可以帮我们管理 Vue 通用的数据 (多组件共享的数据)…

信息学奥赛初赛天天练-26-CSP-J2023基础题攻略,组合数学、高精度算法、计算机存储奥秘与操作系统实践

PDF文档公众号回复关键字:20240611 单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 6 小明在某一天中依次有七个空闲时间段,他想要选出至少一个空闲时间段来练习唱歌,但他希…

NOSQL -- ES

第三个我们比较常用的NOSQL类型的数据库 --- ES 介绍: ES的全称(Elasticsearch) ES是一个分布式全文搜索的引擎 也就是我们平常在购物, 搜索东西的时候常用的, 就是一个ES的类型, 分布式全文搜索引擎 查询原理: 1>分词: 在查询之前, 其会将一些数据拆分开, 按照词进行拆分…

linux pxe和无人值守

一 PXE和无人值守 pxe c/s模式 允许客户端通过网络从远程服务器(服务端)下载引导镜像 加载安装文件 实现自动化安装操作系统 无人值守 就是安装选项不需要认为干预 可以自动化实现 pxe的优点 1 规模化 同时装配多台服务器 20多 30台 2 自动化 …

Mysql查询分析工具Explain的使用

一、前言 作为一名合格的开发人员,与数据库打交道是必不可少的,尤其是在业务规模和数据体量大规模增长的条件下,应用系统大部分请求读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的&…

电子科技大学卓中卓二轮——分析笔记

1. 子系统的关键工作原理 在Linux子系统(Subsystem for Linux, 简称WSL)中,API(应用程序编程接口)的转换和映射是一个关键过程,目的是让Windows应用程序能够与Linux环境中的系统调用无缝交互。WSL使用了名…