硬件
4个LED灯对应
- GPB5
- GPB6
- GPB7
- GPB8
GPIO低电平输出点亮
软件
延时
死循环,调整寄存器r2的值
GPBCON
5,6,7,8管脚配置为输出模式(01),其他随意。
GPBUP
全部配置为1,不使用上拉功能
GPBDAT
每一位对应输出电平,此处0为点亮,配置方法如下:
(
1
<
<
I
O
)
x
o
r
(
0
x
1
f
f
)
(1<<IO) xor (0x1ff)
(1<<IO)xor(0x1ff)
5
<
=
I
O
<
=
8
5<=IO<=8
5<=IO<=8
Codes
AREA led_asm_test, CODE, READWRITE
ENTRY
pGPBCON EQU 0x56000010 ;Port B control
pGPBDAT EQU 0x56000014 ;Port B data
pGPBUP EQU 0x56000018 ;Pull-up control B
rMPLLCON EQU 0x4c000004
rCLKDIVN EQU 0x4c000014
;rCAMDIVN EQU 0x4c000018
start
ldr r0, =rMPLLCON
ldr r1, [r0]
LDR R1, =0x5c011;
str r1, [r0]
ldr r0, =rCLKDIVN
ldr r1, [r0]
MOV R1, #0x5;
str r1, [r0]
ldr r0, =pGPBCON
ldr r1, [r0]
MOV R1, #0x15400;
MOV R5, #0x5
MOV R3,#0x1
str r1, [r0]
ldr r0, =pGPBUP
mov r1, #0xFF
str r1, [r0]
led_loop
;LED1,2,3,4 light on and Beep on
ldr r0, =pGPBDAT
;mov r1, #0x01
LDR r1,=0x1ff
mov r4,R3,LSL R5
EOR R1,R1,R4
str r1,[r0]
LDR r2, =0xF4240
BL delay1
ADD R5,#0x1
CMP R5,#0x9
BEQ update
b led_loop
delay1
sub r2, r2, #0x1
cmp r2, #0x0
bne delay1
MOV PC,LR
update
MOV R5,#0x5
b led_loop
NOP
END