久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

LPC1766 GPIO輸入和輸出

作者:黃賓山   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年03月03日   【字體:

前些時(shí)間玩了下STM32,感覺(jué)不錯(cuò),資源和功能豐富,用起來(lái)挺順手的。和51根本不是一個(gè)檔次的,用過(guò)后決定專用RAM-M3核心的嵌入式MCU。唯一不足就是STM32的固件庫(kù)用的不爽,入手直接操作寄存器(51帶來(lái)的影響)。但是又發(fā)現(xiàn)STM32的外部模塊操作起來(lái)非常困難尤其是I2C,根本就是不能用。

今天入手了LPC1766,完全的寄存器操作和比較了STM32,LPC比較合適直接寄存器操作。今天學(xué)習(xí)成果如下(基于周立功LPC1766板):

/****************************************Copyright (c)****************************************************
**                            Guangzhou ZLGMCU Development Co., LTD
**--------------File Info---------------------------------------------------------------------------------
** File name:           main.c
** Last modified Date:  2010-09-28
** Last Version:        V1.0
** Descriptions:        The main() function example template
**
**--------------------------------------------------------------------------------------------------------
** Created by:          Lan wuqiang
** Created date:        2010-09-28
** Version:             V1.00
** Descriptions:        整理模板,添加用戶應(yīng)用程序
**
**--------------------------------------------------------------------------------------------------------
** Modified by:       
** Modified date:     
** Version:           
** Descriptions:      
**
**--------------------------------------------------------------------------------------------------------
** Modified by:      
** Modified date:    
** Version:          
** Descriptions:     
**
** Rechecked by:
*********************************************************************************************************/
#include "LPC17xx.h"                                                    /* LPC17xx外設(shè)寄存器            */

/*********************************************************************************************************
  變量與宏定義
*********************************************************************************************************/
#define BEEP        (1 << 11)                                           /* P0.11連接蜂鳴器              */
#define KEY1        (LPC_GPIO2->FIOPIN & (1 << 10))                     /* P2.10連接KEY1                */
#define KEY2        (LPC_GPIO2->FIOPIN & (1 << 11))                     /* P2.11連接KEY2                */ 
#define KEY3  (LPC_GPIO2->FIOPIN & (1 << 12))      /* P2.12連接KEY3                */
#define KEY4  (LPC_GPIO2->FIOPIN & (1 << 13))                     /* P2.13連接KEY4                */

#define BEEPOFF()   LPC_GPIO0->FIODIR |= BEEP;LPC_GPIO0->FIOSET |= BEEP /* 蜂鳴器關(guān)                     */
#define BEEPON()    LPC_GPIO0->FIODIR |= BEEP;LPC_GPIO0->FIOCLR |= BEEP /* 蜂鳴器開(kāi)                     */
#define LED1        (1 << 0)                                            /* P2.0連接LED1                 */
#define LED2        (1 << 1)                                            /* P2.1連接LED2                 */
#define LED3        (1 << 2)                                            /* P2.2連接LED3                 */
#define LED4        (1 << 3)                                            /* P2.3連接LED4                 */
#define LED1OFF()   LPC_GPIO2->FIODIR |= LED1;LPC_GPIO2->FIOSET |= LED1 /* LED1關(guān)                       */
#define LED1ON()    LPC_GPIO2->FIODIR |= LED1;LPC_GPIO2->FIOCLR |= LED1 /* LED1開(kāi)                       */
#define LED2OFF()   LPC_GPIO2->FIODIR |= LED2;LPC_GPIO2->FIOSET |= LED2 /* LED2關(guān)                       */
#define LED2ON()    LPC_GPIO2->FIODIR |= LED2;LPC_GPIO2->FIOCLR |= LED2 /* LED2開(kāi)                       */
#define LED3OFF()   LPC_GPIO2->FIODIR |= LED3;LPC_GPIO2->FIOSET |= LED3 /* LED1關(guān)                       */
#define LED3ON()    LPC_GPIO2->FIODIR |= LED3;LPC_GPIO2->FIOCLR |= LED3 /* LED1開(kāi)                       */
#define LED4OFF()   LPC_GPIO2->FIODIR |= LED4;LPC_GPIO2->FIOSET |= LED4 /* LED2關(guān)                       */
#define LED4ON()    LPC_GPIO2->FIODIR |= LED4;LPC_GPIO2->FIOCLR |= LED4 /* LED2開(kāi)                       */


