S3C2440A汇编实现流水灯

硬件

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
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值