lsjshengll 发表于 2011-8-25 20:01:50

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

我刚学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任务里的控制差不多。。

下面是我的思路图

http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_671146G101DC.jpg
思路图 (原文件名:menu_lcd思路.jpg)

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

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

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

dongzhiqing 发表于 2011-8-25 20:17:44

要自己动手写底层的,只学习菜单能学得到什么啊?

lsjshengll 发表于 2011-8-25 20:22:25

回复【1楼】dongzhiqing
-----------------------------------------------------------------------

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

tiancaigao7 发表于 2011-8-25 20:30:56

为社么现在只要是FPGA就离不开软核?其实软核的效率并不高,至少不如单片机那么高,因此如果想简单方便还不如使用单片机来得容易,FPGA本来就是开发比较困难但是效率高的一种器件呀?

lsjshengll 发表于 2011-8-25 20:34:00

回复【3楼】tiancaigao7天才杨威利
-----------------------------------------------------------------------

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

dongzhiqing 发表于 2011-8-26 09:47:06

回复【2楼】lsjshengll L杰
-----------------------------------------------------------------------

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

dongzhiqing 发表于 2011-8-26 09:49:16

麻烦你在学习之前先看看FPGA的架构,看看FPGA的应用场合。

lsjshengll 发表于 2011-8-26 10:34:51

回复【5楼】dongzhiqing
-----------------------------------------------------------------------

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

dongzhiqing 发表于 2011-8-26 13:01:03

回复【7楼】lsjshengll L杰
-----------------------------------------------------------------------

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

lsjshengll 发表于 2011-8-26 17:27:41

回复【8楼】dongzhiqing
-----------------------------------------------------------------------

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

yishangyi 发表于 2011-8-26 21:15:36

下下来,研究下

chenming1989 发表于 2011-8-27 10:54:15

软核始终不是长久之计

zkf0100007 发表于 2011-8-27 12:15:14

回复【11楼】chenming1989
软核始终不是长久之计
-----------------------------------------------------------------------

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

lsjshengll 发表于 2011-8-27 16:08:13

回复【12楼】zkf0100007
-----------------------------------------------------------------------

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

楼上貌似都是很厉害的人,谢谢回复T T。。。羡慕啊。。。我要快点学,今天成功试了使用软核,还没什么感觉。。。现在把一些常用的接口都试试。。。断网认真学才行。。。
页: [1]
查看完整版本: 学习fpga一个月,写了一个菜单程序,方便调用任务,希望大家帮看看有什么问题。。已调试成