ARM学习篇一 点亮LED
2016-10-05 14:40
316 查看
要点亮LED,先决条件是什么,当然得有相应的硬件设施。板子的整个电路图比较大,我就直接取相关部分。
![](http://s9.sinaimg.cn/mw690/005WF2xZzy754LwOHkQc8&690)
![](http://s2.sinaimg.cn/mw690/005WF2xZzy754LDxNwla1&690)
给发光二级管加上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,但我们刚开始,只要了解熟悉相关分析方法即可,下篇介绍中断。
给发光二级管加上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循环点亮C程序
- ARM裸机程序-点亮LED
- arm-linux 学习(1)点亮第一个led程序
- [ARM]第01次作业_建立Keil工程__点亮LED灯
- 【iCore1S 双核心板_ARM】例程十:SYSTICK定时器实验——定时点亮LED
- arm驱动程序——点亮led(韦东山的视频总结及针对linux-2.6.30)
- 第008课 第1个ARM裸板程序及引申(点亮LED灯)
- [ARM]第01次作业_建立Keil工程__点亮LED灯
- gcc编译编写ARM最简单的c程序_S3C2440点亮LED
- 8051单片机学习篇(一)-----点亮led灯
- arm wince 如何点亮ep9315的两个led灯
- 【iCore1S 双核心板_ARM】例程七:通用定时器实验——定时点亮LED
- 点亮arm ep9315的led灯的wince应用程序——转载
- ARM体系结构之点亮LED灯
- ARM底层学习笔记-裸板实验程序解析-点亮LED
- 【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED
- arm-a8 点亮LED
- ARM裸板程序的开发和编译(以点亮LED灯为例)
- ARM嵌入式编程(无操作系统、基于MDK)之最简单的程序:点亮一个LED灯
- 【iCore4 双核心板_ARM】例程十二:通用定时器实验——定时点亮LED