ARM指令实验中编写一段代码让LED灯D13不停的闪烁

ARM指令实验中编写一段代码让LED灯D13不停的闪烁,第1张

以下是本人在mini2440开发板自己亲自总结的点灯程序,我不知道你此陆用的是什么开发板和扒没,相信以你的能力转换一下就可以解决了!要使他 “不停的闪烁”其实就是利用循环控制相应寄存器的输出输入状态

@***************

@file:head.s

@功能:点亮两个led灯

@***************

@下面三行为工业流程,固定写法

.text

.global _start

_start:

ldr r0,=0x56000010 @将r0设置为GPBCON寄存器,并装载GPBCON寄存器的地址

ldr r1,=0x15400@设置GPB5-8四个引脚为输出状态(CPU发出信号给GPB引脚)

str r1,[r0]@把寄存器中的数据r1写道内存中去

ldr r0,=0x56000014 @将r0设置为GPBDAT寄存器,并装载GPBDAT寄存器的地址

flash:

ldr r1,=0x180 @对GPBDAT寄存器的5-8位进行设置

str r1,[r0]@把寄存器中的数据r1写道唤纳内存中去,四个灯的状态两不亮

bl wait@跳转的同时保存下一条指令的地址给链接寄存器

ldr r1,=0x1e0 @对GPBDAT寄存器的5-8位进行设置

str r1,[r0]@把寄存器中的数据r1写道内存中去,四个灯的状态全不亮

bl wait

b flash

@下面一个循环(相当延时)

wait:

ldr r2,=0xfff0

loop:

subs r2,r2,#1

bne loop

mov pc,lr@利用链接寄存器跳回去

stop:

b stop

"每按一下复位键灯亮一个,按12下复位键,亮12个LED灯",“复位键”?!

如果是这样,恐怕很难用程序控制吧。如果你知道答案了腊启燃话,麻旁仿烦发个消息通知轮虚我一下。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12426787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存