ARM裸机之点亮LED

发布者:温柔心绪最新更新时间:2021-07-14 来源: eefocus关键字:ARM  裸机  点亮LED 手机看文章 扫描二维码
随时随地手机看文章

实验开发版:S5PV210

1、什么是GPIO?

General Purpose Input Output (通用输入/输出)简称为GPIO,属于芯片引脚的一部分。


嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。


2、点亮LED的原因

点亮LED要求正极与负极之间有一定的正向电压差。

熄灭LED就是让正极与负极之间没有电压差。


3、查询原理图

wKiom1juLmSAp5fWAADi28fFiF8225.png

D22:正极接3.3v,负极接引脚GPJ0_3。

D23:正极接3.3v,负极接引脚GPJ0_4。

D24:正极接3.3v,负极接引脚GPJ0_5。

D25:正极接3.3v,负极接引脚PWMTOUT1(GPD0_1)。

D26:正极接5V,负极接地。

可以通过编程控制GPIO引脚输出低电平,产生电压差。


4、查询数据手册

设置GPJ0CON控制寄存器,GPJ0_3、GPJ0_4、GPJ0_5引脚为Output工作模式,使其能输出电压。

wKiom1juLsmAz9jDAAHCv5mufts070.png


设置GPJ0DAT数据寄存器,GPJ0_3、GPJ0_4、GPJ0_5引脚相应位为0(低电平)。

wKiom1juLxjT73xRAACuQvo12tc267.png


5、点亮LED的步骤:

(1)设置GPJ0CON控制寄存器,GPJ0_3、GPJ0_4、GPJ0_5引脚为Output工作模式,使其能输出电压。

(2)设置GPJ0DAT数据寄存器,GPJ0_3、GPJ0_4、GPJ0_5引脚相应位为0(0为低电平,1为高电平)。


6、汇编代码实现LED流水灯

.global _start//链接属性改为外部

_start:

//配置GPJ0_3 ~ GPJ0_5为输出模式

ldr r0, =0xE0200240

ldr r1, =0x00111000

str r1, [r0]

 

//配置GPD0_1为输出模式

ldr r0, =0xE02000A0

ldr r1, =0x00000010

str r1, [r0]

 

loop_led:

//配置GPJ0_3为低电平

ldr r0, =0xE0200244

ldr r1, =((0<<3) | (1<<4) | (1<<5))

str r1, [r0]

//延时

bl delay

 

//配置GPJ0_4为低电平

ldr r0, =0xE0200244

ldr r1, =((1<<3) | (0<<4) | (1<<5))

str r1, [r0]

//延时

bl delay

 

//配置GPJ0_5为低电平

ldr r0, =0xE0200244

ldr r1, =((1<<3) | (1<<4) | (0<<5))

str r1, [r0]

//延时

bl delay

 

//配置GPJ0_3 ~ GPJ0_5为高电平

ldr r0, =0xE0200244

ldr r1, =((1<<3) | (1<<4) | (1<<5))

str r1, [r0]


//配置GPD0_1为低电平

ldr r0, =0xE02000A4

ldr r1, =(0<<1)

str r1, [r0]


//延时

bl delay


//配置GPD0_1为高电平

ldr r0, =0xE02000A4

ldr r1, =(1<<1)

str r1, [r0]

 

b loop_led


// 延时功能

delay:

ldr r1, =0

ldr r2, =7777777

loop_delay:

sub r2, r2, #1

cmp r1, r2

bne loop_delay

mov pc, lr


7、C语言代码实现流水灯

// 寄存器宏定义

#defineGPJ0CON(0xE0200240)

#defineGPJ0DAT(0xE0200244)

 

#define GPD0CON(0xE02000A0)

#define GPD0DAT(0xE02000A4)


#define rGPJ0CON(*(volatile unsigned int *)GPJ0CON)

#define rGPD0CON(*(volatile unsigned int *)GPD0CON)

 

#definerGPJ0DAT(*(unsigned volatile int *)GPJ0DAT)

#definerGPD0DAT(*(unsigned volatile int *)GPD0DAT)

 

// 延时函数

void delay_time(void)

{

    volatile unsigned int i = 0;

    for(i=0; i<40000; i++)

    for(i=0; i<600000; i++);

}

 

