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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]LPC1114一共有42個(gè)GPIO,分為4個(gè)端口,P0、P1、P2口都是12位的寬度,引腳從Px.0~Px.11,P3口是6位的寬度,引腳從P3.0~P3.5。每個(gè)GPIO都可以通過軟件設(shè)置為輸入或輸出引腳,讀取引腳的電平,就需要把引腳設(shè)置為輸入引

LPC1114一共有42個(gè)GPIO,分為4個(gè)端口,P0、P1、P2口都是12位的寬度,引腳從Px.0~Px.11,P3口是6位的寬度,引腳從P3.0~P3.5。

每個(gè)GPIO都可以通過軟件設(shè)置為輸入或輸出引腳,讀取引腳的電平,就需要把引腳設(shè)置為輸入引腳,比如引腳用來做ADC輸入引腳或按鍵檢測(cè)引腳的時(shí)候。需要程序控制引腳電平的時(shí)候,就把引腳設(shè)置為輸出引腳,比如引腳控制外部三極管導(dǎo)通與截止的時(shí)候。

每個(gè)GPIO都可以作為中斷引腳來感知外部。中斷還可以設(shè)置為電平中斷或邊沿觸發(fā)中斷。電平中斷又可以設(shè)置為低電平中斷或高電平中斷,邊沿觸發(fā)又可以設(shè)置為下降沿中斷或上升沿中斷,也可以設(shè)置為雙邊沿觸發(fā)中斷。它的靈活性給我們?cè)O(shè)計(jì)帶了很大的方便。

引腳作為GPIO功能時(shí),默認(rèn)是輸入引腳。

由于GPIO的寄存器并不是很多,我們首先了解學(xué)習(xí)它的寄存器,然后通過實(shí)例講解GPIO的各種輸入輸入應(yīng)用。

2.1 GPIO寄存器定義

名稱訪問屬性描述復(fù)位值DATA可讀可寫數(shù)據(jù)寄存器不定DIR可讀可寫方向寄存器0x00IS可讀可寫中斷感應(yīng)寄存器0x00IBE可讀可寫雙邊沿中斷寄存器0x00IEV可讀可寫中斷事件寄存器0x00IE可讀可寫中斷屏蔽寄存器0x00RIS只可讀原始中斷狀態(tài)寄存器0x00MIS只可讀屏蔽中斷狀態(tài)寄存器0x00IC只可寫中斷清除寄存器0x00

1. 數(shù)據(jù)寄存器DATA


名稱

描述

復(fù)位值

訪問屬性

11:0

DATA

1為高電平,0為低電平

不定

可讀可寫

31:12

保留


數(shù)據(jù)寄存器用來讀取單片機(jī)引腳的電平和控制單片機(jī)引腳的電平。當(dāng)引腳設(shè)置為輸入引腳時(shí),讀取DATA寄存器可以獲得引腳的電平。當(dāng)引腳設(shè)置為輸出引腳時(shí),給DATA寄存器寫值可以控制引腳的電平。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。例如,讀取P0口的DATA寄存器,bit0就對(duì)應(yīng)P0.1引腳的電平,bit7就對(duì)應(yīng)P0.7引腳的電平,以此類推。bit12到bit31這些位保留不用。LPC1114的四個(gè)端口,每個(gè)端口都有一個(gè)DATA寄存器。由于P3口只有6個(gè)引腳,所以P3口的DATA寄存器只有bit0到bit5是可以使用的,其它位無用。

當(dāng)引腳設(shè)置為輸入引腳的時(shí)候,給DATA寄存器寫值不會(huì)影響到引腳的電平,沒有意義。此時(shí)DATA寄存器的值只受引腳外部電平的影響。

2. 方向寄存器DIR

名稱

描述

復(fù)位值

訪問屬性

11:0

IO

1為輸出,0為輸入

0x000

可讀可寫

31:12

保留

