此设计为笔者实验课期末设计,仅供参考,博客贴出实现方法和C语言部分程序源代码,实现过程用时不长,故没有对代码进行优化,但功能已实现。工程文件提交到CSDN下载当中,需要可以下载,https://download.csdn.net/download/g_curry/10855434因有小伙伴需要设计报告,故上传到下载上,https://download.csdn.net/download/g_curry/11181792。
要求必须使用Verilog和Sopc两项功能,故在硬件部分使用Verilog编写出数码管的驱动程序,使用NiOS II编写实现过程。
1.功能需求
1)实现数字时钟准确实时的计时与显示功能;
2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响;
3)实现时间和闹钟时间的调时功能;
4)实现流水灯指示功能。
2.设计方案
1)使用Qsys生成的定时器timer_1ms实现计时功能;
2)使用8个数码管显示时间;
3)使用3个按钮实现调时间和闹钟时间的功能。
按键1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式2;调当前时间的分钟;模式3:当前时间的秒;模式4:调闹钟时间的小时;模式5:调闹钟时间的分钟);
按键2:在非模式0下给需要调节的时间数加一,但不溢出;
按键3:在非模式0下给需要调节的时间数减一,但不小于零;
实现时间和闹钟时间的调时功能;
4)加入闪烁标志,给正在调整的位闪烁,判断是哪一位在调整;
5)按键按下时,对应一个led灯点亮;
6)使用蜂鸣器实现闹钟功能,闹钟响时实现流水灯指示功能。
3.硬件规划
在硬件系统组织规划中系统需使用的外围器件包括:
1)数码管:数子钟