ARM裸机汇编语言实现led流水灯效果

硬件准备准备:电脑、study210(S5PV210)开发板配套工具

软件环境搭建:VMwave、Ubuntu-linux、arm2009q3编译工具链、makefile工程文件编写、bin文件加工程序

操作思路:

1、了解开发板的上LED部分的原理图,然后,根据引脚名称在数据手册查询对端口组功能与设置方法,软件操作硬件就往相应的寄存器读写数据;

2、代码实现:

#define GPJ0CON	0xE0200240
#define GPJ0DAT	0xE0200244


.global _start
_start:
	ldr r0, =0x11111111
	ldr r1, =GPJ0CON
	str r0, [r1]

loop:
	
	//ldr r0, =(1<<3|1<<5)
	ldr r0, =(0<<3 | 1<<4 | 1<<5)
	ldr r1, =GPJ0DAT
	str r0, [r1]
	
	bl delay
	
	ldr r0, =(1<<3 | 0<<4 | 1<<5)
	ldr r1, =GPJ0DAT
	str r0, [r1]
	
	bl delay
	
	ldr r0, =(1<<3 | 1<<4 | 0<<5)
	ldr r1, =GPJ0DAT
	str r0, [r1]
	
	bl delay
	
	b loop
	
delay:
	ldr r2, =10000000
	ldr r3, =0
delay_loop:
	sub r2, r2, #1
	cmp r2, r3
	bne delay_loop
	mov pc,lr
原文链接:,转发请注明来源!