ARM学习篇一 点亮LED
要点亮LED,先决条件是什么,当然得有相应的硬件设施。板子的整个电路图比较大,我就直接取相关部分。
给发光二级管加上3.3v电压后,通过1k电阻,直接与S3C2440连接。至于为什么要加电阻,大家应该都知道,发光二极管的正向电阻很小,管子很容易因电流过大而烧坏。至于具体多少,可以看你买的管子的说明。
具体的烧写驱动安装,ARM集成开发环境安装我就不说了。一般都有手册,手册里面说得很清楚。
下面是代码实现:
AREA LED,CODE,READONLY
ENTRY
CODE32
GPFCON EQU
0x56000050
GPFDAT EQU 0x56000054
GPFUP EQU 0x56000058
INIT
LDR
R0,=0X70
LDR R1,=GPFUP
STR R0,[R1]
LDR R0,=0X1500
LDR
R1,=GPFCON
STR R0,[R1]
LDR R0,=0X70
LDR R1,=GPFDAT
STR
R0,[R1]
MAIN
LDR R0,=0X60
STR R0,[R1]
BL TIMER
LDR
R0,=0X50
STR R0,[R1]
BL TIMER
LDR R0,=0X30
STR
R0,[R1]
BL TIMER
B MAIN
TIMER
LDR R0,=0X5FFFF
TIMER_IMPLEMENT
SUB
R0,R0,#1
CMP R0,#0
MOVEQ PC,LR
BNE TIMER_IMPLEMENT
END
本程序首先定义了三个GPIO操作相关的寄存器名称。
此时注意看手册,不同的芯片相关定义存在差异。
A.外部已加电源,故关闭GPIO端口的上拉电阻功能,设置GPFUP相关位。
B.设置端口的输入输出属性,本端口输入低电平。
C.最后根据输出需求,设置GPIO端口的数据寄存器的值。
上述代码定时效率低,严重浪费CPU,但我们刚开始,只要了解熟悉相关分析方法即可,下篇介绍中断。
ARM学习篇一 点亮LED的更多相关文章
- ARM学习篇 中断定时理解
1. 中断控制器 a. 中断处理流程 P1--摘自S3C2440A手册 P1简要阐述了S3C2440A内置中断控制器处理中断的流程: ●若某中断有自中断,则先接收子中断请求,否则,直接接受源中断. ...
- ARM学习篇 SDRAM理解
1.SDRAM单管存储单元 SDRAM单管电路图 C记忆单元 T控制门管 Z字线 W位线 注:图示为N沟道耗尽型MOS管 写入:Z加高电平,MOS导通,W状态决定了电容C的状态 读出:Z加高电平,MO ...
- JZ2440裸机点亮LED【学习笔记】
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山一期视频学习笔记 一.我们首先来做第一个实验,用汇编语言点亮板子上的LED. 1.1 LED的原理图 从下面的原理图可知LED1是 ...
- STM32学习笔记——点亮LED
STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1 ...
- zigbee学习之路(二)点亮LED
一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2 ...
- JZ2440开发板:用按键点亮LED灯(学习笔记)
本文是对韦东山嵌入式第一期学习的记录之一,如有您需要查找的信息,可以继续往下阅读. 想要用按键点亮LED灯,就需要知道按键和LED灯的相关信息,这样才可以进行之后的操作.阅读JZ2440的原理图,可以 ...
- 第8课.第一个ARM裸板程序(点亮led)及申引
1.原理图 2.芯片手册 3.几条汇编代码 1.ldr:读内存 ldr R0, [R1] 假设R1的值是x,读取地址x上的数据(4字节),保存到R0中 ldr R0, =0x12345678 (4字节 ...
- CC2540开发板学习笔记(一)——LED点亮
一.实验内容: 点亮LDE1.2 二.实验原理: 1.电路原理图: 就一个发光二极管串联一个电阻.电阻是为了防止电流过大.利用发光二极管的单向导电性,在P1为高电平是点亮LED,在低电平是熄灭LED. ...
- 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】
视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...
随机推荐
- HTML5 Canvas 实现的9个 Loading 效果
Sonic.js 是一个很小的 JavaScript 类,用于创建基于 HTML5 画布的加载图像.更强大的是 Sonic.js 还提供了基于现成的例子的创建工具,可以帮助你实现更多自定义的(Load ...
- JavaScript学习笔记-正则表达式(语法篇)
正则表达式的模式规则是由一个字符系列组成的,包括所有字母和数字在内;大多数的字符(所有字母和数字)都是按字符的直接量来描述带匹配的字符;一些具有特殊语义的字符按照其特殊语义来进行匹配,有些字符需要通过 ...
- FOR ALL ENTRIES IN 与 INNER JOIN 写在一个SQL上影响效率
SELECT likp~vbeln likp~lfart lips~werks likp~kunnr INTO CORRESPONDING FIELDS OF TABLE it_likps FROM ...
- 对URL编码
url支持26个英文字母.数字和少数几个特殊字符,因此,对于url中包含非标准url的字符时,就需要对其进行编码.iOS中提供了函数stringByAddingPercentEscapesUsingE ...
- 2016最新CocoaPods安装和错误解决 + 自己的经验
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Times; color: #333333; background-color: #fffff ...
- Android 隐式意图激活另外一个Actitity
上篇文章<Android 显示意图激活另外一个Actitity>最后谈到显示意图激活另外一个Actitity会有一些局限性和弊端 本文介绍另一种方法:隐式意图激活另外一个Actitity ...
- 在iOS开发过程中你遇到这个问题了么?
1.问题:加载UIWebView底部有黑色边框问题. 设置UIWebView opaque为NO,然后设置其背景色为clearColor. 2.问题:iPhone真机输出[UIScreen mainS ...
- iOS本地推送与远程推送
原文在此 分为本地推送和远程推送2种.可以在应用没有打开甚至手机锁屏情况下给用户以提示.它们都需要注册,注册后系统会弹出提示框(如下图)提示用户是否同意,如果同意则正常使用:如果用户不同意则下次打开程 ...
- iOS--页面跳转(UITableView)
本文只要实现运用(UITableView)表格实现页面的传值,同时运用了代理(委托)传值. 目录文件列表如下: AddressBookViewController.h #import <UIKi ...
- ThinkPHP 空方法 显示
TP如果 一个控制器 没有一个方法 ,只要有一个模版,URL会对应显示模版名称. 例子 http://localhost/yiyunmap/map/test map控制器 并没有 test方法 但是 ...