/*********************************************************************************************************
** Function name:       GPIOInit
** Descriptions:        GPIO初始化
** input parameters:    無(wú)
** output parameters:   無(wú)
** Returned value:      無(wú)
*********************************************************************************************************/
void GPIOInit (void)
{
    LPC_PINCON->PINSEL0 &= ~(0x03 << 22);                               /* 配置P0.11為GPIO              */
    LPC_PINCON->PINSEL4 &= 0XF00FFF00;                                  /* 配置P2.0~P2.3和P2.10~P2.13為GPIO*/

    LPC_GPIO0->FIODIR |= BEEP;                                          /* 配置P0.11即BEEP為輸出  1     */
    LPC_GPIO2->FIODIR |= 0X000000FF;         /* 配置P2.0~P2.3為輸出     1    */
    LPC_GPIO2->FIODIR &= 0XFFC3FFFF;         /* 配置P2.10~P2.13為輸入   0    */


}

/*********************************************************************************************************
** Function name:       main
** Descriptions:        用戶程序入口函數(shù),將JP17短接,P0.11腳控制蜂鳴器,
**                      將JP4的KEY1與P2_10短接,每按下KEY1,蜂鳴器響一聲
** input parameters:    無(wú)
** output parameters:   無(wú)
** Returned value:      無(wú)
*********************************************************************************************************/
int main (void)
{
    SystemInit();                                                       /* 系統(tǒng)初始化                   */
  
    GPIOInit(); 

    while (1) {
        if (KEY1 == 0) {                          /* 如果KEY1按下,蜂鳴器鳴叫     */
            BEEPON();
   LED1ON();
        } else {                                                        /* 松開(kāi)則停止蜂鳴               */
            BEEPOFF();
   LED1OFF();
        }
        if (KEY2 == 0) {                          /* 如果KEY2按下,LED2亮     */
   LED2ON();
        } else {                                                        /* 松開(kāi)則LED2滅               */
   LED2OFF();
        }
        if (KEY3 == 0) {                          /* 如果KEY3按下,LED3亮     */
   LED3ON();
        } else {                                                        /* 松開(kāi)則LED3滅               */
   LED3OFF();
        }
        if (KEY4 == 0) {                          /* 如果KEY4按下,LED4亮     */
   LED4ON();
        } else {                                                        /* 松開(kāi)則LED4滅               */
   LED4OFF();
        }
    }
}

/*********************************************************************************************************
  End Of File
*********************************************************************************************************/

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 欧美日高清 | 日本一区二区视频 | 国产日韩精品一区 | 成人h电影在线观看 | 国产偷录视频叫床高潮对白 | 一区二区三区日韩 | 久久大| 欧美国产日韩一区二区三区 | 亚洲一区 中文字幕 | 日韩在线精品强乱中文字幕 | 亚洲欧美中文日韩在线v日本 | 日韩一区二区三区视频 | 四虎在线播放 | 亚洲国产一区在线 | 日韩欧美三区 | 国产ts一区| 99成人| 99免费精品视频 | 一级欧美一级日韩片 | 欧美日韩成人在线 | 国产伦精品一区二区三区照片91 | 日韩精品一区二区在线 | 狠狠骚 | 久久久91精品国产一区二区三区 | 黑人巨大精品 | 97久久久久久久久 | 日韩免费在线 | 成人免费看黄网站在线观看 | 九九综合| 亚洲精品4| 中文字幕在线第一页 | 人人叉 | 欧美午夜一区二区三区免费大片 | 国产精品日韩欧美一区二区三区 | 免费在线一区二区 | www.日本三级 | 成人免费在线小视频 | 亚洲午夜精品 | 人人亚洲| 免费午夜视频在线观看 | 中文字幕在线一区二区三区 |