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

相关推荐
一起搞IT吧1 天前
嵌入式ARM SOC开发中文专题分享一:ARM SOC外围资源介绍
arm开发·嵌入式硬件
研华嵌入式1 天前
如何在高通跃龙QCS6490 Arm架构上使用Windows 11 IoT企业版?
arm开发·windows·嵌入式硬件
优雅鹅2 天前
ARM、AArch64、amd64、x86_64、x86有什么区别?
arm开发·学习
sheepwjl2 天前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
我菜就多练2 天前
ARM-汇编的基础知识
汇编·arm开发
carysu2 天前
交换机协议栈FRR中使用
arm开发
Aczone282 天前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发
m0_620355193 天前
sqlite3移植和使用(移植到arm上)
arm开发
XINVRY-FPGA3 天前
XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
arm开发·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程·fpga
大家的笔记本3 天前
jetson orin super nano(arm linux系统)上读取大恒图像工业相机(型号MER-050-560U3C)教程
linux·arm开发·相机