基于s5pv2410,cortex a8的四个按键每一个按键点了对应的灯
对于用汇编来编程的话不难,重点在于数据手册,电路图,管脚的看懂
直接上代码
.globl _start
_start:
ldr r0,=0xe0200c40 @按键控制寄存器的地址
ldr r1,[r0]
bic r1,r1,#0xff @bic一次只能清8为每四位控制一个按键
bic r1,r1,#0xff<<8 @把16位清为零控制四个按键为输入方式
str r1,[r0] @配置按键为输入方式
ldr r0,=0xe0200280 @led灯控制寄存器的地址
ldr r1,=0x1111
str r1,[r0] @配置led灯为输出方式
loop: @循环读取按键的值
ldr r1,=0xe0200c44
ldrb r0,[r1] @ read keys val
and r0,r0,#0xf
teq r0,#0xf @是否没有按下
beq loop @如果相等表示没有按键按下
@从这个地方开始就是有按键按下
mov r0,#0xf00 @延迟0xf00进行消抖
bl delay
ldr r1,=0xe0200c44
ldrb r0,[r1] @ read keys val
and r0,r0,#0xf
teq r0,#0xf @是否没有按下
beq loop
@确定有按键按下
mov r1,r0
ldr r0,=0xe0200280
str r1,[r0,#4]
b loop
delay: @延迟函数r0为参数每次减一
subs r0,r0,#1
bne delay @r0不为0继续循环
mov pc,lr
上一篇:STM32小知识笔记
下一篇:OK6410 NandFlash硬件初体验
推荐阅读最新更新时间:2024-03-16 15:29
设计资源 培训 开发板 精华推荐
- 助力初创公司~21种Maxim评估板来了!免费领取进行中!
- 改变你对万用表的看法!福禄克首款热成像万用表Fluke-279FC功能畅想大征集!
- TI汽车方案拼图,你敢挑战吗?
- ADI有奖下载活动之10 无线通信测试解决方案
- 开启Altera SoC体验之旅,玩转Altera Cyclone V系列SoC
- 了解 TE Connectivity 无创想,不奇迹 精彩专题,答题送好礼!
- Follow me第3期来袭,与得捷一起解锁Seeed Studio XIAO ESP32C3!
- 测评有礼!动手实战:全网征集TI毫米波雷达测评者
- NXP微控制器电路板,针对USB Type C接口设计,评测创意有奖征集,晒心得更有多重好礼!