本程序是GPIO程序

源代码在线查看: main.s

软件大小: 41 K
上传用户: reed2453
关键词: GPIO 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				;***************************************************************************
				;* 文 件 名: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			

相关资源