日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]這一節(jié),介紹如何利用DATA寄存器檢測(cè)引腳上的高低電平變化。新建一個(gè)工程,結(jié)構(gòu)如下圖所示:在main.c文件中,輸入以下代碼:#include “LPC11XX.H”#define LED1_ON LPC_GPIO1->DATA &= ~(1

這一節(jié),介紹如何利用DATA寄存器檢測(cè)引腳上的高低電平變化。

新建一個(gè)工程,結(jié)構(gòu)如下圖所示:

在main.c文件中,輸入以下代碼:

#include “LPC11XX.H”

#define LED1_ON LPC_GPIO1->DATA &= ~(1<<0)

#define LED1_OFF LPC_GPIO1->DATA |= (1<<0)

#define LED2_ON LPC_GPIO1->DATA &= ~(1<<1)

#define LED2_OFF LPC_GPIO1->DATA |= (1<<1)

#define KEY1_DOWN (LPC_GPIO1->DATA&(1<<9))!=(1<<9)

#define KEY2_DOWN (LPC_GPIO1->DATA&(1<<10))!=(1<<10)

#define KEY3_DOWN (LPC_GPIO1->DATA&(1<<4))!=(1<<4)

#define KEY4_DOWN (LPC_GPIO1->DATA&(1<<10))!=(1<<10)

void delay()

{

uint16_t i,j;

for(i=0;i<5000;i++)

for(j=0;j<10;j++);

}

void led_init()

{

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<16); // 使能IOCON時(shí)鐘

LPC_IOCON->R_PIO1_0 &= ~0x07;

LPC_IOCON->R_PIO1_0 |= 0x01; //把P1.0腳設(shè)置為GPIO

LPC_IOCON->R_PIO1_1 &= ~0x07;

LPC_IOCON->R_PIO1_1 |= 0x01; //把P1.1腳設(shè)置為GPIO

LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<<16); // 禁能IOCON時(shí)鐘

LPC_GPIO1->DIR |= (1<<0); // 把P1.0設(shè)置為輸出引腳

LPC_GPIO1->DATA |= (1<<0); // 把P1.0設(shè)置為高電平

LPC_GPIO1->DIR |= (1<<1); // 把P1.1設(shè)置為輸出引腳

LPC_GPIO1->DATA |= (1<<1); // 把P1.1設(shè)置為高電平

}

int main()

{

led_init();

while(1)

{

if(KEY1_DOWN) // 如果按下了KEY1鍵

{

delay(); // 延時(shí)消抖

if(KEY1_DOWN) // 再次判斷是否按下了KEY1鍵

{

LED1_ON;

while(KEY1_DOWN); // 如果KEY1一直按著不放,程序停留在此處

LED1_OFF;

}

}

if(KEY2_DOWN) // 如果按下了KEY2鍵

{

delay(); // 延時(shí)消抖

if(KEY2_DOWN) // 再次判斷是否按下了KEY2鍵

{

LED2_ON;

while(KEY2_DOWN); // 如果KEY2一直按著不放,程序停留在此處

LED2_OFF;

}

}

}

}

關(guān)于LED部分的代碼解釋?zhuān)?qǐng)看上一節(jié)。

第6~9行,按鍵1和按鍵2的宏定義,讀取P1.9和P1.10引腳上的電平。

例如,讀取P1.0引腳的電平:(LPC_GPIO1->DATA&(1<<9))!=(1<<9)

這條語(yǔ)句的思想是,給DATA寄存器bit9“與”1,如果bit9變?yōu)?,說(shuō)明此位在沒(méi)有“與”之前為0,即低電平;如果bit9還是1,說(shuō)明是高電平。這樣,即可判斷按鍵有無(wú)按下。

在main函數(shù)中,沒(méi)有對(duì)按鍵的初始化,是因?yàn)镻1.9和P1.10引腳在默認(rèn)的情況下就是GPIO,而且是輸入功能。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