中南大学嵌入式系统实验四

AREA test, CODE, READONLY
ENTRY
pGPBCON EQU 0x56000010 ;Port B control
pGPBDAT EQU 0x56000014 ;Port B data
pGPBUP EQU 0x56000018 ;Pull-up control B
rGPFCON EQU 0x56000050 ;Port F control
rGPFDAT EQU 0x56000054 ;Port F data
rGPFUP EQU 0x56000058 ;Pull-up control F
start
LDR R0, =pGPBCON ;设置Port B的0号口为输出口
LDR R1, [R0]
ORR R1, R1, #0x01
STR R1, [R0]
LDR R0, =pGPBUP ;上拉port B的0号口
LDR R1, [R0]
ORR R1, R1, #0x01
STR R1, [R0]
ldr r0,=rGPFCON ;设置Port F的4,5,6,7号口为输出口
ldr r1,=0x5500
str r1,[r0];
ldr r0,=rGPFUP ;上拉port B的4,5,6,7号口
ldr r1,=0xffff
str r1,[r0]
mov r4,#0x2
mov r3,#0x3

LED_on
LDR R0, =rGPFDAT ;点亮LED3
MOV R1, #0xD0;
STR R1,[R0]
MOV R2, #0x100000
BL delay
LED_off
MOV R1, #0xf0; ;熄灭LED灯
STR R1,[R0]
MOV R2, #0x100000
BL delay

sub r4,r4,#0x01
cmp r4,#0x0
bne LED_on
mov r4,#0x2
Beep_on
LDR R0, =rGPFDAT
MOV R1, #0xf0; ;熄灭LED灯
STR R1,[R0]
LDR R0, =pGPBDAT ;蜂鸣器鸣叫
LDR R1, [R0]
ORR R1, R1, #0x01
STR R1, [R0]
MOV R2, #0x100000
BL delay

Beep_off
BIC R1, R1,#0x1 ;蜂鸣器停止鸣叫
STR R1, [R0]
MOV R2, #0x100000
BL delay

sub r4,r4,#0x01
cmp r4,#0x0
bne Beep_on
mov r4,#0x2
LED_on1
LDR R0, =rGPFDAT ;点亮LED3
MOV R1, #0xE0;
STR R1,[R0]
MOV R2, #0x100000
BL delay
LED_off1
MOV R1, #0xf0; ;熄灭LED灯
STR R1,[R0]
MOV R2, #0x100000
BL delay
Beep_on1
LDR R0, =pGPBDAT ;蜂鸣器鸣叫
LDR R1, [R0]
ORR R1, R1, #0x01
STR R1, [R0]
MOV R2, #0x100000
BL delay
Beep_off1
BIC R1, R1,#0x1 ;蜂鸣器停止鸣叫
STR R1, [R0]
MOV R2, #0x100000

sub r3,r3,#0x01
cmp r3,#0x0
bne LED_on1

mov r3,#0x3
LED_on2
LDR R0, =rGPFDAT ;点亮四个LED灯
MOV R1, #0x00;
STR R1,[R0]
MOV R2, #0x100000
BL delay
LED_off2
MOV R1, #0xf0; ;熄灭四个LED灯
STR R1,[R0]
MOV R2, #0x100000
BL delay
Beep_on2
LDR R0, =rGPFDAT
MOV R1, #0xf0; ;熄灭LED灯
STR R1,[R0]
LDR R0, =pGPBDAT ;蜂鸣器鸣叫
LDR R1, [R0]
ORR R1, R1, #0x01
STR R1, [R0]
MOV R2, #0x100000
BL delay

Beep_off2
BIC R1, R1,#0x1 ;蜂鸣器停止鸣叫
STR R1, [R0]
MOV R2, #0x100000
BL delay

sub r4,r4,#0x01
cmp r4,#0x0
bne Beep_on2
mov r4,#0x2

b LED_on

delay ;延时子程序
SUB R2, R2, #0x1
CMP R2, #0x0
BNE delay
MOV PC, LR
NOP
END

相关文档
最新文档