.text
.global _start
_start:
@GPIOE外设时钟 4,5位设置1
LDR R0,=0X50000A28
LDR R1,[R0]
ORR R1,R1,#(0X3<<4)
STR R1,[R0]
@LED2--PF10
@LED3--PE8
@GPIOF外设时钟
@设置PE10为输出 20.21WEI 01
LDR R0,=0X50006000
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
ORR R1,R1,#(0X1<<20) @GPIO F
STR R1,[R0]
@设置PF10为输出 20.21WEI 01
LDR R0,=0X50007000
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
ORR R1,R1,#(0X1<<20) @GPIO F
STR R1,[R0]
@设置PE8为输出 16,17WEI 01
LDR R0,=0X50006000
LDR R1,[R0]
BIC R1,R1,#(0X3<<16)
ORR R1,R1,#(0X1<<20) @GPIO F
STR R1,[R0]
@设置PE10为推挽输出 10位为0
LDR R0,=0X50006004
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
@BIC R1,R1,#(0X1<<8) @LED3 8
STR R1,[R0]
@设置PF10为推挽输出 10位为0
LDR R0,=0X50007004
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
@BIC R1,R1,#(0X1<<8) @LED3 8
STR R1,[R0]
@设置PE8为推挽输出 8位为0
LDR R0,=0X50006004
LDR R1,[R0]
BIC R1,R1,#(0X1<<8)
STR R1,[R0]
@置PE10为低速输出
LDR R0,=0X50006008
LDR R1,[R0]
BIC R1,R1,#(0X3<<20) @20:21清0
STR R1,[R0]
@置PE10为低速输出
LDR R0,=0X50007008
LDR R1,[R0]
BIC R1,R1,#(0X3<<20) @20:21清0
STR R1,[R0]
@置PE8为低速输出
LDR R0,=0X50006008
LDR R1,[R0]
BIC R1,R1,#(0X3<<16) @17:16清0
STR R1,[R0]
@PE10设置无上拉电阻
LDR R0,=0X5000600C
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
STR R1,[R0]
@PF10设置无上拉电阻
LDR R0,=0X5000700C
LDR R1,[R0]
BIC R1,R1,#(0X3<<20)
STR R1,[R0]
@PE8设置无上拉电阻
LDR R0,=0X5000600C
LDR R1,[R0]
BIC R1,R1,#(0X3<<16)
STR R1,[R0]
loop:
@设置led1亮
BL LED_ON
BL DELAY
BL LED_OFF
BL DELAY
b loop
LED_ON:
LDR R0,=0X50006014
LDR R1,[R0]
ORR R1,R1,#(0X1<<10)
ORR R1,R1,#(0X1<<8)
STR R1,[R0]
@MOV PC,LR
LDR R2,=0X50007014
LDR R3,[R2]
ORR R3,R3,#(0X1<<10)
STR R3,[R2]
MOV PC,LR
LED_OFF:
@PE10
LDR R0,=0X50006014
LDR R1,[R0]
BIC R1,R1,#(0X1<<10)
BIC R1,R1,#(0X1<<8)
STR R1,[R0]
@MOV PC,LR
@PF10 10
LDR R2,=0X50007014
LDR R3,[R2]
BIC R3,R3,#(0X1<<10)
STR R3,[R2]
MOV PC,LR
DELAY:
LDR R3,=0X10000000
MM:
CMP R3,#0
SUBNE R3,R3,#1 @R3-1
BNE MM
MOV PC,LR
.end
ARM DAY3 3个灯
最新推荐文章于 2024-06-26 22:36:16 发布