kuangfengwind 发表于 2014-11-10 02:35:04

VHDL作息系统程序分享

本帖最后由 kuangfengwind 于 2014-11-10 02:36 编辑

最近做了一个用VHDL做了一个小程序。。给大家看一下。。
主要实现的功能是:
1、该管理系统有常态、考试和假日三种工作模式,三种模式用一个按键BTN 实现切换,
并用点阵进行显示:常态模式显示N,考试模式显示E,假日模式显示H。
2、常态模式:每天上午的 7 点50、下午13 点20 和18 点20 打预备铃,上午的8 点、
9 点、10 点10 分、11 点10 分、下午的13 点30、14 点30、15 点40、16 点40、18
点30 和19 点30 打上课铃,上午的8 点50、9 点50、11 点、12 点、下午的14 点
20、15 点20、16 点30、17 点30、19 点20 和20 点20 打下课铃,每天晚上的23
点打熄灯铃。
3、考试模式:每天上午的7 点50、下午12 点50 打预备铃,上午的8 点、10 点、下午
的13 点、15 点打考试铃,上午的12 点和下午的17 点打收卷铃,每天晚上的23 点
打熄灯铃。
4、假日模式:只在晚上 23 点打熄灯铃。
5、铃声要求:预备铃声、上课玲声、下课铃声、熄灯铃声、考试铃声和收卷铃声至少
用3 种用不同的乐曲表示,每种铃声不短于10 秒,不长于20 秒,且上课铃声和考
试铃声必须终止于开始时间,下课铃声和收卷铃声必须起始于课程或考试结束时间。
6、任何模式下,时钟都要走时正确,且可以用按键BTN 进行校正调节,时间用6 个数
码管显示。

好吧。。就是学校老师要求做的。。。

做之前感觉还挺简单的,不就一个定时器+数码管+矩阵+蜂鸣器么。。。用51或者STM32随随便便就做出来了。。。。
后来做的时候才发现。。这个不行那个不行的。。。比如变量和信号的区别,向量和整数的转换。。用C语言来想VHDL,结果各种入了坑。。。VHDL规矩一堆一堆的。。可能是我没有深入学习吧。。。

这个贴主要是分享一下自己的程序。。。。给有需要的同学借鉴一下。。。(PS:还是对嵌入式感兴趣一点。。。。勿喷。。)

程序带了注释,个人感觉还是挺容易看明白的。看不懂+QQ:565625257

剑舞 发表于 2014-11-10 08:05:22

这个应该就是各种定时吧,不难的,我原来用CPLD搞过红绿灯

我要你的目光 发表于 2014-11-10 09:20:50

顶一个!

proc 发表于 2014-11-10 09:37:17

顶一个!
页: [1]
查看完整版本: VHDL作息系统程序分享