---------------------------------------转载请注明出处-------------------------------------------

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 Script,在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作为delay的interrupt连接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即可

最后在主函数中运行此函数即可。

由于图片上传以后不能打开,因此只能传上文档版的了!

基于Xilinx公司XPS工具下的一个时钟_Devin_新浪博客相关推荐

  1. 基于Verilog下的串口通信实验_Devin_新浪博客

    串口通信是目前比较重要的一种通信方式,主要是用于计算机和外部的通信.首先简单的介绍一下串口通信的原理: 串口用于ASCII码字符的传输.通信使用3根线完成:(1)地线,(2)发送,(3)接收.由于串口 ...

  2. 警告框处理与下拉框选择_Sinno_Song_新浪博客

    一.警告框处理: switch_to.alert:获取当前警告框 text:返回 alert/confirm/prompt 中的文字信息. accept():接受现有警告框. dismiss():解散 ...

  3. Linux下IP的配置_F_hawk189_新浪博客

    在 Linux 系统中,TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作.在RedHat linux刚安装好后可以通过图形化界面来配置,以下介绍通过命令行配置网络 需要 ...

  4. 通达信公式解密工具5.05_我是亲民_新浪博客

    最近在研究股票,必然会用到通达信行情软件,这里面有很多的指标.公式,网上也有很多,如果想要加以改进,很多都进行了加密,不能修改,通达信公式解密工具就可以很好的解决这个密码的问题. 用法: 把要解密的指 ...

  5. 发布一个mmap的trie_midrmm02_新浪博客

    发布一个mmap的trie_midrmm02_新浪博客 发布一个mmap的trie     (2012-04-13 03:09:22)     转载▼     标签:     杂谈           ...

  6. 发现一款好用的备份新浪博客的工具

    在来这里安家之前,我在新浪就有个窝,因为种种原因,最后我选择在51CTO安家.但如何备份原来在新浪的博文,一直成为我心头的一块石头.今天在网上闲逛时,无意中在http://soft.cmhello.c ...

  7. 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容

            前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一 ...

  8. 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面

           前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...

  9. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

最新文章

  1. Ubuntu环境下使用gnuplot由数据表绘制曲线图
  2. java:方法覆盖与方法重载
  3. linux下logrotate配置和理解---转
  4. Android AlertDialog学习
  5. 传新一轮估值200亿美金 小红书回应:以老股东增持为主
  6. SQL单行函数-通用函数
  7. Windows Azure 社区新闻综述(#78 版)
  8. html静态页面作跳转
  9. 大数据工程师简历_大数据工程师简历专业技能怎么写
  10. 清风老师数学建模笔记——层次分析法
  11. 微信小程序点播音频服务器,微信小程序无法播放本地音频
  12. ASF文件格式详解(1)
  13. 美赛流程以及经验分享
  14. 谷歌搜索引擎总是被修改
  15. 北大计算机博士毕业难度,北京大学博士毕业要求
  16. 【中医学】10 针灸-1
  17. emv交易流程介绍_(精)EMV流程介绍.ppt
  18. 语音合成——闽南语合成(1)
  19. Java实现微信运动步数(已自测)
  20. SSH git初次克隆代码问题报错 fatal: unable to update url base from redirection:

热门文章

  1. 普罗米修斯监控openGauss
  2. matlab多项式的拟合与插值例题_Matlab中数据处理和多项式插值与曲线拟合
  3. 土木工程材料课程题库及参考答案
  4. 2020级C语言大作业 - 喵斯快跑
  5. 分享5款不为人知的超强手机APP
  6. ORA-01031:权限不足的问题
  7. linux学成之路(四)上 linux用户与组管理
  8. html文件可以带参数,一个带参数的URL指向一个静态文件后面的参数有没有作用?_html/css_WEB-ITnose...
  9. 谈谈你对Java异常处理机制的理解
  10. 敢于我的电脑较量五子棋么?