gec210 led裸机开发 汇编指令

21 篇文章 2 订阅
14 篇文章 1 订阅

软件环境: ADS1.2
硬件平台: GEC210开发板

运行方法:使用uboot下载到内存0x30008000,然后使用go命令运行,查看效果。


该程序的效果,开始为led全部点亮,然后按照二进制加法的变化,直到所有的灯都熄灭,然后又循环。该程序不会再返回到uboot了,是死循环



原理图说明:
    4个led通过上拉电阻统一连接到电源正极,led阴极连接到GPJ2io相应的0-3号引脚
    所以这4个led都是cpu输出低电平就会点亮,cpu输出高电平led就会熄灭
    
    程序代码如下:




    AREA init,code,readonly     ;设置段属性,代码段,代码段取名inti,只读属性
    entry                       ;入口,同一个工程不应该出现多个入口

    
    ldr r0,=0xe0200280     ;led对应GPIO的控制寄存器
    ldr r1,=0x1111         ;配置为输出模式
    str r1,[r0]            ;配置对应引脚为输出模式
loop0    
    mov r1,#0x0
loop    
    strb r1,[r0,#4]
    add r1,r1,#1
    bl delay
    cmp r1,#0xf
    bne loop
    b loop0
        

    mov pc,lr           ;如果是uboot中使用go命令的话,那么就是跳回到uboot中  

                              ;不适用与本程序,因为前面是死循环。

    
;延时函数,就是让cpu做一些与led无关的事情,比如减法。
delay
    mov r2,#0xff00000
delay1
    subs r2,r2,#1
    bne delay1
    mov pc,lr                          ;直到减为0,delay函数才会返回
    

    end


备注:如果使用linux的arm-linux-gcc编译的话,注意一些使用的差异。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大智兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值