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

相关推荐
女神下凡10 小时前
RISC‑V 对比 ARM,实际项目到底怎么选?
arm开发
珞光电子USRP SDR软件无线电平台2 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
Jason_zhao_MR2 天前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式
ARM|X86+FPGA工业主板厂家3 天前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
一池秋_4 天前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
qq_402995754 天前
诊断协议栈配置Agent
arm开发·人工智能·stm32·单片机·mcu
一木 之林6 天前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
hongmai6668887 天前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
隔窗听雨眠8 天前
ARM架构下Logstash与Elasticsearch集群部署完全指南:从环境适配到生产验证
arm开发·elasticsearch·架构
郭老师-嵌入式8 天前
arm linux 移植 udhcp 与 使用
linux·服务器·arm开发