基于ARM单片机中的部分寄存器地址为什么会相差4

发布者:WanderlustSoul最新更新时间:2023-03-23 来源: elecfans关键字:ARM  单片机  寄存器地址 手机看文章 扫描二维码
随时随地手机看文章

图中是LPC1114用户手册系统控制模块(SYSCON)中的部分寄存器,请看红色框内,地址相差0x4。为什么会相差4?很多初学者问我这个问题,高手就请绕过吧。

基于ARM单片机中的部分寄存器地址为什么会相差4

计算机、单片机都是以字节为单位进行存储的。这里的4就是4个字节的意思。上面列举的LPC1114是ARM Cortex-M0内核,STM32是ARM Cortex-M3内核,这两ARM单片机都是32位的。1个字节是8位,4个字节就是32位。32位单片机的寄存器基本上是32位的,8位单片机的寄存器基本上也是8位的。


打开你曾经用过的reg51.h文件,看看普通51单片机的寄存器地址映射,一共不到100个寄存器,几下就写完了。但是ARM单片机内部的模块非常多,寄存器也非常多,寄存器地址映射文件如果像51那样写,也可以,但是还有一种更有利于程序阅读和书写的而方法,就是利用结构体,所以当你打开ARM单片机的寄存器映射文件后(例如lpc11xx.h、stm32f10x_map.h),你会看到,他们的地址全部采用结构体的形式,一个同类模块的所有寄存器被放在了同一个结构体内部。在以后写程序的时候,不论是书写还是阅读,都有很大的作用。例如下面一条语句:

LPC_SYSCON-》PRESETCTRL=0x1;

从语句中就可以看出,这是在对SYSCON模块中的PRESETCRTL寄存器进行配置。


关键字:ARM  单片机  寄存器地址 引用地址:基于ARM单片机中的部分寄存器地址为什么会相差4

上一篇:Android应用程序开发及USB数据采集系统的设计
下一篇:基于LPC2106微处理器实现微型足球机器人控制系统的设计

推荐阅读最新更新时间:2024-11-12 11:18

AVR单片机通过74HC595驱动数码管显示
一个很简单的avr单片机的仿真,用74hc595芯片来驱动单个数码管显示数字,下面是仿真原理图 源程序: #include iom16v.h #include macros.h void delay(int k){ int i=0,j=0; for(i=0;i k;i++){ for(j=0;j 6;j++){ ; } } } void InputData(unsigned char data){ unsigned char i; unsigned char k; for(i=0;i 8;i++){
[单片机]
AVR<font color='red'>单片机</font>通过74HC595驱动数码管显示
基于单片机的高精度海量数据采集与存储系统
   0 引言   随着信息技术的发展,特别是各种数字处理器件处理速度的提高,实现海量实时数据处理已成为现实。但是,在一些恶劣实验环境条件下,数据无法实现实时处理,仍需用到存储测试的方法。   存储测试是指在对被测对象无影响或影响在允许范围条件下,在被测体内置入微型存储测试系统,现场实时完成数据采集与存储,事后对存储器进行回收,由上位机处理和再现被测信息的一种动态测试技术。   针对具体情况,本文设计出了基于MSP430F1611单片机高精度海量数据采集与存储系统。该系统以MSP430F1611单片机为主控单元,采用16位高精度A/D转换芯片ADS1146 以及2 GB 容量的TF 存储卡实现数据的高精度采集与指定块存储;上