方向寄存器用來設(shè)置GPIO引腳的輸入和輸出功能。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。例如,設(shè)置P0.5為輸入引腳,需設(shè)置GPIO0的DIR寄存器中的bit5為0,設(shè)置P0.5為輸出引腳,需設(shè)置GPIO0的DIR寄存器中的bit5為1。由上表復(fù)位值可知,GPIO默認(rèn)是輸入引腳。bit12到bit31這些位保留不用。

3. 中斷感應(yīng)寄存器IS

名稱

描述

復(fù)位值

訪問屬性

11:0

ISENSE

0為邊沿觸發(fā)

1為電平觸發(fā)

0x000

可讀可寫

31:12

保留

中斷感應(yīng)寄存器用來設(shè)置產(chǎn)生中斷的觸發(fā)方式。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。給對(duì)應(yīng)的bit寫0,把對(duì)應(yīng)的引腳設(shè)置為邊沿觸發(fā)。給對(duì)應(yīng)的bit寫1,把對(duì)應(yīng)的引腳設(shè)置為電平觸發(fā)。由復(fù)位值可知,引腳默認(rèn)為邊沿觸發(fā)方式。邊沿觸發(fā),分為上升沿觸發(fā)和下降沿觸發(fā)兩種方式。電平觸發(fā),分為高電平觸發(fā)和低電平觸發(fā)兩種方式。具體是哪種邊沿或者哪種電平觸發(fā)中斷,需要由下面將要講到的“中斷事件觸發(fā)器”決定。

4. 雙邊沿中斷寄存器IBE

名稱

描述

復(fù)位值

訪問屬性

11:0

IBE

0:中斷方式由IEV決定

1:設(shè)置為雙邊沿中斷

0x000

可讀可寫

31:12

保留

雙邊沿中斷寄存器用來設(shè)置引腳中斷方式是否為雙邊沿觸發(fā)中斷。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。給對(duì)應(yīng)的bit寫1,把對(duì)應(yīng)的引腳設(shè)置為雙邊沿觸發(fā)中斷,給對(duì)應(yīng)的bit寫0,則觸發(fā)方式由中斷事件寄存器的設(shè)置決定。

5. 中斷事件寄存器IEV

名稱

描述

復(fù)位值

訪問屬性

11:0

IEV

0:下降沿或低電平觸發(fā)

1:上升沿或高電平觸發(fā)

0x000

可讀可寫

31:12

保留

中斷感應(yīng)寄存器用來設(shè)置高低電平或者是上升沿和下降沿觸發(fā)中斷的方式。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。這個(gè)寄存器與“中斷感應(yīng)寄存器”配合使用,決定引腳的電平觸發(fā)方式。給對(duì)應(yīng)的bit位寫0,如果“中斷感應(yīng)寄存器”設(shè)置為邊沿觸發(fā),這里即是下降沿觸發(fā)中斷,如果“中斷感應(yīng)寄存器”設(shè)置為電平觸發(fā),這里即是低電平觸發(fā)中斷。給對(duì)應(yīng)的bit位寫1,如果“中斷感應(yīng)寄存器”設(shè)置為邊沿觸發(fā),這里即是上升沿觸發(fā)中斷,如果“中斷感應(yīng)寄存器”設(shè)置為電平觸發(fā),這里即是高電平觸發(fā)中斷。由復(fù)位值可知,引腳的中斷觸發(fā)方式為低電平觸發(fā)中斷或者是下降沿觸發(fā)中斷。

6.中斷屏蔽寄存器IE

名稱

描述

復(fù)位值

訪問屬性

11:0

MASK

0:屏蔽引腳的中斷

1:不屏蔽引腳的中斷

0x000

可讀可寫

31:12

保留

中斷屏蔽寄存器用來屏蔽引腳上的中斷。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。給對(duì)應(yīng)的bit位寫0,屏蔽對(duì)應(yīng)引腳的中斷。給對(duì)應(yīng)的bit位寫1,不屏蔽對(duì)應(yīng)引腳的中斷。

