ARM 三个小灯闪烁

.text

.global _start

_start:

@使能GPIOE的外设时钟

LDR R0,=0x50000A28 @指定基地址

LDR R1,[R0] @读取r0中的数据保存到r1中

ORR R1,R1,#(0X3<<4) @[4]设置为1,表示

STR R1,[R0] @将修改之后的值放回去

@设置PE10,PE8为输出

LDR R0,=0X50006000

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

BIC R1,R1,#(0X3<<16)

ORR R1,R1,#(0X1<<20)

ORR R1,R1,#(0X1<<16)

STR R1,[R0]

@设置PF10输出模式

LDR R0,=0X50007000

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

ORR R1,R1,#(0X1<<20)

STR R1,[R0]

@PE10,PE8设置推挽输出

LDR R0,=0X50006004

LDR R1,[R0]

BIC R1,R1,#(0X1<<10)

BIC R1,R1,#(0X1<<8)

STR R1,[R0]

@设置PF8为推挽输出

LDR R0,=0X50007004

LDR R1,[R0]

BIC R1,R1,#(0X1<<10)

STR R1,[R0]

@PE10,PE8设置低速输出

LDR R0,=0X50006008

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

BIC R1,R1,#(0X3<<16)

STR R1,[R0]

@PF10设置低速输出

LDR R0,=0X50007008

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

STR R1,[R0]

@PE10,PE8设置无上拉下拉电阻

LDR R0,=0X5000600C

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

BIC R1,R1,#(0X3<<16)

STR R1,[R0]

@PF10设置无上拉下拉电阻

LDR R0,=0X5000700C

LDR R1,[R0]

BIC R1,R1,#(0X3<<20)

STR R1,[R0]

@亮灭

LOOP:

BL LED1_ON

BL DEALY

BL LED1_OFF

BL LED2_ON

BL DEALY

BL LED2_OFF

BL LED3_ON

BL DEALY

BL LED3_OFF

BL LOOP

LED1_ON:

LDR R0,=0X50006014

LDR R1,[R0]

ORR R1,R1,#(0X1<<10)

STR R1,[R0]

MOV PC,LR

LED1_OFF:

LDR R0,=#0X50006014

LDR R1,[R0]

BIC R1,R1,#(0X1<<10)

STR R1,[R0]

MOV PC,LR

LED2_ON:

LDR R0,=0X50007014

LDR R1,[R0]

ORR R1,R1,#(0X1<<10)

STR R1,[R0]

MOV PC,LR

LED2_OFF:

LDR R0,=#0X50007014

LDR R1,[R0]

BIC R1,R1,#(0X1<<10)

STR R1,[R0]

MOV PC,LR

LED3_ON:

LDR R0,=0X50006014

LDR R1,[R0]

ORR R1,R1,#(0X1<<8)

STR R1,[R0]

MOV PC,LR

LED3_OFF:

LDR R0,=#0X50006014

LDR R1,[R0]

BIC R1,R1,#(0X1<<8)

STR R1,[R0]

MOV PC,LR

@延时

DEALY:

LDR R3,=0X10000000

MM:

CMP R3,#0

SUBNE R3,R3,#1

BNE MM

MOV PC,LR

.end

相关推荐
惶了个恐3 小时前
嵌入式硬件第十弹——ARM(6)
arm开发·stm32·嵌入式硬件·硬件工程
奋斗tree20 小时前
EulerOS 2.0 等保三级版(ARM 架构)是什么?
arm开发·架构
senijusene21 小时前
i.MX6ULL 裸机 ECSPI 驱动开发详解:
arm开发·驱动开发·嵌入式硬件
Arenaschi2 天前
国产麒麟X86结构和arm架构的区别
arm开发
EnglishJun2 天前
ARM嵌入式学习(二十一)--- Platform总线结合dts、gpio子系统、中断和错误处理
arm开发·学习
AI服务老曹2 天前
异构计算时代的安防底座:基于 x86/ARM 双架构与多芯片适配的 AI 视频云平台架构解析
arm开发·人工智能·架构
落樱弥城2 天前
Arm Mali GPU架构
arm开发·架构
The Mr.Nobody2 天前
基于STM32F407的 TFTP Server
arm开发·stm32·嵌入式硬件
飞凌嵌入式2 天前
如何用JishuShell在RK3588核心板上快速部署OpenClaw?
arm开发·人工智能·嵌入式硬件·openclaw
ai产品老杨2 天前
异构计算时代的安防底座:基于 x86/ARM 双架构与多芯片适配的 AI 视频云平台架构解析
arm开发·人工智能·架构