华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告

华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告

ID:16221832

大小:391.15 KB

页数:12页

时间:2018-08-08

华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告_第1页
华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告_第2页
华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告_第3页
华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告_第4页
华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告_第5页
资源描述:

《华科 hust 微机原理 并行io接口实验 独立式开关输入 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理实验报告学号姓名专业通信1301指导教师罗杰院(系、所)电信学院并行I/O接口实验一、实验目的1、掌握GPIOIP核的工作原理和使用方法。2、掌握IO接口程序控制方法1)查询方式2)中断方式3)延时方式3、掌握中断控制方式的IO接口设计原理4、掌握中断程序设计方法二、实验任务使用查询、中断两个方式做独立式开关输入,将开关状态显示到console。三、硬件电路框图四、硬件平台建立1创建XPS工程创建basesystem文件夹,建立最小系统。启动XPS,打开system.xmp工程文件。2添加和配置GPIOIP核在XPS

2、主界面左边窗口选择IPCataiong标签,点击GeneralPurposeI/O展开。添加AXIGenaralPurposeI/O。配置开关与led灯分别有16个,将其分别设置为16在ucf文件中添加相应代码3、添加和配置中断控制器IP核在XPS主界面左边窗口选择Clock,ResetandInterrupt标签,点击AXIInterruptController展开。将INTERRUPT引脚选择axi_intc.c_INTERRUPT。设置中断输入4、产生外部GPIO链接SW为开关输入,从GPIO_IO接口接入,LED灯输

3、出,从GPIO2_IO接口接入展开ExternalPorts项可看到SW与LED的外部接口五、软件平台建立1.查询源代码#include"stdio.h"#include"xil_io.h"#include"xil_types.h"#definegpio_ctrl0x40000004//定义通道1地址#definegpio_data0x40000000//定义数据1地址#definegpio1_ctrl0x4000000c//定义通道2地址#definegpio1_data0x40000008//定义数据2地址intmain

4、(void){u16SW,psw;//定义两个输入,psw作比较信号Xil_Out16(gpio_ctrl,0xffff);//输入Xil_Out16(gpio1_ctrl,0x0);//输出psw=SW=0x00;//赋初值0给两个输入信号while(1){SW=Xil_In16(gpio1_data);Xil_Out16(gpio1_data,SW);if(psw!=SW)//判断SW与PSW是否相等{psw=SW;SW=Xil_In16(gpio1_data);xil_printf("theSwitchstateis0

5、x%Xr",SW);//显示开关状态}}return0;}状态显示:实验流程图:2中断源代码:#include"xgpio.h"#include"xparameters.h"#include"xintc.h"#include"stdio.h"#include"xil_io.h"XGpioswled;XIntcintc;//实例化intcintswstate;intpshdip;voidInitialize();voidGPIOHandler(void*CallBackRef);intmain(){Initialize(

6、);while(1){if(pshdip){xil_printf("theSwitchstateis0x%xr",swstate);pshdip=0;}}return0;}voidInitialize(){XGpio_Initialize(&swled,XPAR_AXI_GPIO_0_DEVICE_ID);XGpio_SetDataDirection(&swled,1,0xffff);XGpio_SetDataDirection(&swled,2,0x0);XGpio_InterruptEnable(&swled,1)

7、;XGpio_InterruptGlobalEnable(&swled);//XGpio_InterruptClear(&swled,1);XIntc_Initialize(&intc,XPAR_AXI_INTC_0_DEVICE_ID);XIntc_Connect(&intc,XPAR_AXI_INTC_0_AXI_GPIO_0_IP2INTC_IRPT_INTR,(XInterruptHandler)GPIOHandler,(void*)&swled);XIntc_Enable(&intc,XPAR_AXI_INTC_0

8、_AXI_GPIO_0_IP2INTC_IRPT_INTR);microblaze_enable_interrupts();microblaze_register_handler((XInterruptHandler)XIntc_InterruptHandler,(void*)&intc)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。