基于smartarm平台的lpc2200开发板源码
源代码在线查看: main.s
;***************************************************************************
;* 文 件 名:main.S
;* 功 能:读取I/O引脚值,并输出控制蜂鸣器。
;* 使用I/O口输入方式对P0.20口进行扫描,对蜂鸣器控制。
;* 说 明:将跳线器JP2 JP4短接,JP7断开。按下KEY1观察BUZZER效果。
;***************************************************************************
INCLUDE LPC2294.INC
EXPORT MAIN
BEEPCON EQU 0x00000080 ; P0.7引脚控制B1,低电平蜂鸣
KEY EQU 0x00100000 ; 定义P0.20屏蔽字
AREA READPINC,CODE,READONLY
ENTRY
CODE32
MAIN LDR R0,=PINSEL0 ; 装载寄存器地址,
MOV R1,#0x00000000 ; 设置数据,即设置管脚连接GPIO
STR R1,[R0] ; PINSEL0 = 0x00000000
LDR R0,=IO0DIR
LDR R1,=BEEPCON
STR R1,[R0] ; 设置BEEP控制口为输出,其它I/O为输入
MAIN_LOOP LDR R0,=IO0PIN
LDR R1,[R0]
ANDS R1,R1,#KEY ; 屏蔽有效位,判断P0.20口电平
LDREQ R0,=IO0CLR ; 若P0.20口为低电平,则设置R0=IO0CLR
LDRNE R0,=IO0SET ; 若P0.20口为高电平,则设置R0=IO0SET
LDR R1,=BEEPCON
STR R1,[R0]
DELAY MOV R7,#0xFF0 ; 软件延时
DELAYS_L1 SUBS R7,R7,#1
BNE DELAYS_L1
B MAIN_LOOP
END