www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(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部分的代碼解釋,請(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)?,說明此位在沒有“與”之前為0,即低電平;如果bit9還是1,說明是高電平。這樣,即可判斷按鍵有無(wú)按下。

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


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

點(diǎn)擊“東芝半導(dǎo)體”,馬上加入我們哦!對(duì)配備以太網(wǎng)與CAN控制器的物聯(lián)網(wǎng)設(shè)備進(jìn)行優(yōu)化東芝電子元件及存儲(chǔ)裝置株式會(huì)社(“東芝”)今日宣布,已開始量產(chǎn)M4N組的20款新微控制器。M4N組是TXZ?族高級(jí)產(chǎn)品的新成員,采用40n...

關(guān)鍵字: Cortex 東芝 微控制器

全球疫情持續(xù),2021 COMPUTEX Taipei臺(tái)北國(guó)際電腦展受到最新新冠疫情影響,取消線下展覽改為在線,Intel、AMD、NVIDIA三家公布出席之后,ARM確定參與舉辦新品發(fā)布會(huì)。

關(guān)鍵字: ARM Cortex GPU

  芯片制造商?hào)|芝(Toshiba)剛剛推出了新款VisconTI圖像識(shí)別芯片,最新的VisconTI 3處理器采用兩個(gè)Cortex A9核心,總共6個(gè)浮點(diǎn)運(yùn)算單元。東芝最初推出VisconTI

關(guān)鍵字: 東芝 Cortex a9 圖片識(shí)別

  移動(dòng)裝置在這幾年成長(zhǎng)速度幾近以猛爆式持續(xù)攀升,除了高階移動(dòng)裝置需求暢旺外,ARM也預(yù)計(jì)20115年全球中低價(jià)位主流移動(dòng)裝置出貨量將達(dá)5.8億臺(tái),可望超越高階智能手機(jī)以及平板電腦市場(chǎng)總銷售量,

關(guān)鍵字: ARM Cortex 處理器 移動(dòng)裝置

  如果大家關(guān)注手機(jī) SoC(即 System on Chip 系統(tǒng)級(jí)芯片, 大家俗稱的「處理器」就是 SoC 的一部分)的話,應(yīng)該對(duì) ARM 和 Cortex 這兩個(gè)名字不會(huì)感到陌生。在智能手

關(guān)鍵字: a73 ARM Cortex a73架構(gòu)

2009 年 1 月 3 日,比特幣作為一種自持的 P2P 系統(tǒng)啟動(dòng)了創(chuàng)世區(qū)塊,以巧妙的設(shè)計(jì)驅(qū)使參與者維持它的運(yùn)轉(zhuǎn),并提供受限但極具顛覆性的金融功能至今。2015 年 6月 30 日,以太坊上線

關(guān)鍵字: Cortex 區(qū)塊鏈

5月27日消息,隨著ARM Cortex A78和Cortex X1的問世,高通下一代旗艦Soc浮出水面。 據(jù)XDA報(bào)道,高通下一代旗艦Soc將命名為驍龍875,它可能會(huì)采用Cortex X1超大核+

關(guān)鍵字: 高通驍龍 驍龍875 Cortex

早在今年9月,Arm就推出了新的ArmSafetyReady計(jì)劃,旨在為自動(dòng)駕駛汽車開發(fā)解決方案,還推出了第一款專為無(wú)人駕駛汽車設(shè)計(jì)的處理器架構(gòu)CortexA76AE。 先前宣布的Cor

關(guān)鍵字: ARM Cortex

4月16日,全新的一加8系列旗艦在國(guó)內(nèi)正式亮相,憑借著出色的顏值和頂級(jí)的配置,在開售后迅速征服了廣大消費(fèi)者,在各大平臺(tái)的銷售成績(jī)也極為亮眼。值得注意的是,除了已經(jīng)發(fā)布的一加8和一加8 Pro兩款機(jī)型外

關(guān)鍵字: 聯(lián)發(fā)科 一加 Cortex LITE

2019 年 12月 18日 – 全球電子元器件與開發(fā)服務(wù)分銷商e絡(luò)盟宣布供應(yīng)瑞薩電子基于Arm Cortex -M的RA系列32 位微控制器產(chǎn)品。這一重磅產(chǎn)品系列的推出將助力電子設(shè)計(jì)工程師更加

關(guān)鍵字: ARM Cortex E絡(luò)盟 32位微控制器
關(guān)閉