所有权利保留 © krona12 日期:2023/12/8
-
日期函数
- 初始实现:计数器重构,BCD码转换,仅处理年份后两位。
- 后续改进:扩展到完整日期,重写BCD码转换以支持四位十进制数(二进制表示)到BCD的转换。
-
星期函数
- 使用蔡勒公式及其改进版本(考虑到Verilog除法的局限性,舍去小数)。
-
步进电机模拟秒针运动
-
键盘扩展
- 键盘与开关部分复用,保留4个开关,其余使用键盘逻辑。
- 仅3个键盘按键有效,其余可能因上拉电阻问题无效。
-
变速器设计
- 使CP能够通过按键改变,从而调整计数速度。
- 使用计数器和数据选择器实现。
-
完善闹钟与闹铃
- 将排线替换为跳线以增加端口。
-
点阵扩展
- 实现点阵扫描编码。
- 数码管显示模糊:使用了未定义的变量。
- 时分秒进位不准确:重写N位计数器。
- BCD码转换错误:移位数位不正确。
- 星期计算错误:月末到新月初计算多出一天。修正蔡乐公式应用。
- 时分秒进位问题:同步进位输出设置为reg类型,避免竞争冒险。
- 时间调整跳变:按键消抖技术解决。
-
ALARM A3
- 闹钟模块。4个端口分配给步进电机,ALARM连接至备用端口A3。
- 跳线接入后,闹钟和报时功能正常。
-
端口1.0
- M22-K1:修改分钟。
- N21-K2:修改时钟。
- ...(更多端口功能描述)...
-
端口2.0
- 前四个端口功能保持不变。
- 新增键盘功能等。
- 首先连接15个数码管(DP端不接)。
- 接入按键、键盘、按钮。
- 接入步进电机(4个管脚)。
- 最后连接点阵。