基于FPGA的可校正的万年历的设计与实现

 

 

一、前言

        前几天看完了一本书上的课后习题,需要设计一个万年历,但是竟然没有课后答案,很是遗憾,于是就自己写了一个支持通过按键的方式来设置初值的万年历程序。

 

二、功能介绍

        FPGA芯片为 Cyclone IV EP4CE15F23C8N ,用了八个数码管,分别对应年份(4个数码管)、月份(2个数码管)、天数(2个数码管);4个按键,一个系统复位按键,一个按键+,一个按键-,这两个按键均用于设置万年历的初值,一个确认按键。

        系统上电之后,八个数码管显示为全零的状态,然后连续按下按键+ 9次,8个数码管的最右边的显示为9,再按下确认按键,表示第一个数码管的初值已经设置结束,现在可以设置第二个数码管的初值,再按下按键+ 2次,从右往左第一个数码管显示为9,第二个数码管显示的值为2,表征设置的天数的初值为29日,按下确认按键,表示第二个数码管的初值设置结束,可以进行第三个数码管的初值的设置,如按下按键+ 7次,即表征这个月份是7月。以此类推,每设置好一个数码管的初值,均需要按一次确认按键,按下8次确认按键之后,表示初值已经设置结束,此时FPGA板卡即可按照预期要求进行运转。

       如8个数码管的初值为:2021 07 29,那么板卡将会在这个初值的基础上继续进行运行,到了2021年7月31天的最后1秒钟,数码管数字跳转为2021 08 01。

 

三、顶层模块

基于FPGA的可校正的万年历的设计与实现

 

 

基于FPGA的可校正的万年历的设计与实现

上一篇:Mailcore2 使用SMTP发送邮件 Domain=MCOErrorDomain Code=30 的解决方案


下一篇:内存使用与分段