历史上的今天
返回首页

历史上的今天

今天是:2025年02月18日(星期二)

正在发生

2020年02月18日 | ARM学习笔记13——LED驱动程序设计

2020-02-18 来源:eefocus

首先我们要根据开发板原理图得到控制LED灯的引脚是哪个,我们现在以LED1为例,我们已经知道LED1由S5PV210的GPC1_3控制,因此我们按如下步骤进行:


第一步是配制S5PV210的GPC1_3为输出口;


第二步我们禁止GPC1_3的上、下拉电阻功能;


第三步就是控制GPC1_3输出高电平或低电平。  


要想对GPC1进行配置,那我们需要知道其配置寄存器的地址,根据S5PV210的编程手册我们可以知道:


GPC1的配置寄存器地址是:0xE0200080  


GPC1数据寄存器地址是:0xE0200084  


GPC1上、下拉控制寄存器地址是:0xE0200088


同样由S5PV210的编程手册得知,要将GPC1_3配置为输出口,只要将地址单元0xE0200080(配置寄存器)的BIT15设置为0001即可。


根据ARM体系结构的特点:运算编写在寄存器中完成,要想访问存储器必须用到加载ldr/str指令。要想操作地址单元0xE0200080(GPC1配置寄存器)的内容,必须将0xE0200080放到ARM寄存器(R0-Rn)中,然后用ldr/str指令访问该单元(GPC1配置寄存器)的内容。 那么,如何将0xE0200080放到寄存器中呢?我们这里可以采用比较直观的方法,通过伪指令ldr来完成,即:ldr r0,-=0xE0200080.


将GPC1_3配置为输出口的代码段为:


ldr r2,=0xE0200080     @将地址0xE0200080放到ARM寄存器R2 

ldr r3,[r2]         @加载地址单元0xE0200080的内容到R3中 

mov r0,#0xf         @将立即数0xf放到R0 

bic r3,r3,r0,lsl #12    @将R3的BIT[15:12]清零 

mov r1,#0x1         @将1放到ARM寄存器R1中 

orr r3,r3,r1,lsl #12    @将R3的BIT15:BIT12=0001 

str r3,[r2]         @将R3的内容存储到R2指向的地址单元(0xE0200080)


禁止GPC1_3上、下拉电阻功能代码片段:


ldr r2,=0xE0200088 

mov r0,#0x3 

ldr r3,[r2] 

bic r3,r3,r0,lsl #6 

str r3,[r2]


控制GPC1_3输出高电平代码片段


ldr r2,=0xE0200080 

mov r0,#1 

ldr r3,[r2] 

orr r3,r3,r0,lsl #3 

str r3,[r2]


控制GPC1_3输出低电平代码片段


ldr r2,=0xE0200080 

mov r0,#1 

ldr r3,[r2] 

bic r3,r3,r0,lsl #3 

str r3,[r2]


如果实现LED灯的亮、灭闪烁,在LED亮和灭之后都需要加入一定的延时,否则我们看不到灯的闪烁。 我们可以用类似如下的代码实现延时:


delay:

  mov r1,#0xf00000

  sub r1,r1,#1  

  cmp r0,#0  

  bne delay  

  mov pc,lr

推荐阅读

史海拾趣

Gruner AG公司的发展小趣事
在需要高安全性的控制系统中,如工业自动化、医疗设备等领域,光耦合器可以实现电路之间的电气隔离,提高系统的安全性和可靠性。
EREM公司的发展小趣事

近年来,随着科技的快速发展和电子行业的变革,EREM公司也面临着巨大的挑战。为了应对这些变革,EREM积极调整战略方向,加大研发投入,推出了一系列符合市场需求的新产品。同时,EREM还注重人才培养和团队建设,打造了一支高效、专业的团队,为公司的发展提供了有力保障。

FINTEK公司的发展小趣事

FINTEK公司成立于2000年代初,正值半导体技术快速发展的时期。公司初创时,便聚焦于开发高性能的模拟信号处理器(ASP)芯片。创始人带领团队,经过数年的不懈努力,成功研发出了一款具有创新性的ASP芯片,该芯片在功耗、信噪比和信号处理速度上均优于市场同类产品。这一技术突破不仅为公司赢得了首轮融资,也吸引了众多行业巨头的关注,为FINTEK在电子行业的初步立足奠定了坚实的基础。

