哈工大嵌入式系統設計4_第1頁
哈工大嵌入式系統設計4_第2頁
哈工大嵌入式系統設計4_第3頁
哈工大嵌入式系統設計4_第4頁
哈工大嵌入式系統設計4_第5頁
已閱讀5頁,還剩30頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

4.1

LPC1100的引腳配置4.2 LPC1100的GPIO編程4.3 GPIO的應用4.4程序實例第四章LPC1100外設:GPIOLPC1100的引腳配置受體積和成本的限制,物理管腳(pin)的數量有限芯片功能模塊的種類和數量所要求的引腳數遠大于物理管腳個數多個功能復用物理管腳LPC1100的引腳配置一個腳上的功能有可能多達4個引腳連接模塊控制每個管腳功能分配屬性I/O配置寄存器控制著引腳的電氣特性??膳渲眠x項如下:

管腳功能;

內部電阻上拉/下拉或總線保持功能;

滯后特性;

模擬/數字輸入模式;

I2C總線的I2C模式。

LPC1100的引腳配置管腳GPIOTXD0TIMER輸出保留標準I/O管腳內部結構

LPC1100的引腳配置IOCON_PIOn_m寄存器控制著管腳功能(GPIO或外設功能)、輸入模式和所有GPIOn_m管腳的滯后特性。另外,它可以為不同的I2C總線模式配置I2C總線管腳。如果管腳用作ADC輸入管腳,也可以通過IOCON_PIOn_m寄存器配置管腳為模擬輸入模式。IOCON_PIOn_m寄存器位域描述

LPC1100的引腳配置管腳功能配置(FUNC)IOCON_PIOn_m寄存器的FUNC位可以設為GPIO(FUNC=0)或者一種外設功能。

LPC1100的引腳配置管腳模式(MODE)允許將每個管腳配置為片內上拉、下拉或中繼模式。

片內電阻配置有上拉使能、下拉使能或無上拉/下拉3種狀態,缺省值是上拉使能。如果管腳處于邏輯高電平,則中繼模式使能上拉電阻;如果管腳處于邏輯低電平,則中繼模式使能下拉電阻。這樣,如果管腳配置為輸入并且不被外部驅動,那么它可以保持上一種已知狀態。中繼模式可以用于管腳暫時不被驅動時防止管腳懸空

LPC1100的引腳配置管腳模式(MODE)LPC1100的引腳配置滯后作用(HYS)

數字功能的輸入緩沖器可以通過IOCON_PIOn_m寄存器的HYS位配置為滯后緩沖器或普通緩沖器。A/D模式(ADMODE)

在A/D模式中,為了使模數轉換器可以獲取精確的輸入電壓,數字接收器將斷開連接。I2C模式(I2CMODE)

如果寄存器IOCON_PIO0_4和IOCON_PIO0_5的FUNC位選擇為I2C功能,則I2C總線管腳可以配置為不同的I2C模式

LPC1100的引腳配置LPC1100的引腳配置LPC1100的引腳配置LPC1100的引腳配置LPC1110系列Cortex-M0微控制器的GPIO具有以下特性:

數字端口可以由軟件配置為輸入/輸出;

所有GPIO引腳默認為輸入;

端口引腳的讀/寫操作是可屏蔽的;

每個單獨引腳可被用作外部中斷輸入引腳;

每個GPIO中斷可配置為低電平、高電平、下降沿、上升沿或雙邊沿觸發;

可對單獨端口的中斷級別進行編程。

LPC1100的GPIO編程所有GPIO寄存器都為32位,可以以字節、半字和字的形式訪問。GPIO端口0寄存器的基址為0x50000000;GPIO端口1的基址為0x50010000;GPIO端口2的基址為0x50020000;GPIO端口3的基址為0x50030000。

LPC1100的GPIO編程LPC1100的GPIO編程GPIO數據寄存器

數據寄存器用于讀取輸入管腳的狀態數據,或配置輸出管腳的輸出狀態。GPIOnDATA寄存器位描述

LPC1100的GPIO編程GPIO數據方向寄存器

數據方向寄存器用于控制管腳為輸出或輸入狀態。GPIOnDIR寄存器位描述

LPC1100的GPIO編程GPIO中斷相關的寄存器GPIO中斷觸發寄存器GPIO中斷雙邊沿觸發寄存器GIPO中斷事件寄存器GPIO中斷屏蔽寄存器GPIO原始中斷狀態寄存器GPIO屏蔽中斷狀態寄存器GPIO中斷清除寄存器

LPC1100的GPIO編程邏輯操作GPIO輸入輸出是指通過對GPIODATA寄存器的位進行“與”“或”操作實現讀取GPIO的狀態或輸出高低電平,GPIO輸入輸出應用示例LPC1100的GPIO編程LPC1100的GPIO編程LPC1100的GPIO編程控制一個或多個指示燈GPIO的應用讀取一個或多個按鍵的輸入GPIO的應用矩陣掃描式鍵盤GPIO的應用數字量輸出在工業現場往往需要使用數字量信號來驅動外部的執行機構、顯示燈等負載。數字量輸出

的含義是指這種類型的輸出信號只有簡單的兩種狀態:高電平和低電平,也可以理解為開(ON)或者關(OFF)兩種狀態。

GPIO的應用數字量輸出對于工業現場所需要的數字量信號,也具有多種電壓等級,這就需要通過不同的輸出驅動電路來實現。同時采用不同的輸出器件可以使數字量輸出信號具有不同的輸出形式,如晶體管輸出,機械繼電器輸出、固態繼電器輸出、雙向可控硅輸出等。根據輸出信號與輸出電路是否需要共地,可以采用非隔離或者隔離輸出的方式。在設計數字量輸出電路時,必須根據輸出信號的類型選用合適的電路,例如輸出信號的電壓等級,輸出信號的負載能力,輸出觸點類型。GPIO的應用非隔離型數字量輸出電路

GPIO的應用隔離型數字量輸出電路

GPIO的應用繼電器輸出電路

GPIO的應用程序實例控制四個LED循環顯示“流水燈”程序實例程序實例voidKeyPoll(void*pdata){……while(1){while((IO0PIN&KEY1)!=0){OSTimeDly(1);}IO0PIN=IO0PIN^KEY1;while((IO0PIN&KEY1)==0){

OSTimeDly(1);}}}延時1個時間單位延時1個時間單位等待按健按下等待按健釋放翻轉LED狀態初始化代碼按鍵的抖動while(1)

{

if(KEY0

==1)

{

delay_ms(10);

if(KEY0

==1)

。。。

}

delay_ms(10);

}一個實用的按鍵監測程序u8KEY_Scan(void){staticu8key_up=1;

if(key_up&&(KEY0==0||KEY1==0||KEY2==0||KEY3==0)){delay_ms(10);key_up=0;if(KEY0==0) returnKEY_0;elseif(KEY1==0)returnKEY_1;elseif(KEY2==0)returnKEY_2;elseif(KEY3==0)returnKEY_3;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論