ARM-day5作业

复制代码
.text 
.global _start
_start: 
@1、设置GPIOE、GPIOF寄存器的时钟使能  RCC_MP_AHB4ENSETR[4]->1     0x50000a28
LDR R0,=0x50000a28
LDR R1,[R0]
ORR R1,R1,#(0x3<<4)
STR R1,[R0]


@2、设置PE10、PF10、PE8管脚为输出模式   GPIOE_MODER[21:20]->01     0x50006000
LDR R0,=0x50006000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
STR R1,[R0]

LDR R0,=0x50007000
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
ORR R1,R1,#(0x1<<20)
STR R1,[R0]

LDR R0,=0x50006000
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
ORR R1,R1,#(0x1<<16)
STR R1,[R0]


@3、设置PE10、PF10、PE8管脚为推挽输出   GPIOE_OTYPER[10]->0       0x50006004
LDR R0,=0x50006004
LDR R1,[R0]
BIC R1,R1,#(0x1<<10)
STR R1,[R0]

LDR R0,=0x50007004
LDR R1,[R0]
BIC R1,R1,#(0x1<<10)
STR R1,[R0]

LDR R0,=0x50006004
LDR R1,[R0]
BIC R1,R1,#(0x1<<8)
STR R1,[R0]


@4、设置PE10、PF10、PE8管脚为低速输出   GPIOE_OSPEEDR[21:20]->00   0x50006008
LDR R0,=0x50006008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]

LDR R0,=0x50007008
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]

LDR R0,=0x50006008
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
STR R1,[R0]


@5、设置PE10、PF10、PE8管脚输出时没有上拉下拉电阻  GPIOE_PUPDR[21:20]->00   0x5000600c
LDR R0,=0x5000600c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]

LDR R0,=0x5000700c
LDR R1,[R0]
BIC R1,R1,#(0x3<<20)
STR R1,[R0]

LDR R0,=0x5000600c
LDR R1,[R0]
BIC R1,R1,#(0x3<<16)
STR R1,[R0]


@6、PE10、PF10、PE8输出高低电平    GPIOE_ODR[10]->1(高电平)  0(低电平)   0x50006014
loop:
	@LED1亮
	LDR R0,=0x50006014
	LDR R1,[R0]
	ORR R1,R1,#(0x1<<10)
	STR R1,[R0]
	BL delay

	@LED1灭
	LDR R0,=0x50006014
	LDR R1,[R0]
	BIC R1,R1,#(0x1<<10)
	STR R1,[R0]
	BL delay
	
	@LED2亮
	LDR R0,=0x50007014
	LDR R1,[R0]
	ORR R1,R1,#(0x1<<10)
	STR R1,[R0]
	BL delay

	@LED2灭
	LDR R0,=0x50007014
	LDR R1,[R0]
	BIC R1,R1,#(0x1<<10)
	STR R1,[R0]
	BL delay

	@LED3亮
	LDR R0,=0x50006014
	LDR R1,[R0]
	ORR R1,R1,#(0x1<<8)
	STR R1,[R0]
	BL delay

	@LED3灭
	LDR R0,=0x50006014
	LDR R1,[R0]
	BIC R1,R1,#(0x1<<8)
	STR R1,[R0]
	BL delay

	b loop

@封装延时函
delay:
	LDR R4,=0x10000000

mm:
	cmp R4,#0
	subne R4,R4,#1
	bne mm
	mov pc,lr
	

.end

现象:

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