void illumine_led(void)

{

    // 配置为输出模式

    rGPJ0CON = 0x00111000;

    rGPD0CON = 0x00000010;

    

    while(1)

    {

        //点亮LED1、延迟

        rGPJ0DAT = ~(1 << 3);

        delay_time();

        

        //点亮LED2、延迟

        rGPJ0DAT = ~(1 << 4);

        delay_time();

        

        //点亮LED3、延迟

        rGPJ0DAT = ~(1 << 5);

        delay_time();

        

        //熄灭LED1~LED3

        rGPJ0DAT = ((1<<3) | (1<<4) | (1<<5));

        

        //点亮LED4、延迟

        rGPD0DAT = ~(1<<1);

        delay_time();

        

        //熄灭LED4

        rGPD0DAT = (1<<1);

    }

}


参考资料:《ARM裸机全集---朱有鹏老师》


关键字:ARM  裸机  点亮LED 引用地址:ARM裸机之点亮LED

上一篇:ARM裸机之CLOCK
下一篇:ARM体系结构总结

推荐阅读最新更新时间:2024-11-13 12:41

吴雄昂发内部信回应免职风波:Arm与厚朴投资的指控莫须有
据微信公众号深圳湾消息,昨日吴雄昂在向安谋中国内部员工发布的邮件中首次正面回应了近日的免职风波。 吴雄昂在内部信中表示,Arm 公司及厚朴投资发出的针对其的指控是莫须有的,并且对公司和其本人的声誉造成了极大的负面影响。安谋中国公司及自己从未收到任何我因何事被投诉的通知,也没有收到任何对所谓的投诉进行调查的通知,更没有收到过任何对所谓的投诉得出的调查结果。对此,吴雄昂表示强烈的谴责,并将通过法律渠道维护公司和自身名誉和权力。 吴雄昂强调自身作为公司董事长及CEO,将与管理团队群策群力,依法独立运营,排除干扰公司及董事会治理的行为,确保公司正常经营。(校对/Aki)
[手机便携]
吴雄昂发内部信回应免职风波:<font color='red'>Arm</font>与厚朴投资的指控莫须有
浅谈分析Arm linux 内核移植及系统初始化的过程一
学习嵌入式ARM linux ,主要想必三个方向发展: 1 、嵌入式linux 应用软件开发 2 、linux 内核的剪裁和移植 3 、嵌入式linux 底层驱动的开发 主 要介绍内核移植过程中涉及文件的分布及其用途,以及简单介绍系统的初始化过程。整个arm linux内核的启动可分为三个阶段:第一阶段主要是进行 cpu和体系结构的检查、cpu本身的初始化以及页表的建立等;第二阶段主要是对系统中的一些基础设施进行初始化;最后则是更高层次的初始化,如根设备和 外部设备的初始化。了解系统的初始化过程,有益于更好地移植内核。 1. 内核移植 2. 涉及文件分布介绍 2.1. 内核移植 2.2. 涉及的头文件 /linux-2.6.1
[单片机]
s3c2440裸机-nandflash编程(一. nandflash原理及结构简介)
1.nandflash的原理图如下: 引脚属性见下表: 引脚名称 引脚功能 IO0~IO7 数据输入输出(命令、地址、数据共用数据总线) CLE 命令使能 ALE 地址使能 /CE 芯片使能(片选) /RE 读使能 /WE 写使能 R/B 就绪/忙输出信号(低电平表示操作还在进行中,高电平表示操作完成) 2.nandflash内部存储结构 nandflash内部存储结构如下: 我们常见的Nand Flash,内部只有一个chip,每个chip只有一个plane。但也有些复杂的,容量更大的Nand Flash,内部有多个chip,每个chip有多个plane,这类的Nand Flash,其实就是多了一
[单片机]
s3c2440<font color='red'>裸机</font>-nandflash编程(一. nandflash原理及结构简介)
新的Arm GPU助力释放消费电子设备市场中的游戏和AI创新潜能
作为人们日常数字生活中不可或缺的一部分,Arm GPU赋能了从当今智能手机上的沉浸式游戏,到各类边缘侧人工智能 (AI) 体验的方方面面。目前,Arm合作伙伴的GPU出货量已超过100亿颗,而这一卓越成就归功于我们业界领先的生态系统。这些 GPU 广泛应用于包括智能手机、平板电脑、智能电视、机顶盒、智能手表和 XR 可穿戴设备在内的各类消费电子设备。 去年此时,我们推出了新的第五代GPU架构及一系列新的GPU,包括 Arm Immortalis-G720 GPU。 MediaTek的天玑9300 系统级芯片(SoC)平台便采用此GPU。之后,知名手机厂商vivo和OPPO的旗舰智能手机都先后采用了该芯片。 今年,我们很高兴推出
[嵌入式]
新的<font color='red'>Arm</font> GPU助力释放消费电子设备市场中的游戏和AI创新潜能
ARM发布Mali-C71图像信号处理器,推动下一代汽车图像处理
2017年4月25日,中国北京——ARM今天正式发布Mali-C71图像信号处理器(ISP),应对汽车图像处理所面临的挑战,包括在极端条件下对图像进行快速的处理和分析,符合严苛的汽车安全标准的设计要求。Mali-C71也是ARM Mali Camera系列的第一款产品。下面就随单片技校吧一起来了解一下相关内容吧。 随着技术的演进,汽车已经成为一个充满活力的创新平台,不仅正在改变驾驶者的体验,也使得真正的自动驾驶离我们越来越近。先进驾驶辅助系统(ADAS)是这一技术演进的一个不可或缺的关键。一些最新的ADAS应用,例如更先进的后视镜、驾驶员疲劳检测以及行人保护系统,都对车内图像处理提出了更高的要求。这些技术要求更多数量的车内摄像头
[单片机]
ARM发表白皮书:物联网的过去、现在与未来
      ARM 联合创始人兼CTO Mike Muller, 简介 物联网到底是什么? 物联网 (Internet of Things, IoT) 是包含智能、传感器功能的物理对象以及与其交互的网络、服务器和服务的集合。 这是一个趋势,而不是一个单一的行业或市场。但是,ARM 的技术设计能够使当今与未来的物联网应用和服务遍布每一个角落,并具备真正的智能。它由嵌入式微处理器和有线或无线网络组成,使这些对象能够自主感知周围环境,与其他对象通信,以及与基于互联网的服务和基于云的应用进行交互。 物联网功能可添加到任意物理对象中,如服装、珠宝、恒温器、医疗设备、家用电器、家庭自动化、工业控制,甚至是灯泡。这一趋势需要经济高效的传感技术—
