led操作

#define GPJ0CON 0xE0200240

#define GPJ0DAT 0xE0200244


.global _start //声明_start作用域为全局

_start:

ldr r0, =0x11111111//等号为伪指令,对r0赋值

ldr r1, =GPJ0CN //对r1赋值,值为当前开发板GPJ0 Control Register 的地址

str r0, [r1]//寄存器间接寻址,将r1中的值写入GPJ0控制寄存器中,该值代表GPJ0处于output模式

blink:

ldr r0, =((0<<5) | (0<<4) | (0<<3))//将3,4,5位设置为0

ld r1, =GPJ0DAT //赋值为GPJ0DAT寄存器的地址

str r0, [r1]//将r0的值写入GPJ0DAT,引脚输出低电平

bl delay//暂停操作


ldr r0, =((1<<5) | (1<<4) | (1<<3))//将3,4,5位设置为1

ld r1, =GPJ0DAT //赋值为GPJ0DAT寄存器的地址

str r0, [r1]//将r0的值写入GPJ0DAT,引脚输出高电平

bl delay//暂停操作

bl blink//跳转至blink


//flag:

//b flag//进入死循环状态, 或使用b .


delay:

ldr r2, =0xA0000000
ldr r3, =0x0

delay_loop:

sub r2,  r2, #1//对r2进行减1操作并写入r2

cmp r2, r3//比较r2,3是否相等

bne delay_loop//不相等则执行delay_loop

move pc, lr//返回调用delay处执行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值