并行IO接口試驗報告_第1頁
并行IO接口試驗報告_第2頁
并行IO接口試驗報告_第3頁
并行IO接口試驗報告_第4頁
并行IO接口試驗報告_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、并行I/O接口實驗報告一、實驗目的1 .掌握GPIOIP核的工作原理和使用方法。2 .掌握IO接口程序控制方法3 .掌握中斷控制方式的IO接口設計原理4 .掌握中斷程序設計方法二、實驗任務使用查詢、中斷兩個方式做獨立式開關輸入,將開關的狀態(tài)顯示到console。三、硬件平臺建立1.硬件框圖2.通過xps建立最小系統(tǒng),打開system.xmp文件0此®M陶頓“更片國鄴,下我Ji音樂一匚1常_軟件(DO池任:)一f(F:)gen日impactbatchBlbitinit1clock_generator_0flPtgenHIplatgen.opt§psf2EdwardsyEter

2、m.bEbHIsystemsystenni.nnake|System.mhs辱systemsystemincLmiake0t«tS|xdsgen2017/5/2320:24女2017/5/232024訃2017/5/2320:18如2017/5/2320:1?又小2017/5/2320:15OPT2017/5/2?20:27女杰2017乃10:152017/5/2615:26201775/2615:10MAk2017/5/2220:17MH92017/5/2320:17Xilin2OT7/5/2615:10MAk2017/5/23納28訃2017/5/2320:27文本3.添加和配置

3、GPIO核,并改寫ucf文件NET"Cl?:11TNM_iTET=3ys_GlIr_pin;TIMESPEGT3_sy3_clk_pin=PERICD3ys_clc_pin1D0Q00ItHz;NTT"CLK"LOC-nE3M|IOSTAMDARD="1¥,-10533,'NTT"RESETSLOC-"E16l,r|IOSTANDARD-"-VCMOS33M;WET"b>"LOU*”二三”WET"RsTx"LOe-nD4"lOSWJDARD-"

4、;'-JM1二二”LTET"Bltton_GPIO_IO_I_pi_n<0>nUET-n二GPS二工匯工_p-NUTlO21°Z1If1n<2>"NET-Eu匕t;二G目工O二工C二工二p工口<3>|IOSTANDARD=riLVCMDS33";LOC="Tien|工。STAN略RXU;LOC-"R10"|IOSIANDSkRI>="LVCMO5331r;L0C=J'V1"IIOSIANDARI>=r,y.'Z'AC53F;4

5、添加和配置中斷控制器IP核5產生外部GPIO連接自ExternalPortsGPIO_IOJ_pinButterHgpio0±£Pfl0J0_lJirNONCLKclock_gerrerator_0:CLKlN/ixzCLKRESETproc_5ys_re5et_0"Ext_ResetJnclock_generator_0i;RST£工yRSTRsRxRS232:uart_O:RX/IVNON的蔭R&2S2:uart.O:iTX/0YNONjfx/4fjte_0日fTJ!crob/sze_Q_c/fmbLMB_CLKc1t>ck_gener

6、atorO;:CLKOUTO/ICLKSYSRETprDC_sys_reset_0:Bu£_Struct_Re.yi£IRST由microbiazeGiltnb回rnicrcb/sie_0rnicrobhze_S_bram_blockfnscrobUz_0_d_brm_ct/micrab/zts_7br3rn_ctrJ由dbu_moduleEax/jntcO四、軟件平臺建立1 .軟件流程圖2 .查詢代碼/*gpio.c*Createdon:2017-5-24Author:201511*/#include"xparameters.h"#include&qu

7、ot;xgpio.h"#include"xintc.h"#include"stdio.h"voidInitialize。;voidDelay_50ms();voidPushBtnHanler(void*CallBackRef);voidSwitchHandler(void*CallBackRef);XGpioDips;XIntcintCtr1;intpshDip;intstate1;intmain()Initialize();xil_printf("rnRunningGpioInputInterrupt!rn");while

8、(1)if(pshDip)若按下按鍵,則打印信息xil_printf("SwitchInterruptTrigger!thestateis0x%Xnr",state1);pshDip=0;return0;voidInitialize()初始化Dips實例,并設定其為輸入方式XGpio_Initialize(&Dips,XPAR_DIP_DEVICE_ID);XGpio_SetDataDirection(&Dips,1,0xff);/初始化intCtrl實例XIntc_Initialize(&inCtrl,XPAR_AXI_INTC_0_DEVICE_

9、ID);/GPIO中斷使能XGpio_InterruptEnable(&Dips,1);XGpio_InterruptGlobalEnable(&Dips);/對中斷控制器進行中斷源使能XIntc_Enable(&intCtrl,XPAR_AXI_INTC_0_DIP_IP2INTC_IRPT_INTR);注血中斷服務函數(shù)XIntc_Connect(&intCtrl,XPAR_AXI_INTC_0_DIP_IP2INTC_IRPT_INTR,(XInterruptHandler)SwitchHandler,(void*)0);microblaze_enable_

10、interrupts();允許處理器處理中斷;注冊中斷詁制器疝理函數(shù)microblaze_register_handler(XInterruptHandler)XIntc_InterruptHandler,(void*)&intCtrl);XIntc_Start(&inCtrl,XIN_REAL_MODE);啟動中斷控制器voidDelay_50ms()inti;for(i=0;i<5000000;i+);voidSwitchHandler(void*CallBackRef)state1=XGpio_DiscreteRead(&Dips,1);/讀取Switch開

11、關的狀態(tài)值pshDip=1;XGpio_InterruptClear(&Dips,1);/消除中斷位置3 .端口修改電*TerminalSettingsPortC0M6VBaudRate:9600VQataBits:8VStopBits:1vParity:NoneVFlowControl:NoneVTimecut(seO:5Settings:學電把OKCarreelw*埼口(COM和LPT.USESerialPort(COM切1£局件3.RunningGpiolnputInterrupt!buttonInterruptTrigger&zl!'!nhesc-aceis0x5三二七t二二InterruptTriggered?!1thestateis0k2ButtonInterruptTriggered!the3七日七uis0x1SLSttOQTnrerrupTriggered?

溫馨提示

  • 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

提交評論