基于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
基于arm开发板四个按键控制四个灯亮的更多相关文章
- 基于uFUN开发板和扩展板的联网校准时钟
		项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种 ... 
- 使用arm开发板搭建无线mesh网络(二)
		上篇博文介绍了无线mesh网络和adhoc网络的区别,这篇文章将介绍无线mesh网络的骨干网节点的组建过程.首先需要介绍下骨干网节点的设计方案:每个骨干网节点都是由一块友善之臂的tiny6410 ar ... 
- 基于uFUN开发板的RGB调色板
		前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt ... 
- 基于uFUN开发板的心率计(三)Qt上位机的实现
		前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ... 
- 【记录】尝试用QEMU模拟ARM开发板去加载并运行Uboot,kernel,rootfs【转】
		转自:https://www.crifan.com/try_use_qemu_emulate_arm_board_to_load_and_run_uboot_kernel_rootfs/ [背景] 手 ... 
- 基于 Arduino 开发板,这款插座是可编程且开源的
		基于 Arduino 开发板,这款插座是可编程且开源的 https://www.oschina.net/news/74861/open-source-socket https://github.com ... 
- ubuntu 交叉编译qt 5.7 程序到 arm 开发板
		ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8 一 概述 ... 
- Arm开发板+Qt学习之路
		从2015.11.13日开始接触arm开发板,开始学习Qt,到现在已经四个月零17天了,从一个拿到开发板一无所知的小白,到现在能够在开发板上进行开发,有付出有收获. 之前一直没有时间将这个过程中的一些 ... 
- ARM开发板挂载U盘
		ARM开发板运行Linux系统后,插入U盘,通过串口打印系统识别到U盘如下: 系统识别U盘盘符为sda4 那么需要挂载后才能操作U盘:挂载命令 mount -t vfat /dev/sda4 /mnt ... 
随机推荐
- 集合问题  离线+并查集 HDU 3938
			题目大意:给你n个点,m条边,q个询问,每条边有一个val,每次询问也询问一个val,定义:这样条件的两个点(u,v),使得u->v的的价值就是所有的通路中的的最长的边最短.问满足这样的点对有几 ... 
- nginx php版本隐藏
			配置完一台服务器后,并不是就可以高枕无忧了,前不久刚刚爆发的PHP 5.3.9版本的漏洞也搞得人心惶惶,所以说经常关注安全公告并及时升级服务器也是必要的.一般来说,黑客攻击服务器的首要步骤就是收集信息 ... 
- jvisualvm
			f the fonts used by VisualVM are hard to read, switching the LaF might help. Try for example 'visu ... 
- STM32片上Flash内存映射、页面大小、寄存器映射
			STM32片上Flash内存映射.页面大小.寄存器映射 STM32有4种Flash module organization,分别是:low-density devices(32KB,1KB/page) ... 
- 读取cc2530节点的设备类型、协调器、路由器、终端。
			建立网络.加入网络流程分析 协调器节点:在1-10 实验8 网络通信实验2 组播通信中 while(MSGpkt) { switch(MSGpkt->hdr.event) { case ZDO ... 
- Ubuntu 14.04 使用MyEclipse 10.7 闪退解决
			http://www.linuxidc.com/Linux/2014-05/101750.htm 
- ural2062 Ambitious Experiment
			Ambitious Experiment Time limit: 3.0 secondMemory limit: 128 MB During several decades, scientists f ... 
- CodeForces 614B Gena's Code
			#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm& ... 
- NGUI具有流光效果的UISprite
			之前做过一个流光效果(http://www.cnblogs.com/jietian331/p/4748644.html). 现将其改进一下,与NGUI结合起来,提供一个具有流光效果的组件:UIWalk ... 
- Linux 最简单的驱动程序hello world
			图片驱动位置:kernel3-10/driver/misc/mediatek/imgsensor/src/mt8127/kd_sensorlist.c 例子:kernel-3.10/driver/mi ... 
