ARM32day4

1.思维导图

2.实现三个LED灯亮灭

bash 复制代码
.text 
.global _start
_start: 


 @使能GPIO外设时钟 
LDR R0,=0x50000A28
LDR R1,[R0]
 @使能GPIOE  
ORR R1,R1,#(0X1<<4)
 @使能GPIOF  
ORR R1,R1,#(0X1<<5)
STR R1,[R0]

@设置引脚状态
LDR R0,=0X50006000
LDR R1,[R0]
@设置PE10为输出
BIC R1,R1,#(0X3<<20)
ORR R1,R1,#(0X1<<20)
@设置PE8为输出
BIC R1,R1,#(0X3<<16)
ORR R1,R1,#(0X1<<16)
STR R1,[R0]

LDR R0,=0X50007000
LDR R1,[R0]
@设置PF10为输出
BIC R1,R1,#(0X3<<20)
ORR R1,R1,#(0X1<<20)
STR R1,[R0]

 @设置引脚输出模式
LDR R0,=0X50006004
LDR R1,[R0]
@设置PE10为推挽输出
BIC R1,R1,#(0X1<<10)
@设置PE8为推挽输出
BIC R1,R1,#(0X1<<8)
STR R1,[R0]
 
 LDR R0,=0X50007004
LDR R1,[R0]
@设置PF10为推挽输出
BIC R1,R1,#(0X1<<10)
STR R1,[R0]

@设置引脚速度
LDR R0,=0X50006008
LDR R1,[R0]
@设置PE10为低速输出
BIC R1,R1,#(0X3<<20)
@设置PE8为低速输出
BIC R1,R1,#(0X3<<16)
STR R1,[R0]

LDR R0,=0X50007008
LDR R1,[R0]
@设置PF10为低速输出
BIC R1,R1,#(0X3<<20)
STR R1,[R0]

@设置无上拉下拉电阻
LDR R0,=0X5000600C
LDR R1,[R0]
@设置PE10
BIC R1,R1,#(0X3<<20)
@设置PE8
BIC R1,R1,#(0X3<<16)
STR R1,[R0]

LDR R0,=0X5000700C
LDR R1,[R0]
@设置PF10
BIC R1,R1,#(0X3<<20)
STR R1,[R0]


loop:
BL LED1_ON
BL DELAY
BL LED2_ON
BL DELAY
BL LED3_ON
BL DELAY
BL LED1_OFF
BL DELAY
BL LED2_OFF
BL DELAY
BL LED3_OFF
BL DELAY
    b 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

DELAY:
LDR R3,=0X10000000

MM:
CMP R3,#0
SUBNE R3,R3,#1
BNE MM
MOV PC,LR

.end
相关推荐
sheepwjl1 天前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
DebugKitty2 天前
硬件开发2-ARM裸机开发1-I.MX6ULL - 汇编点灯
汇编·makefile·imax6ull·gpio·电路复用
我菜就多练2 天前
ARM-汇编的基础知识
汇编·arm开发
(Charon)2 天前
函数之间跳转的实现方式详解:setjmp/longjmp、ucontext 与汇编
汇编
起个昵称吧3 天前
立即数、栈、汇编与C函数的调用
c语言·开发语言·汇编
mysla4 天前
嵌入式学习day46-硬件—汇编
汇编·学习
zgc12453674 天前
汇编基础2
汇编
出门吃三碗饭5 天前
编译器构造:从零手写汇编与反汇编程序(一)
android·汇编
JCBP_5 天前
QT(3)
开发语言·汇编·c++·qt·算法
出门吃三碗饭5 天前
编译器构造:模拟器,汇编与反汇编
汇编