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

當(dāng)前位置:首頁 > 單片機(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)系本站刪除。
換一批
延伸閱讀

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級(jí)操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對(duì)處理器行為的精細(xì)控制。本文從計(jì)算機(jī)體系結(jié)構(gòu)角度系統(tǒng)闡述控制寄存器的設(shè)計(jì)原理、功能分類、操作機(jī)制...

關(guān)鍵字: 寄存器 處理器

在嵌入式系統(tǒng)開發(fā)中,硬件抽象層(Hardware Abstraction Layer,HAL)起著至關(guān)重要的作用。它為上層軟件提供了統(tǒng)一的硬件訪問接口,隱藏了底層硬件的細(xì)節(jié),使得軟件具有更好的可移植性和可維護(hù)性。C++作...

關(guān)鍵字: 嵌入式C++ HAL 寄存器 封裝

采用51單片機(jī)最小開發(fā)板,由8位自制獨(dú)立按鍵控制。單片機(jī)芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點(diǎn)陣屏模塊由MAX7219驅(qū)動(dòng),MAX7219包含一個(gè)自動(dòng)掃描電路。你只需要把要顯示的數(shù)據(jù)發(fā)送...

關(guān)鍵字: 51單片機(jī) MAX7219 寄存器

電源管理集成電路(PMIC)有益于簡(jiǎn)化最終應(yīng)用并縮小其尺寸,也因此備受青睞。然而,當(dāng)默認(rèn)啟動(dòng)時(shí)序和輸出電壓與應(yīng)用要求不符時(shí),就需要定制上電設(shè)置。大多數(shù)情況下,電路沒有可以存儲(chǔ)這些設(shè)置的非易失性存儲(chǔ)器(NVM)。對(duì)此,低功...

關(guān)鍵字: 電源管理 集成電路 寄存器

我從Digilent公司拿出了我的Arty Z7板,并在Vivado/Vitis 2021.2中創(chuàng)建了一個(gè)項(xiàng)目來讓它工作,你可以在我的上一個(gè)項(xiàng)目帖子中閱讀,我在QDSP-6061的5位數(shù)上顯示滾動(dòng)文本,上面寫著“Hell...

關(guān)鍵字: 寄存器 AXI4 QDSP-6061 RTL模塊

在單片機(jī)系統(tǒng)的設(shè)計(jì)中,復(fù)位電路是確保單片機(jī)正常工作的關(guān)鍵組成部分。它能夠在系統(tǒng)啟動(dòng)時(shí)將單片機(jī)的內(nèi)部寄存器和狀態(tài)設(shè)置為初始值,保證單片機(jī)從一個(gè)確定的狀態(tài)開始運(yùn)行。與門芯片作為一種常見的數(shù)字邏輯芯片,有時(shí)會(huì)被應(yīng)用于單片機(jī)復(fù)位...

關(guān)鍵字: 復(fù)位電路 寄存器 單片機(jī)

在數(shù)字電路設(shè)計(jì)中,計(jì)數(shù)器是一種基礎(chǔ)的數(shù)字電路組件,用于記錄并顯示脈沖信號(hào)的數(shù)量或頻率。4進(jìn)制計(jì)數(shù)器,即模4計(jì)數(shù)器,是一種特殊的計(jì)數(shù)器,其計(jì)數(shù)范圍從0到3,共4個(gè)狀態(tài)。本文將深入探討如何結(jié)合D觸發(fā)器與寄存器來實(shí)現(xiàn)一個(gè)4進(jìn)制...

關(guān)鍵字: D觸發(fā)器 寄存器 計(jì)數(shù)器

寄存器是CPU內(nèi)部存儲(chǔ)單元,即寄存器是CPU的組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和位址等。

關(guān)鍵字: 寄存器 CPU

隨著電子技術(shù)的迅速發(fā)展,計(jì)算機(jī)已深入地滲透到我們的生活中,許多電子愛好者開始學(xué)習(xí)單片機(jī)知識(shí),但單片機(jī)的內(nèi)容比較抽象,相對(duì)電子愛好者已熟悉的模擬電路、數(shù)字電路,單片機(jī)中有一些新的概念,這些概念非?;疽灾劣谝话阕髡卟恍既フ?..

關(guān)鍵字: 單片機(jī) 寄存器

今天,小編將在這篇文章中為大家?guī)砘谝莆患拇嫫鱐DM的實(shí)現(xiàn)方式的有關(guān)報(bào)道。

關(guān)鍵字: 寄存器 移位寄存器
關(guān)閉