这些都是比较抽象的专业名词了,特别是寄存器,很多人在学单片机的时候对这个一脸懵逼,寄存器到底是个啥玩意?
其实不用很深刻的理解它到底是什么,你只需要知道通过配置寄存器的值,就可以把外设用起来。
我做单片机开发的这10几年,接触寄存器非常多,比如单片机有寄存器,很多外围芯片也有寄存器(EEPROM、FLASH、时钟芯片等),只要你掌握其中一个,其它的都可以触类旁通。
就像密码锁一样,设置正确的密码,锁就会打开,寄存器也是一样,设置正确的值,芯片资源就能为你所用。
下面更加全面地介绍下它们之间的区别:
一、寄存器
在单片机应用上,寄存器(register)通常用于存储程序的运行时状态,例如程序计数器(Program Counter,PC)用于存储下一条将要执行的指令的内存地址。
它还可以用于存储一些临时变量、函数参数、返回值等。
那这样做有什么优势呢?
举个例子:
假设你正在做一道复杂的数学题,中间有些计算结果需要暂时存起来。
你可以将这些结果写在纸上,但每次需要使用时,都要去找到对应的纸条,这可能会很耗时。
而如果你将这些中间结果直接写在自己手上,你是不是可以更快找到它们?这样你就可以更快地完成整个数学题。
在计算机中,寄存器就像是计算机的“手”,用于暂存中间结果,让程序更快地运行。
那人只有两只手,不能记太多数据,寄存器也是一样的,是稀缺资源,容量也很小,且它的数据在断电后就消失了。
寄存器、存储器、RAM和ROM都是计算机系统中常见的术语,它们在计算机的存储系统中都扮演着不同的角色,下面将对它们进行通俗易懂的解释。
二、存储器
我们先来看一张图:

