基于LPC1114的学习型红外遥控器程序设计

基于LPC1114的学习型红外遥控器程序设计,第1张

 

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

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

  系统多出一个

  

基于LPC1114的学习型红外遥控器程序设计,【NXP原创贴大赛】--基于LPC1114的学习型红外遥控器 - 孤独的牧羊人 - 嵌入式网络人生,第2张

 

  然后打开11XX的例程,正常安装路径在C: xp 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

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

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2713848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存