zoukankan      html  css  js  c++  java
  • 基于arm开发板四个按键控制四个灯亮

    基于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

  • 相关阅读:
    CodeVs 1295 N皇后问题
    POJ 3349 Snowflake Snow Snowflakes
    链表API
    Hash API
    CodeVS 1220 数字三角形
    CodeVS 1045 回文数
    CodeVS 1058 合唱队形(DP--最长子序列问题)
    CodeVS 1018 单词接龙(DFS)
    关于图覆盖问题习题BY石家名
    软件测试作业(二)
  • 原文地址:https://www.cnblogs.com/liudehao/p/6080204.html
Copyright © 2011-2022 走看看