




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗四GPIO輸入實驗一、實驗目的1、可以使用GPIO的輸入模式讀取開關信號。2、掌握GPIO相關寄存器的用法和設置。3、掌握用C語言編寫程序控制GPIO。二、實驗環(huán)境PC機ADS集成開發(fā)環(huán)境EasyARM2131授課實驗平臺
一臺一套一套三、實驗內容1.實驗經(jīng)過跳線JP8連接KEY1與,程序檢測按鍵KEY1的狀態(tài),控制蜂鳴器BEEP的鳴叫。按下KEY1,蜂鳴器鳴叫,松開后停止蜂鳴。(調通實驗后,改為KEY3鍵進行輸入)。2.當檢測到KEY1有按鍵輸入時點亮發(fā)光二極管LED4并控制蜂鳴器響,軟件延時后關掉發(fā)光管并停止蜂鳴,爾后循環(huán)這一過程直到檢測按鍵沒有輸入。(鍵輸入改為鍵KEY4,發(fā)光管改為LED6)。3.結合實驗三,當按下按鍵Key1時,啟動賽馬燈程序并控制蜂鳴器響,軟件延時后關掉發(fā)光管并停止蜂鳴,爾后循環(huán)這一過程直到檢測按鍵再次按下。四、實驗原理當P0口用于GPIO輸入時(如按鍵輸入),內部無上拉電阻,需要加上拉電阻,電路圖拜會圖。進行GPIO輸入實驗時,先要設置IODIR使接口線成為輸入方式,爾后讀取IOPIN的值即可。圖按鍵電路原理圖實驗經(jīng)過跳線JP8連接,程序檢測按鍵KEY1的狀態(tài),控制蜂鳴器BEEP的鳴叫。按下KEY1,蜂鳴器鳴叫,松開后停止蜂鳴。在這個實驗中,需要將按鍵KEY1輸入口設為輸入口而蜂鳴器控制口設置為輸出口。蜂鳴器電路如下圖,當跳線JP6連接蜂鳴器時,控制蜂鳴器,低電平時蜂鳴器鳴叫。LED燈電路以以下圖,低電平時燈亮。圖蜂鳴器控制電路圖LED控制電路程序第一設置管腳連接寄存器PINSEL0和PINSEL1,設置為輸入,設置,為輸出。爾后檢測端口的電平,對,進行相應的控制,流程圖如下圖,實現(xiàn)程序見程序清單。圖按鍵輸入實驗流程圖五、實驗步驟、源代碼及調試結果內容1實驗步驟①啟動集成開發(fā)環(huán)境,選擇ARMExecutableImageforlpc2131工程模板建立一個工程BEEP_key。②在user組里編寫主程序代碼。③采納DebugInFLASH生成目標,爾后編譯鏈接工程。④將EasyARM授課實驗開發(fā)平臺上的相應管腳跳線短接。⑤選擇Project->Debug,啟動AXD進行JLINK仿真調試。⑥全速運行程序,程序將會在的主函數(shù)中停止。以以下圖所示:⑦單擊ContextVariable圖標按鈕(也許選擇ProcessorViews->Variables)打開變量觀察窗口,經(jīng)過此窗口可以觀察局部變量和全局變量。選擇SystemViews->DebuggerInternals即可打開LPC2000系列ARM7微控制器的片內外寄存器窗口。經(jīng)過變量窗口可以觀察變量BEEP、KEY1等的值和ARM7微控制器的片內外寄存器窗口。以以下圖所示:⑧可以單步運行程序,先按下Key1,觀察IO0PIN寄存器的值,爾后斷開Key1,觀察IO0PIN寄存器的值??梢栽O置/取消斷點;也許全速運行程序,停止程序運行,觀察變量的值,判斷蜂鳴器控制可否正確。以以下圖所示:圖未按下Key1時IO0PIN的值圖按下Key1時IO0PIN的值由上兩圖可知,當按下Key1時,IO0PIN寄存器的第16位由1變?yōu)椋?F變?yōu)镋),key1與相連,按下Key1時,管腳輸出電平由1變?yōu)?,寄存器值變化,蜂鳴器響,說明控制是正確的?,F(xiàn)象描述:按下KEY1,蜂鳴器鳴叫,松開后停止蜂鳴。源代碼:#include""constuint32BEEP=1<<7;圖未按下KEY1時IO0PIN的值圖按下KEY1后IO0PIN的值比較圖和,發(fā)現(xiàn)按下KEY1后,IO0PIN寄存器的第16位由1變?yōu)?;而KEY1對應管腳,當按下時輸入低電平,這說明KEY1的控制是正確的。上圖所示為運行“IO0CLR=BEEP”后IO0PIN寄存器的值,與圖比較,發(fā)現(xiàn)第8位由1變?yōu)?,BEEP對應管腳,這說明BEEP的控制是對的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論