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

相关推荐
byte轻骑兵5 小时前
BlueZ源码编译环境配置全指南:Linux桌面原生编译 + 嵌入式ARM交叉编译 + 定制裁剪与调试实战
linux·arm开发·蓝牙·bluez·电脑蓝牙
武汉万象奥科19 小时前
AGV导航控制器方案 | 基于HD-RK3576系列核心板的算控融合一体化平台
arm开发·嵌入式硬件·arm核心板·单板机
zlinear数据采集卡21 小时前
从“脏信号”到“纳伏级纯净”:硬核拆解DABL7606的多级抗混叠滤波与24位过采样算法
arm开发·科技·嵌入式硬件·fpga开发·开源
透明的玻璃杯1 天前
Arm屏幕
arm开发
Fu_Lin_1 天前
Qt嵌入式从零基础到精通(01):Qt嵌入式开发全景图:从桌面Qt到ARM Linux
linux·arm开发·qt·qt5·嵌入式linux
XMAIPC_Robot2 天前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
亿道电子Emdoor2 天前
【Arm】CoreSight ATB 简介
arm开发
Dlrb12112 天前
ARM---IMX6ULL定时器详解与应用:EPIT与GPT定时器,高精度延时函数
arm开发·gpt·arm·定时器·epit·高精度延时
Dlrb12113 天前
ARM -IMX6ULL的中断系统、GIC、CP15协处理器详细讲解
arm开发·arm·imx6ull·中断·gic·cp15·协处理器
碎光拾影3 天前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件