[手机便携]
ARM指令解析
今天我来总结一下arm指令的学习,今天我不会对所有的arm指令进行一一的解析,在这里希望大家去看arm汇编手册,这个手册的中文版我放在了 http://download.csdn.net/detail/wrjvszq/8324589 大家先拿到这个文档,这个文档对arm指令的解析相当的全面,但是这里要注意的是文档是arm对标准的汇编写出的文档,但是我们要用的是gnu的汇编,这两个稍微有点区别,关于区别大家可以去看看这个博客http://www.cnblogs.com/hnrainll/archive/2011/05/17/2048315.html说完了这些,今天我的重点将会放在arm伪指令和arm协处理器访问指令进行解析。 l
[单片机]
<font color='red'>ARM</font>指令解析
基于ARM的电子画笔设计
随着计算机的普及,电子笔作为新兴的人机交互工具发展迅速。在国内,汉王公司在手写识别方面一直居领先地位,引领着国内电子笔的发展。国外则将笔迹与办公软件关联起来,建立了数字墨水的概念。2001年6月,爱立信宣布推出世界上第一支数字笔—— Chat2penCHA-30。该产品充分利用了蓝牙(Bluetooth)无线技术和GPRS网络,可传输手写文本并与移动电话、计算机和互联网进行互动通信。虽然它的外观和书写方式与一支普通的笔相同,但Chatpen可以借助一种印在普通纸上几乎看不见的点模式“读”出它的位置。这些信息通过蓝牙和 GPRS移动电话,消费者即可同时在纸上以数字方式书写。用户将发现自己不再仅限于基于文本的短消息或电子邮件,只要使用C
[模拟电子]
基于<font color='red'>ARM</font>的电子画笔设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved