新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于LPC1114的學(xué)習(xí)型紅外遙控器

基于LPC1114的學(xué)習(xí)型紅外遙控器

作者: 時間:2016-08-10 來源:網(wǎng)絡(luò) 收藏

  一、LPC11XX GPIO操作

本文引用地址:http://butianyuan.cn/article/201608/295296.htm

  2010年3月8日,一個讓我:(作者,非本人:)刻骨銘心的日子,38婦女節(jié),收到婷婷的電路板非常高興,盼望半年之久的LPC CM0終于拿到了。

  在此對婷婷的表示衷心的感謝,感謝黨,感謝人民給我這次學(xué)習(xí)機會。閑話少說,進入正題。

  LPC11XX我就不介紹了。學(xué)習(xí)型也不介紹了。有不懂的地方大家可以baidu一下。

  本設(shè)計就是采用+OLED+紅外接收頭構(gòu)成一個學(xué)習(xí)型

  安裝LPCxpress,后插入LPC-Link 自動識別,

  系統(tǒng)多出一個

  

 

  然后打開11XX的例程,正常安裝路徑在C:nxp lpcxpresso_3.1ExamplesLPC1000LPC11xx下

  文件名字 LPCXpresso1114_v1.00.zip

  然后點擊GPIO程序,打開GPIOtest.c開始學(xué)習(xí)。

  發(fā)現(xiàn)和普通的 8位機真的相差很多,用了很多類似函數(shù)(庫)的東西。

  別的不管,先來個最簡單的閃爍燈。

  找到函數(shù)

  功能:(設(shè)置 GPIO口方向),參數(shù)(端口號,位,輸入或輸出(0入1出))

  GPIOSetDir( PORT0, 1, 0 );

  和

  GPIOSetValue()

  一個是設(shè)置端口方向,一個是設(shè)置輸出的值,直接調(diào)用就可以了。

  下面是我的程序,本人菜鳥一只,程序也不會寫,希望大家拍磚的話,別往死里拍,呵呵。

  用的是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開發(fā)LPC11XX

  LPCXpresso軟件雖然不錯,但還是沒有常用的KEIL IAR 順手,怎么說也是用慣了,一狠心,買了個ULINK2,從今天開始使用MDK +ULink2開發(fā)。

  先來介紹一下軟件部分,使用新版本 MDK 410B(www.mcu123.com有下載),無縫支持,安裝完軟件后,ulink2插到電腦usb口可以自動識別,新建工程,選NXP LPC1114 301 芯片,一路下來沒什么問題,關(guān)鍵是ULINK2的配置。

  上圖。

  

 

  

 

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

  硬件方面,LPC1114的板子需要修改,把LPC-LINK和LPC1114要斷開,就是電路圖J4的部分,把PCB劃開后,焊上2.54間距排針,

  以后想用LPCXpresso軟件帶LPC-link的話跳線就可以用了。一舉兩得。

  上圖。

  

 

  在來個圖。和閃爍燈的程序。

  


上一頁 1 2 下一頁

關(guān)鍵詞: LPC1114 紅外遙控器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