裸机第一步,万能的神灯

这篇博客介绍了单片机学习的基础步骤——点亮LED灯。作者从电路图中找到LED对应的IO口GPJ2_0 1 2 3,并通过数据手册查找相应寄存器Port GPJ2CON和GPJ2DAT。文章详细阐述了设置IO口模式、状态以及实现程序死循环的三个关键步骤,标志着单片机学习的开端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习单片机,点灯就相当于编程里打印hello world 的地位一样,学会点灯才算你开始接触单片机。

要点灯就要先找到灯,那么我们就应该从自己开发板的电路图开始找,找到LED对应的IO口,我的led:

可以看到IO口为GPJ2_0 1 2 3

那么我们知道了io口的名字就可以去数据手册里面找相应的寄存器了

Port Group GPJ2 Control Register (GPJ2CON, R/W, Address = 0xE020_0280)


Port Group GPJ2 Control Register (GPJ2DAT, R/W, Address = 0xE020_0284)

第一步:设置io口模式;

第二步:设置io口状态;

第三步:设置程序死循环;

.globl _start

_start:

	ldr r1,=0xe0200280
	ldr r2,=0x1111
	str r2,[r1]

	ldr r2,=0x000f

led_link:
	ldr r3,=0xe0200284
	ldr r4,=0xff
	str r4,[r3]

	bl delay

	ldr r3,=0xe0200284
	ldr r4,=0x00
	str r4,[r3]

	bl delay
	
	sub r2,r2,#1
	cmp r2,#0
	bne led_link

halt:
	b halt

delay:
	ldr r1,=0xf00000
delay_loop:
	cmp r1,#0
	sub r1,r1,#1
	bne delay_loop
	mov pc, lr
利用内存卡烧录进开发板即可
当然,你还可以耍出更多的花样


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值