搜索
bottom↓
回复: 14

学习fpga一个月,写了一个菜单程序,方便调用任务,希望大家帮看看有什么问题。。已调试成

[复制链接]

出0入0汤圆

发表于 2011-8-25 20:01:50 | 显示全部楼层 |阅读模式
我刚学fpga一个月,虽然程序调试成功,不过思路,还有程序的写法各方面可能存在很多问题,希望有朋友指出(学生,没收入,没相机,就没法上传调试实物照了,呵呵);

使用1602显示,ps2控制。。。(这里不知道为什么,开机要先按一下设置的rst复位键,1602才显示正确,不明白啊)

简单说说,程序主菜单有10个选项,只有前面的1.led run和2.pwm里面放有任务,其他都是空菜单,1.led run里面有三个子程序,分别是led left,led right和led middle。。。如果按键足够,可以不断添加任务,而且可以同时启动某几个任务,停止另外某些任务。。

我先说说我的按键设置,是用ps2键盘,0到9可以在菜单中选中对应菜单项,也可以用0键右边的-,+键来控制菜单选加减,esc是退出键,回车是确认键,进入到任务程序后,在led的三个子程序里面,头顶有×号的数字是当前选中设置数,按0到9数字键可以设置要跑的圈数,按下R(run)任务就开始执行,右下角会显示R,当按下S(stop),任务停止。右下角R消失,在设置是按C(clear),数据清零。。。pwm任务里的控制差不多。。

下面是我的思路图


思路图 (原文件名:menu_lcd思路.jpg)

我对任务的理解就是,可以对任务进行运行,停止操作,可以在运行前对任务设置预置参数(led run任务),或者在运行的过程中设置变量(pwm),接着任务返回数据让lcd显示,由上图可以看到,这个菜单程序每加一个任务就要重新编写一个控制显示模块,而且没加深一级菜单,连线就变得异常复杂,这是我没法解决的,而且我越看我的这个菜单程序就越觉得笨重,文件多,代码长。。。水平有限啊。。。感觉应该可以缩减很多。。。下面是程序,有兴趣的朋友可以下来看看。。。大概就这么多吧,感谢你的耐心看到这里。。。呵呵。。

菜单程序:用的是xilinx。。。

menu_lcd程序ourdev_671150MSER94.rar(文件大小:20K) (原文件名:menu_lcd_test.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-8-25 20:17:44 | 显示全部楼层
要自己动手写底层的,只学习菜单能学得到什么啊?

出0入0汤圆

 楼主| 发表于 2011-8-25 20:22:25 | 显示全部楼层
回复【1楼】dongzhiqing  
-----------------------------------------------------------------------

底层?不是很明白,麻烦详细说说我听啊,我很想学好的,就是不知道方向,谢谢啦。。。还有我本来写这个菜单用来比赛的,今天老师回来讲软核,发觉可能用不着了。。呵呵。。

出0入0汤圆

发表于 2011-8-25 20:30:56 | 显示全部楼层
为社么现在只要是FPGA就离不开软核?其实软核的效率并不高,至少不如单片机那么高,因此如果想简单方便还不如使用单片机来得容易,FPGA本来就是开发比较困难但是效率高的一种器件呀?

出0入0汤圆

 楼主| 发表于 2011-8-25 20:34:00 | 显示全部楼层
回复【3楼】tiancaigao7  天才杨威利
-----------------------------------------------------------------------

我也不知道啊,我初学者,老师教就学,平时老师忙也不敢太打搅老师,多数都是自学。。。不过下午小惊讶一下老师演示150Mhz的cpu。。。这算是超人版的51??? 呵呵。。。迷茫啊。。。

出0入0汤圆

发表于 2011-8-26 09:47:06 | 显示全部楼层
回复【2楼】lsjshengll L杰
-----------------------------------------------------------------------

先自己把lcd1602的时序写出来。

出0入0汤圆

发表于 2011-8-26 09:49:16 | 显示全部楼层
麻烦你在学习之前先看看FPGA的架构,看看FPGA的应用场合。

出0入0汤圆

 楼主| 发表于 2011-8-26 10:34:51 | 显示全部楼层
回复【5楼】dongzhiqing  
-----------------------------------------------------------------------

你说那些底层啊,1602驱动程序就是我自己写的啊。。还有架构什么的现在没时间啊,老师说要先学会用。。。T T

出0入0汤圆

发表于 2011-8-26 13:01:03 | 显示全部楼层
回复【7楼】lsjshengll L杰
-----------------------------------------------------------------------

楼主加油,代码满整齐的。

出0入0汤圆

 楼主| 发表于 2011-8-26 17:27:41 | 显示全部楼层
回复【8楼】dongzhiqing  
-----------------------------------------------------------------------

嗯嗯。。谢谢鼓励。。现在研究软核中。。只能跟着老师安排步骤走了。。越学越发觉自己不会的更多。。

出0入0汤圆

发表于 2011-8-26 21:15:36 | 显示全部楼层
下下来,研究下

出0入0汤圆

发表于 2011-8-27 10:54:15 | 显示全部楼层
软核始终不是长久之计

出0入0汤圆

发表于 2011-8-27 12:15:14 | 显示全部楼层
回复【11楼】chenming1989
软核始终不是长久之计
-----------------------------------------------------------------------

在需要复杂流程控制,频繁跳转等情况下,如果FPGA资源允许,用软核还是有必要的,无需另外再加MCU

出0入0汤圆

 楼主| 发表于 2011-8-27 16:08:13 | 显示全部楼层
回复【12楼】zkf0100007  
-----------------------------------------------------------------------

回复【11楼】chenming1989  
-----------------------------------------------------------------------

楼上貌似都是很厉害的人,谢谢回复T T。。。羡慕啊。。。我要快点学,今天成功试了使用软核,还没什么感觉。。。现在把一些常用的接口都试试。。。断网认真学才行。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 13:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表