.text
.global _start
_start:
@设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1
ldr r0,=0x50000a28
ldr r1,[r0]
orr r1,#(0x1<<4)
str r1,[r0]
@设置PE10为输出模式 GPIOE_MODER[21:20]->01
ldr r0,=0x50006000
ldr r1,[r0]
bic r1,r1,#(0x3<<20)
orr r1,#(0x1<<20)
str r1,[r0]
@设置PE10为推挽输出 GPIOE_OTYPER[10]->0
ldr r0,=0x50006004
ldr r1,[r0]
bic r1,r1,#(0x1<<10)
str r1,[r0]
@设置PE10输出速度为低速 GPIOE_OSPEEDR[21:20]->00
ldr r0,=0x50006008
ldr r1,[r0]
bic r1,r1,#(0x3<<20)
str r1,[r0]
@设置PE10无上拉下拉 GPIOE_PUPDR[21:20]->00
ldr r0,=0x5000600c
ldr r1,[r0]
orr r1,r1,#(0x3<<20)
str r1,[r0]
/***********************PF10***************************/
@设置GPIOF10时钟使能 RCC_MP_AHB4ENSETR[5]->1
ldr r0,=0x50000a28
ldr r1,[r0]
orr r1,#(0x1<<5)
str r1,[r0]
@设置PF10为输出模式 GPIOE_MODER[21:20]->01
ldr r0,=0x50007000
ldr r1,[r0]
bic r1,r1,#(0x3<<20)
orr r1,#(0x1<<20)
str r1,[r0]
@设置PF10为推挽输出 GPIOE_OTYPER[10]->0
ldr r0,=0x50007004
ldr r1,[r0]
bic r1,r1,#(0x1<<10)
str r1,[r0]
@设置PF10输出速度为低速 GPIOE_OSPEEDR[21:20]->00
ldr r0,=0x50007008
ldr r1,[r0]
bic r1,r1,#(0x3<<20)
str r1,[r0]
@设置PF10无上拉下拉 GPIOE_PUPDR[21:20]->00
ldr r0,=0x5000700c
ldr r1,[r0]
orr r1,r1,#(0x3<<20)
str r1,[r0]
/**********************PE8****************************/
@设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1
ldr r0,=0x50000a28
ldr r1,[r0]
orr r1,#(0x1<<4)
str r1,[r0]
@设置PE8为输出模式 GPIOE_MODER[17:16]->01
ldr r0,=0x50006000
ldr r1,[r0]
bic r1,r1,#(0x3<<16)
orr r1,#(0x1<<16)
str r1,[r0]
@设置PE8为推挽输出 GPIOE_OTYPER[8]->0
ldr r0,=0x50006004
ldr r1,[r0]
bic r1,r1,#(0x1<<8)
str r1,[r0]
@设置PE8输出速度为低速 GPIOE_OSPEEDR[17:16]->00
ldr r0,=0x50006008
ldr r1,[r0]
bic r1,r1,#(0x3<<16)
str r1,[r0]
@设置PE8无上拉下拉 GPIOE_PUPDR[17:16]->00
ldr r0,=0x5000600c
ldr r1,[r0]
orr r1,r1,#(0x3<<16)
str r1,[r0]
@循环输出高低电平
loop:
LDR R0,=0X50006014
@LED1亮一秒
LDR R1,[R0]
ORR R1,R1,#(0X1<<10)
STR R1,[R0]
bl delay_1s
@LED1灭一秒
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
STR R1,[R0]
bl delay_1s
LDR R0,=0X50007014
@LED2亮一秒
LDR R1,[R0]
ORR R1,R1,#(0X1<<10)
STR R1,[R0]
bl delay_1s
@LED2灭一秒
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
STR R1,[R0]
bl delay_1s
LDR R0,=0X50006014
@LED3亮一秒
LDR R1,[R0]
ORR R1,#(0X1<<8)
STR R1,[R0]
bl delay_1s
@LED3灭一秒
LDR R1,[R0]
BIC R1,R1,#(0X1<<8)
STR R1,[R0]
bl delay_1s
b loop
delay_1s:
mov r3, #0x10000000
mm:
cmp r3, #0
subne r3, r3, #1
bne mm
mov pc, lr
.end
Day12.07
最新推荐文章于 2024-07-08 19:25:51 发布