American Technical Ceramics (ATC)公司的发展小趣事

随着ASP芯片市场的成功,FINTEK公司意识到单一产品线的局限性。为了保持竞争优势并开拓新市场,公司开始多元化拓展产品线。经过市场调研和技术储备,FINTEK相继推出了数字信号处理器(DSP)、微控制器(MCU)以及射频前端模块(RF FEM)等一系列新产品。这些产品的推出不仅丰富了公司的产品线,也进一步巩固了FINTEK在半导体领域的市场地位。

GE Solid State公司的发展小趣事
由于声音信号的模糊性和主观性,可能无法精确反映曝光量的细微变化。
DeLorme公司的发展小趣事

近年来,随着智能手机和移动互联网技术的快速发展,传统的GPS导航设备市场受到了巨大冲击。面对这一行业变革,DeLorme公司及时调整战略方向,将重心转向智能导航应用软件的开发和推广。他们通过与智能手机厂商的合作,将自己的导航软件集成到手机系统中,为用户提供更加便捷、高效的导航服务。同时,他们还积极探索新的商业模式和市场机会,为公司的未来发展奠定了坚实基础。

问答坊 | AI 解惑

微机通信

希望这本教材对你有帮助…

查看全部问答>

监控摄像头监控蔬菜了

上海正全力加强158个迎世博重点蔬菜基地的建设,强化生产基地的监管,建立健全农产品质量安全可追溯体系。闵行区农委世博蔬菜基地除在场区实行全天候巡逻外,还在农田蔬菜大棚和装运车间安装了监控摄像头,实现世博重点蔬菜基地生产和运输过程的有 ...…

查看全部问答>

关于采样保持电路的问题

本帖最后由 paulhyde 于 2014-9-15 09:20 编辑 哪位大虾可以指导一下关于采样保持电路的几个问题: 1、最常用的有哪些芯片 2、电路应该如何设计及各个部分的作用是什么 3、AD的是否影响采样保持电路芯片的选择,如果有还麻烦您讲解一下啊 再 ...…

查看全部问答>

基于MOSFET内部结构设计优化的驱动电路

功率MOSFET具有开关速度快,导通电阻小等优点,因此在开关电源,马达控制等电子系统中的应用越来越广。通常在实际的设计过程中,电子工程师对其的驱动电路以及驱动电路的参数调整并不是十分关注,尤其是从来没有基于MOSFET内部的微观结构去考虑驱动 ...…

查看全部问答>

RVDS或者ADS环境下开发C++工程

     我在RVDS环境下把以前能够通过的c源代码的工程改为c++的工程,但是发生连接错误找不到Main函数:      Undefined symbol Main (referred from 2440init.o)。请大虾指点…

查看全部问答>

关于硬件设计项目的问题,大家帮忙看看

在网上有很多开源的软件项目,只要你有能力,或者说喜欢就可以加入那个团队,大家一起来设计的那种. 这样大家就可以在网上通过一个公共的项目共同学习,交流. 那么在硬件项目上,比如说,数字电路,模拟电路的设计啊,(PCB,DSP,等等各类东西)在网上有没 ...…

查看全部问答>

[提建议]建立一个语音教学及互动平台

[提建议]建立一个语音教学及互动平台 我相信在坛子里面的学生应该不少吧。想在EEWorld里学到一些实践的经验和如何做项目。 我们论坛中已经有了 但是,我觉得我们eeworld是还会有更多的想法和活动的. 如:     链接:https:/ ...…

查看全部问答>

三极管和mos管在做开关用时有什么区别?

下面的这篇文章也可能老生常谈,但相信对于新的学电子的童鞋来说,,可以认真看看,,相信有所帮助! 1.三极管用电流控制,MOS管属于电压控制. 2、成本问题:三极管便宜,mos管贵。 3、功耗问题:三极管损耗大。 4、驱动能力:mos管常用来电 ...…

查看全部问答>

ft232rl电脑无法识别

FT232RL电脑无法识别该设备,工作电压正常!…

查看全部问答>

你有啥想法?USB 接头正反随便插了!

本帖最后由 qwqwqw2088 于 2014-1-8 14:52 编辑     自USB插头问世以来,插 USB 接口就是个特别考验运气的事情,这就像抛硬币正面与反面朝上的概率一样,插进去和插不进去就像是五五分的。所以以后想要做选择但又找不到硬币的时候, ...…

查看全部问答>