名称:基于FPGA的定时提醒装置Verilog(代码在文末付费下载)
软件:Quartus
语言:Verilog
要求:
(1)拨动开关K1(扩展要求按下S1键后),七段数码管开始从3倒计时,每秒计数减1,当减到0时,保持0显示,同时红灯闪烁。
(2)外部输入脉冲信号频率为1mhz;
(3)扩展要求:开关由拨动开关变为按键S1按键消抖,led灯闪烁+自主设计。
本代码已在实验箱验证:
演示视频:
三、设计原理:
(1)消抖的原理:按键默认输入逻辑‘1’,当有按键按下时对应的输入为逻辑‘0’(但会存在抖动),当FPGA开始检测到该引脚从‘1’变为‘0’后开始定时(按键抖动时间大约10ms),定时时间结束后若该引脚仍然为‘0’则表示确实发生按键按下,否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。
(2)计数:输入脉冲信号为1mhz,七段数码管显示改变为1s,需要计数脉冲信号或者设计分频器。
(3)七段数码管显示:七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-1所示。

图4-1 ?静态七段数码管
由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。
数码管显示模块的电路原理如图4-2所示,表4-1是其数码管的输入与FPGA的管脚连接表。

图4-2 ?数字时钟信号模块电路原理
(4)报警: led灯亮
设计文档(文档点击可下载):
1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真
顶层文件和仿真



计数模块和仿真



显示模式和仿真



报警模块和仿真


点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=157
548