它其實(shí)是接下來要講到的“屏蔽中斷狀態(tài)寄存器”的開關(guān)。當(dāng)引腳設(shè)置好觸發(fā)中斷方式以后,在引腳上產(chǎn)生了觸發(fā)中斷的條件,如果這里的對(duì)應(yīng)引腳的位設(shè)置為1,那么“屏蔽中斷狀態(tài)寄存器”中的對(duì)應(yīng)狀態(tài)位將置1,如果這里的對(duì)應(yīng)引腳的位設(shè)置為0,那么“屏蔽中斷狀態(tài)寄存器”中的對(duì)應(yīng)狀態(tài)位將不會(huì)置1。

7. 原始中斷狀態(tài)寄存器RIS

名稱

描述

復(fù)位值

訪問屬性

11:0

RAWST

0:表示沒有產(chǎn)生中斷

1:表示產(chǎn)生了中斷

0x000

只讀

31:12

保留

原始中斷狀態(tài)寄存器,是一個(gè)只讀寄存器。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。讀取對(duì)應(yīng)的位,可以知道引腳上有沒有產(chǎn)生符合條件的中斷。

需要注意的是,這里的狀態(tài)位,并不受“中斷屏蔽寄存器”設(shè)置位的影響。例如,當(dāng)某引腳設(shè)置為下降沿產(chǎn)生中斷,如果某引腳上產(chǎn)生了下降沿,這個(gè)寄存器中的對(duì)應(yīng)位就會(huì)置1。也就是說,前面提到的“中斷屏蔽寄存器”的設(shè)置,只會(huì)影響到“屏蔽中斷狀態(tài)寄存器”的狀態(tài)位。

8. 屏蔽中斷狀態(tài)寄存器MIS

名稱

描述

復(fù)位值

訪問屬性

11:0

MASK

0:表示沒有產(chǎn)生中斷

1:表示產(chǎn)生了中斷

0x000

只讀

31:12

保留

屏蔽中斷狀態(tài)寄存器,是一個(gè)只讀寄存器。寄存器當(dāng)中的bit0到bit11,每一個(gè)bit與引腳順序?qū)?yīng)。讀取對(duì)應(yīng)的位,可以知道引腳上有沒有產(chǎn)生符合條件的中斷。

需要注意的是,這里的狀態(tài)位,受“中斷屏蔽寄存器”設(shè)置位的影響。例如,當(dāng)某引腳設(shè)置為下降沿產(chǎn)生中斷,如果某引腳上產(chǎn)生了下降沿,而且在“中斷屏蔽寄存器”中的引腳對(duì)應(yīng)位設(shè)置為1,這個(gè)寄存器中的對(duì)應(yīng)位才會(huì)置1。也就是說,即使引腳上產(chǎn)生了符合條件的中斷,如果“中斷屏蔽寄存器”中的引腳對(duì)應(yīng)位設(shè)置為0,這個(gè)狀態(tài)寄存器中的對(duì)應(yīng)位是不會(huì)置1的。

9.中斷清除寄存器IC

名稱

描述

復(fù)位值

訪問屬性

11:0

CLR

0:不起作用

1:清除中斷狀態(tài)位

0x000

只寫

31:12

保留

中斷清除寄存器是一個(gè)只寫寄存器,用來清除對(duì)應(yīng)引腳中斷狀態(tài)位。GPIO有兩個(gè)中斷狀態(tài)寄存器,它們分別是“屏蔽中斷狀態(tài)寄存器”和“原始中斷狀態(tài)寄存器”。給“中斷清除寄存器”對(duì)應(yīng)的位寫1,將會(huì)清除這兩個(gè)中斷狀態(tài)寄存器中的對(duì)應(yīng)位。


本站聲明: 本文章由作者或相關(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)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