其实RAM和ROM都是属于存储器,RAM代表随机存储器,ROM代表只读存储器。
1.RAM
随机存储器(RAM)是计算机存储器的一种,它的特点是数据可以随机存取。
读取和写入速度非常快,但需要不间断的电源供应。
RAM可以被CPU读取和写入数据,且存储器中的数据在断电后会丢失。
RAM还分为静态存储(SRAM)和动态存储(DRAM)两种,SRAM比DRAM速度更快,所以价格也更贵。
在单片机应用里面,一般RAM用来存变量、函数参数、返回值等数据,掉电后数据会丢失。
2.ROM
只读存储器(ROM)是一种只能读取数据,不能写入数据的存储器,数据一旦写入之后就无法更改。
ROM存储器中的数据是固化在芯片中的,断电后数据不会丢失。
ROM被用于存储固化的程序和数据,例如BIOS、固件等。
常见的ROM有EPROM、EEPROM、Flash等。
在单片机的应用里,ROM一般用来存储程序,或者一些固化的图片数据。
三、总结
寄存器、存储器、RAM和ROM都是计算机存储系统中的重要部分。
它们的主要区别在于容量、速度、可读写性和数据的持久性等方面。
寄存器的容量最小,速度最快,但数据在断电后会丢失。
存储器容量比寄存器大,读写速度慢,但数据可以持久保存。
RAM可以读写数据,但数据在断电后会丢失;
ROM只能读取数据,数据可以长期保存。
它们的特性不同,在计算机系统中分别扮演不同的角色。
寄存器通常用于存储CPU内部的临时数据和控制指令。
存储器被用来存储计算机程序和数据,包括操作系统、应用软件和用户数据等。
RAM用于存储需要频繁读写的数据,例如程序运行中的变量和缓存等。
而ROM则被用来存储固化的程序和数据,例如BIOS、固件、启动程序等。
上一篇:单片机选型看哪些参数?单片机选型原则
下一篇:单片机常用的开发软件有哪些?
推荐阅读
史海拾趣
阿尔特拉(Altera Corporation)是一家以可编程逻辑器件(FPGA)和相关技术为主的半导体公司,成立于1983年,总部位于美国加利福尼亚州的圣塔克拉拉。以下是关于阿尔特拉公司发展的五个相关故事:
创立与早期发展:阿尔特拉公司由Robert Hartmann和Michael Magranet等人于1983年创立,最初致力于设计和制造电可擦除可编程只读存储器(EEPROM)。1984年,公司推出了业界第一个商用FPGA产品,即EP300系列,标志着阿尔特拉在FPGA领域的开创性突破。随后,公司不断扩大产品线,加大研发投入,逐步成为FPGA领域的领军企业之一。
FPGA技术创新:阿尔特拉公司在FPGA技术方面持续进行创新。1992年,公司推出了基于静态随机存储器(SRAM)的FPGA器件,使得FPGA在速度和灵活性方面有了显著提升。此后,阿尔特拉不断推出新的器件系列和工具软件,以满足客户对于性能和可编程性的不断提升的需求。
与竞争对手的竞争:在FPGA市场,阿尔特拉与Xilinx是两大主要竞争对手。两家公司之间展开了激烈的竞争,包括技术研发、产品性能、市场份额等方面。为了在市场上取得优势,阿尔特拉不断加大研发投入,推出了一系列领先的产品和解决方案,并通过全球销售网络拓展市场。
收购与合并:阿尔特拉公司在发展过程中进行了多次收购与合并,以扩大市场份额和提升技术实力。2015年,英特尔公司以约160亿美元的价格收购了阿尔特拉,将其并入英特尔旗下成为其子公司。这一收购使得英特尔得以整合阿尔特拉的FPGA技术和产品,进一步巩固了其在半导体行业的地位。
公司发展与创新:作为英特尔的子公司,阿尔特拉继续致力于技术创新和业务拓展。公司不仅持续改进现有产品的性能和功能,还积极投入到新兴领域的研发与应用,如数据中心、人工智能、物联网等。阿尔特拉通过不断推出创新产品和解决方案,保持了在半导体行业的领先地位。
以上是关于阿尔特拉公司发展的五个相关故事,这些故事展示了阿尔特拉从创立初期到被英特尔收购的发展历程,以及其在FPGA技术领域的技术创新、市场竞争和业务拓展等方面的重要进展。
Fenwal Controls深知,只有与合作伙伴携手共进,才能实现共赢。因此,公司积极寻求与产业链上下游企业的合作机会。通过与原材料供应商、设备制造商、分销商等合作伙伴的紧密合作,Fenwal Controls不仅降低了采购成本、提高了生产效率,还拓展了销售渠道、增强了品牌影响力。这些合作关系的建立,为Fenwal Controls的长期发展奠定了坚实基础。
EM Devices Corporation的创始人在电子工程领域有着深厚的背景,他们看到了当时市场上对高性能电子元件的迫切需求。于是,他们决定创办EM Devices Corporation,专注于研发和生产高质量的电子元件。起初,公司面临了资金、技术和市场等多方面的挑战。然而,凭借创始人对技术的执着追求和对市场的敏锐洞察,公司成功研发出了一款具有竞争力的产品,并逐渐在市场上获得了认可。
随着电子技术的快速发展,Honda Tsushin Kogyo不断加大研发投入,致力于技术创新和产品升级。公司可能引入了先进的生产设备和技术人才,推动了产品线的拓展。从最初的简单连接器产品,逐步发展到包括Board To Board、Board To Cable、Cable To Cable、I/O、Card、Coxial、Optical、Power等在内的多种电子连接器产品。这些产品广泛应用于通信、计算机、汽车、航空航天等多个领域,为公司带来了更广阔的市场空间。
为了进一步扩大市场份额,Cellergy公司积极寻求与其他电子企业的战略合作。通过与一家知名电子产品制造商的合作,Cellergy公司的电容器产品得以进入更广阔的市场。双方共同研发新产品,共享技术和市场资源,实现了互利共赢。这一合作不仅提升了Cellergy公司的知名度,也为其带来了更多的商业机会。
随着全球经济的日益一体化,国际合作成为许多公司拓展市场的重要途径。假设ATC在某次国际技术交流会上与一家欧洲知名电子企业达成了合作协议,双方共同开发了一款新型陶瓷电容器。这款电容器不仅性能卓越,而且成本相对较低,因此在全球市场上受到了广泛的欢迎。通过这次合作,ATC不仅提升了自身的技术实力,也进一步拓展了海外市场。
|
从采购、存储、生产制造、 包装、装卸/搬运、运输、流通加工、配送、销售到服务,都是供应链上环环相扣的业务环节和流程,它们之间是相辅相成又相互制约的。在供应链运作时,企业必须实时地、精确地了解和掌握整个供应链上的商流、物流、信息 ...… 查看全部问答∨ |
红外遥控MP3小音箱,遥控板自制,使用锂电池,USB口充电,可以遥控关机、调音量、静音等功能,所有功能既可以用遥控器控制,也可以用音箱上的按键控制,MCU使用at89c2051,音量调节使用美信的数字电位器。 感兴趣联系owlcjy@163.com… 查看全部问答∨ |
|
我昨天问过在PXA270上扩展SDIO接口的问题,其中shuiyan提到了可以使用SD卡切换功能,在不同的SDIO设备之间不断做切换。由于没有做过这个切换的动作,SD卡驱动也是PXA270自带的,没有亲手写过,所以暂时没啥概念,特请shuiyan帮忙说明一下切换的流程 ...… 查看全部问答∨ |
|
|
最近做的JZ4730的一个项目,想要修改自己做的PS2驱动的注册表值,参照了本身程序里的串口的程序,有一个地方不清楚 IF BSP_JZ47_UART0 [HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\Serial] \"Order\"=dword:0 \"InterfaceT ...… 查看全部问答∨ |
我在WINCE OS里写了一个自启动批处理程序,每次CE OS启动后就自动打开CMD DOS执行了该程序,我希望DOS执行这个批处理文件后,自动关掉DOS窗口, 请问如何做? 前提:关掉DOS窗口时不能杀死那个批处理程序,让批处理程序在后台运行。 谢谢!!!… 查看全部问答∨ |
|
关于STM32上移植uclinux看到网上有移植成功的,我也按照官方的文档直接下载了他们提供的烧写文件,我的开发板是ARMFLY(安富莱)的STM32F103ZE-EK 2.0,1M的SRAM,16M NOR Flash,资源上没问题,下载成功后,启动后只一条打印信息:platform Initialis ...… 查看全部问答∨ |
|
|
Powerpcb自带特性阻抗计算的方法Powerpcb中本身自带有特性阻抗计算的功能。 方法如下: 1、在Setup/Layer definition中把需要定义为地或电源层相应层定义为Cam Plane。 2、并在Layer Thinkness中设置你的层叠的结构(即各层的厚度、板材的介电常 ...… 查看全部问答∨ |
一个完全用Proteus 8.0编译和测试的基于LM3S301的闪烁灯实验 俺最近想花点时间玩玩LM M3/M4,俺申请到了几块TI的板子,在DK-LM3S8962上试了试 用labview自动生成ARM Cortex M3的代码,从实验结果看还行,那天我把用labview生成的代码 搬移到Proteus8.0上来测试。今天给坛友们分享一个,俺刚刚完全用Proteus ...… 查看全部问答∨ |



ASM10DTBD-S664






京公网安备 11010802033920号