51单片机通过控制寄存器控制设备,那么程序中变量的运算职责由谁完成的呢

news/2024/7/8 3:30:19 标签: 51单片机, 嵌入式硬件, 单片机

单片机>51单片机(或更广泛地说,在任何微控制器或微处理器系统中)的程序执行过程中,变量的运算职责主要由中央处理器(CPU)完成。CPU 负责执行程序中的指令,包括对各种变量进行算术和逻辑运算。

当你编写程序并在单片机>51单片机上运行时,你的代码会被编译成机器码,这是一系列CPU能够理解的指令。这些指令告诉CPU要执行什么操作,包括如何加载和操作内存中的变量。

例如,如果你的程序中包含了一个加法运算,比如 a = b + c;,那么CPU会执行以下步骤:

  1. 将变量bc的值从内存中加载到CPU的寄存器中。
  2. 执行加法运算,将bc的值相加。
  3. 将结果存储回内存中的变量a

整个过程是由CPU根据程序中的指令来控制的。控制寄存器通常用于配置和控制单片机的硬件功能,如I/O端口、定时器等,而不是直接参与变量的运算。

总结:

单片机>51单片机虽然可以通过控制寄存器的值,影响寄存器的引脚,进而控制与引脚关联的硬件设备,这和x86框架下的那些cup内的寄存器是不同的,这里把寄存器分成两类更容易理解,内部寄存器,提供运算功能;控制寄存器,我们可以,再程序中读写的一些寄存器,但这些寄存器不是承载运算的功能,是承载了对外部设备信号控制的功能。

展开:

控制外部设备有两种方式,要么通过控制寄存器的引脚,要么通过一个通讯的通道直接传输信号。如果是后者需要依赖各种通讯协议。

引用参考

最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客


http://www.niftyadmin.cn/n/5536299.html

相关文章

前端代码规范 - 日志打印规范

在前端开发中,随着项目迭代升级,日志打印逐渐风格不一,合理的日志输出是监控应用状态、调试代码和跟踪用户行为的重要手段。一个好的日志系统能够帮助开发者快速定位问题,提高开发效率。本文将介绍如何在前端项目中制定日志输出规…

访问节点和创建节点的方法都有什么?

访问节点的方法:1、使用ownerDocument属性;2、使用parentNode属性;3、使用childNodes属性;4、使用firstChild属性;5、使用lastChild属性;6、使用nextSibling属性等。 javascript中创建节点的方法&#xff1…

华为HCIP Datacom H12-821 卷24

1.单选题 企业大楼有大量员工通常都在上班时在大厅开始接入到公司的WLAN网络,随着每位员工走到各自的工位过程中,每个人的移动端叶通过漫游的方式漫游到各自的网络覆盖区域。为了尽量保证每个终端的IP地址是固定的,建议的做法是? A、配置VLAN Pool并配置顺序算法 B、…

脑启发设计:人工智能的进化之路

编者按:你可以用左手(不常用的那只手)的小指与食指拿起一件物品么? 试完你是不是发现自己竟然可以毫不费力地用自己不常用的手中,两根使用频率相对较低的手指,做一个不常做的动作。这就是人类大脑不可思议…

【产品经理】订单处理11-订单修改场景梳理

为了应对订单修改的场景,电商ERP系统应该如何设计相应模块? 电商ERP系统,经常遇到需要修改订单的情况,修改订单主要以下几种场景: 一、修改商品 修改商品,包括对正常商品的换货、以及对赠品的增删改。 1…

Qt 实战(7)元对象系统 | 7.2、MOC(Meta-Object Compiler 元对象编译器)

文章目录 一、MOC1、MOC的作用2、MOC的工作原理3、MOC的使用方式4、MOC生成的文件结构 前言: 在Qt框架中,MOC(Meta-Object Compiler)是一个至关重要的工具,它负责处理Qt特有的元对象系统(Meta-Object Syste…

Java-List集合堆内存溢出

Java-List集合堆内存溢出 情况一情况二对照分析对照规定堆内存 情况一 往List<Object>的集合中不断插入元素&#xff0c;集合底层的数组会不断扩容&#xff0c;从0 -> 10 -> 10 10>>1…。最终出现堆内存溢出&#xff0c;是在扩容数组大小的时候。这里的过程…

项目进度管理(信息系统项目管理师)

资源平衡往往导致关键路径改变&#xff0c;通常是延长赶工是在确保工作范围不变的前提下&#xff0c;通过增加资源来缩短活动工期活动定义的输出有&#xff1a;活动清单、活动属性、里程碑清单、变更请求和项目管理计划&#xff08;更新&#xff09;