基于Xilinx公司XPS工具下的一个时钟_Devin_新浪博客
---------------------------------------转载请注明出处-------------------------------------------
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_新浪博客相关推荐
- 基于Verilog下的串口通信实验_Devin_新浪博客
串口通信是目前比较重要的一种通信方式,主要是用于计算机和外部的通信.首先简单的介绍一下串口通信的原理: 串口用于ASCII码字符的传输.通信使用3根线完成:(1)地线,(2)发送,(3)接收.由于串口 ...
- 警告框处理与下拉框选择_Sinno_Song_新浪博客
一.警告框处理: switch_to.alert:获取当前警告框 text:返回 alert/confirm/prompt 中的文字信息. accept():接受现有警告框. dismiss():解散 ...
- Linux下IP的配置_F_hawk189_新浪博客
在 Linux 系统中,TCP/IP 网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作.在RedHat linux刚安装好后可以通过图形化界面来配置,以下介绍通过命令行配置网络 需要 ...
- 通达信公式解密工具5.05_我是亲民_新浪博客
最近在研究股票,必然会用到通达信行情软件,这里面有很多的指标.公式,网上也有很多,如果想要加以改进,很多都进行了加密,不能修改,通达信公式解密工具就可以很好的解决这个密码的问题. 用法: 把要解密的指 ...
- 发布一个mmap的trie_midrmm02_新浪博客
发布一个mmap的trie_midrmm02_新浪博客 发布一个mmap的trie (2012-04-13 03:09:22) 转载▼ 标签: 杂谈 ...
- 发现一款好用的备份新浪博客的工具
在来这里安家之前,我在新浪就有个窝,因为种种原因,最后我选择在51CTO安家.但如何备份原来在新浪的博文,一直成为我心头的一块石头.今天在网上闲逛时,无意中在http://soft.cmhello.c ...
- 手把手教你做一个新浪博客发布软件JAVA版本(5)--打开博客发布页面并解析博客内容
前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一 ...
- 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面
前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...
- 关于幂律分布的一个笔记_哈克_新浪博客
关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记 (2011-03-02 18:12:27) 转载▼ 标签: 幂律 二八法则 杂谈 ...
最新文章
- Ubuntu环境下使用gnuplot由数据表绘制曲线图
- java:方法覆盖与方法重载
- linux下logrotate配置和理解---转
- Android AlertDialog学习
- 传新一轮估值200亿美金 小红书回应:以老股东增持为主
- SQL单行函数-通用函数
- Windows Azure 社区新闻综述(#78 版)
- html静态页面作跳转
- 大数据工程师简历_大数据工程师简历专业技能怎么写
- 清风老师数学建模笔记——层次分析法
- 微信小程序点播音频服务器,微信小程序无法播放本地音频
- ASF文件格式详解(1)
- 美赛流程以及经验分享
- 谷歌搜索引擎总是被修改
- 北大计算机博士毕业难度,北京大学博士毕业要求
- 【中医学】10 针灸-1
- emv交易流程介绍_(精)EMV流程介绍.ppt
- 语音合成——闽南语合成(1)
- Java实现微信运动步数(已自测)
- SSH git初次克隆代码问题报错 fatal: unable to update url base from redirection:
热门文章
- 普罗米修斯监控openGauss
- matlab多项式的拟合与插值例题_Matlab中数据处理和多项式插值与曲线拟合
- 土木工程材料课程题库及参考答案
- 2020级C语言大作业 - 喵斯快跑
- 分享5款不为人知的超强手机APP
- ORA-01031:权限不足的问题
- linux学成之路(四)上 linux用户与组管理
- html文件可以带参数,一个带参数的URL指向一个静态文件后面的参数有没有作用?_html/css_WEB-ITnose...
- 谈谈你对Java异常处理机制的理解
- 敢于我的电脑较量五子棋么?