新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于LPC1114的学习型红外遥控器

基于LPC1114的学习型红外遥控器

作者:时间:2016-08-10来源:网络收藏

  一、LPC11XX GPIO操作

本文引用地址:http://www.eepw.com.cn/article/201608/295296.htm

  2010年3月8日,一个让我:(作者,非本人:)刻骨铭心的日子,38妇女节,收到婷婷的电路板非常高兴,盼望半年之久的LPC CM0终于拿到了。

  在此对婷婷的表示衷心的感谢,感谢党,感谢人民给我这次学习机会。闲话少说,进入正题。

  LPC11XX我就不介绍了。学习型也不介绍了。有不懂的地方大家可以baidu一下。

  本设计就是采用+OLED+红外接收头构成一个学习型

  安装LPCxpress,后插入LPC-Link 自动识别,

  系统多出一个

  

 

  然后打开11XX的例程,正常安装路径在C:nxp lpcxpresso_3.1ExamplesLPC1000LPC11xx下

  文件名字 LPCXpresso1114_v1.00.zip

  然后点击GPIO程序,打开GPIOtest.c开始学习。

  发现和普通的 8位机真的相差很多,用了很多类似函数(库)的东西。

  别的不管,先来个最简单的闪烁灯。

  找到函数

  功能:(设置 GPIO口方向),参数(端口号,位,输入或输出(0入1出))

  GPIOSetDir( PORT0, 1, 0 );

  和

  GPIOSetValue()

  一个是设置端口方向,一个是设置输出的值,直接调用就可以了。

  下面是我的程序,本人菜鸟一只,程序也不会写,希望大家拍砖的话,别往死里拍,呵呵。

  用的是P32的口。输出1的时候点亮LED。

  /*****************************************************************************

  * gpiotest.c: main C entry file for NXP LPC11xx Family Microprocessors

  *

  * Copyright(C) 2008, NXP Semiconductor

  * All rights reserved.

  *

  * History

  * 2009.12.07 ver 1.00 Preliminary version, first Release

  *

  ******************************************************************************/

  #include "LPC11xx.h" /* LPC11xx Peripheral Registers */

  #include "gpio.h"

  /*****************************************************************************

  ** Main Function main()

  ******************************************************************************/

  int main (void)

  {

  /* Basic chip initialization is taken care of in SystemInit() called

  * from the startup code. SystemInit() and chip settings are defined

  * in the CMSIS system_.c file.

  */

  uint32_t a=60000;

  GPIOInit();

  GPIOSetDir(PORT3,2,1);

  while(1)

  {

  a=160000;

  while(a--);

  GPIOSetValue(PORT3,2,0);

  a=160000;

  while(a--);

  GPIOSetValue(PORT3,2,1);

  }

  /* use port0_1 as input event, interrupt test. */

  GPIOSetDir( PORT0, 1, 0 );

  /* port0_1, single trigger, active high. */

  GPIOSetInterrupt( PORT0, 1, 0, 0, 0 );

  GPIOIntEnable( PORT0, 1 );

  /* use port1_1 as input event, interrupt test. */

  GPIOSetDir( PORT1, 1, 0 );

  /* port0_1, single edge trigger, active high. */

  GPIOSetInterrupt( PORT1, 1, 0, 0, 0 );

  GPIOIntEnable( PORT1, 1 );

  /* use port2_1 as input event, interrupt test. */

  GPIOSetDir( PORT2, 1, 0 );

  /* port0_1, single edge trigger, active high. */

  GPIOSetInterrupt( PORT2, 1, 0, 0, 0 );

  GPIOIntEnable( PORT2, 1 );

  /* use port3_1 as input event, interrupt test. */

  GPIOSetDir( PORT3, 1, 0 );

  /* port0_1, single edge trigger, active high. */

  GPIOSetInterrupt( PORT3, 1, 0, 0, 0 );

  GPIOIntEnable( PORT3, 1 );

  while( 1 );

  }

  /*********************************************************************************

  ** End Of File

  *********************************************************************************/

  [最后修改于2010-03-10 12:51:40]

  使用Keil MDK +ULink2开发LPC11XX

  LPCXpresso软件虽然不错,但还是没有常用的KEIL IAR 顺手,怎么说也是用惯了,一狠心,买了个ULINK2,从今天开始使用MDK +ULink2开发

  先来介绍一下软件部分,使用新版本 MDK 410B(www.mcu123.com有下载),无缝支持,安装完软件后,ulink2插到电脑usb口可以自动识别,新建工程,选NXP LPC1114 301 芯片,一路下来没什么问题,关键是ULINK2的配置。

  上图。

  

 

  

 

  由于LPC11XX不支持JTAG ,所以只能用图中的SW方式了。

  硬件方面,LPC1114的板子需要修改,把LPC-LINK和LPC1114要断开,就是电路图J4的部分,把PCB划开后,焊上2.54间距排针,

  以后想用LPCXpresso软件带LPC-link的话跳线就可以用了。一举两得。

  上图。

  

 

  在来个图。和闪烁灯的程序。

  


上一页 1 2 下一页

关键词: LPC1114 红外遥控器

评论


相关推荐

技术专区

关闭