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

相关推荐
振南的单片机世界16 小时前
RS485组网三要素:负载、距离、终端电阻
arm开发·stm32·单片机·嵌入式硬件
傻童:CPU16 小时前
PS(ARM)中的寄存器和地址
arm开发
IAR Systems19 小时前
在IAR工具链中使用overlay命令进行SMP多核工程TCM配置
arm开发·嵌入式·嵌入式开发·iar
Mr..Jackey1 天前
瑞佑 RUI Builder 图形化 UI 设计工具
arm开发·人工智能·单片机·ui·人机交互·ra8889·lcd控制芯片
IAR Systems2 天前
使用IAR Arm工具链开发和调试Zephyr RTOS
arm开发·嵌入式·iar·zephyr
l'm coming2 天前
[linux]内核启动加载驱动文件的流程
linux·arm开发·驱动开发·嵌入式
Code-keys2 天前
ARM NEON SIMD 编程实战:从音频信号处理到AI算子研发实战
arm开发·音视频·信号处理
有什么事3 天前
云手机多开哪个强?ARM架构:云手机多开的信任基石与性能核心
arm开发·智能手机·架构
头枝3 天前
ARM Cortex-M DWT CYCCNT 必须显式初始化,jlink调试时正常,使用时异常的问题
arm开发·stm32·单片机·问题·cyccnt
咖喱年糕3 天前
KEIL5 编译错误解决:MDK 5.37 及以上版本添加 AC5(ARM Compiler 5)编译器
arm开发·单片机·keil·嵌入式软件·ac5