Board logo

标题: 利用Xilinx的XPS工具写的一个时钟 [打印本页]

作者: luoman    时间: 2010-8-16 18:20     标题: 利用Xilinx的XPS工具写的一个时钟

利用Xilinx的XPS工具写的一个时钟




1. GPIO外设的配置:


(1) 新建工程,添加duan ,wei ,Leds_8Bit三个GPio外设,并且将其与总线连接,设置地址和相应的长度。然后将添加的三个GPio端口在port下的GPio_d_out设置为make External,用来产生外部GPIO连接。


(2)Project下点击UCF文件,添加相应的三个GPio外设的端口。然后在Application下双击Compiler Options,在Environment下选择Use Default Linker ,在Debug and Optimization下选择No Optimization


(3) 点击编译按钮,进行编译。


2. 定时器和中断的配置:


(1) IP  Catalog下的DMA and Timer中双击添加XPS Timer/Counter定时器,在Clock,Reset and Interrupt下双击XPS Interrupt......,添加中断。将定时器的名字改为delay,并且与总线相连接。在地址下点击Generate Addresses,为其添加地址。


(2) port下输入timer1作为delayinterrupt连接Interrupt    下拉为 timer1。在microblaze_0下的INTERRUPT选择New Connection,创建一个新的网络。


(3) Irq下选择microblaze_0_INTERRUPT。单击Intr,将弹出的窗口中的timer1添加到右边的窗口。


(4)delay 下的CaptureTrig0设置为net_gnd


(5) 双击delay,在弹出的窗口中将Only One Timer is present选中。


(6) 最后在Application 下的Sources中右键添加写好的C文件。选择工具栏中Device Configuration下的Update,进行编译。编译完成后点击Download下载到EXCD-1板卡中。


3. 扩展功能:


按键控制时、分的加减。


(1) 首先添加按键的GPIO外设button,设置方法同第一步的方法相同。注意添加的时候不要忘了在system.ucf 中添加其对应的端口。


(2) 然后在C程序中添加相应的代码。定义全局变量Xuint32 DataRead;  //读取按钮数


XGpio Push_Bottons_4Bit; //定义GPIO按钮




在初始化函数中添加按键初始化语句:


Status = XGpio_Initialize(&Push_Bottons_4Bit, XPAR_BUTTON_DEVICE_ID);  //GPIO_BUTTONS_4BIT初始化



XGpio_SetDataDirection(&Push_Bottons_4Bit, 1, 0xFFFFFFFF);  //设置为输入


添加按键扫描函数:


void keyscan()


{



DataRead = XGpio_DiscreteRead(&Push_Bottons_4Bit, 1);//读取按键信息




if(DataRead == 0x7) //第一个按键




{






  XIntc_mMasterEnable(XPAR_XPS_INTC_0_BASEADDR);//关闭中断






  XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, 0x0);






delay(400);






DataRead = XGpio_DiscreteRead(&Push_Bottons_4Bit, 1);//读取按键信息






if(DataRead != 0x7)






{







shi++;







if(shi==24)








shi=0;








XIntc_mMasterEnable(XPAR_XPS_INTC_0_BASEADDR);//再次打开中断








XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, 0x1);






}




  }//此处仅仅只有一种扫描,若要增加按键,即多增加几个if即可



作者: 元器件交易网    时间: 2010-8-18 09:31

受教了。。。
作者: dsz0402    时间: 2010-8-18 14:54

好专业啊,看不懂
作者: huangjx0765    时间: 2010-9-9 09:37

有道理,学习了




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0