[单片机]
基于<font color='red'>单片机</font>的高精度海量数据采集与存储系统
51单片机-液晶1602
液晶是一种高分子材料,液晶显示器的主要原理是电流刺激液晶分子产生点,线,面并配合背面灯管构成画面。为叙述简单,把各种液晶显示器都直接叫做液晶。各种型号的液晶通常是按照显示字符的行数或液晶点阵的行列数来命名的。比如:1602的意思是每行显示16个字符,一共显示两行;类似的命名还有0801,0802,1601等,这类液晶通常都是字符型液晶,即只能显示ASCII码字符,如数字,大小写字母,各种符号等。12232液晶属于图形型液晶,他的意思是液晶有122列,32行组成。液晶的体积小,功耗低,显示操作简单,但是它有一个致命的弱点,其使用的温度范围很窄。 初始化设置: RAM地址映射图: 写操作时
[单片机]
51<font color='red'>单片机</font>-液晶1602
51单片机MLX90614红外温度计
/*********************************************************** * * 功能:利用MLX90614实现红外测温 * * 平台:keil5 + STC89C52 * * 作者:辟邪居士 * * * 日期:2020年9月19 * ************************************************************/ #include reg52.h #include intrins.h //************************************ #define uint unsigned int #defin
[单片机]
arm,体系结构,处理器模式,通用寄存器(转)
arm 英国公司,指出售芯片技术授权。 arm是RISC芯片。(RISC精简指令集计算机) arm体系结构共定义了6个版本,指令集功能不断扩大。 arm体系结构的变种。 1。thumb指令集:(T变种)是将arm指令集的一个子集重新编码形成的。arm指令长度是32位的,thumb是16位。 2。长乘法指令:(M变种)增加了两条进行长乘法操作的arm指令。 3。增强型DSP指令:(E变种)增加一些附加指令用于增强处理器对一些典型的DSP算法的处理性能。 4。java加速器 Jazelle:(J变种)提供了java加速功能。 5。arm媒体功能扩展:(SIMD变种)提供了高性能的视音频处理技术。 处理器模式: 1。用户模式us
[单片机]
单片机FLASH与RAM、ROM的关系
FLASH主要用作程序存贮器,就是替代以前的ROM,最大的有有点是降低了芯片的成本并且可以做到电擦写,目前市场上单片机的FALSH寿命相差比较大,擦写次数从1000~10万的都有,但存储时间可以保证40年,在选用时要注意。 还有一些廉价的单片机为了集成可掉电的数据存储器,没有选用价格昂贵的 EEPROM,而用FALSH来做的,但要注意其寿命最多就10万次,而且擦写不能字节擦写,这要注意使用的场合其寿命是否满足要求。 RAM是数据存储器,跟计算机里面的内存差不多,主要是用来存放程序运行中的过程数据,掉电后就会丢失之前的数据,所以程序在上电时需要进行初始化,否则上电后的数据是一个随机数,可能导致程序崩溃。 ROM就是程序存储
[单片机]
STC系列51单片机在Windows下的开发
简介 STC的8位MCU有89/90/10/11/12/15/8(A/F/G/H)这几个大系列, 都是8051衍生的8位单片机, 每个系列的特点如下 STC89系列 传统的8051单片机, 功能上和AT89系列兼容, 不同之处在于可以直接用串口烧录 属于12T单片机, 即指令需要12个时钟周期完成 带RC/RD+后缀的型号, 有6T模式 STC89LE52AD、54AD、58AD、516AD这几款带8通道8位ADC, 在P1口上 STC89C51, STC89C52系列工作频率可以到35MHz STC89C51RC/RD+系列工作频率可以到40MHz STC90系列 STC89系列的改进型 12T单片机 STC90C54AD这
[单片机]
STC系列51<font color='red'>单片机</font>在Windows下的开发
arm学习笔记二(arm寻址方式)
工作状态 arm状态 32位指令 thumb状态 16位指令 存储器的格式 最大寻址空间为4gb 大端格式:字数据的高字节存储在低地址中,低字节存放在高地址中 小端格式:与大端格式相反 axd查看寄存器 ================================================================= arm寻址方式(貌似计算机原理中学过) 处理器根据指令中给出的地址信息来寻找物理地址的方式 立即寻址 立即数寻址 示例代码如下: add r0,r0,#1; r0 --r0+1 add r0,r0,#0x3f; r0 --r0+0x3f 以十六进制表示的立即数要加0x或& 寄存器寻址 利用寄存器中的
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved