NET \NET \NET \NET \NET \NET \NET \NET \NET \NET \NET \NET \
九、 设计实现
1. 运行Implement Design选项,进行转换、映射、布局布线操作。 2. 选择Manage Configuration Project选项
? 选择Boundary Scan,在窗口空白处点击鼠标右键,选中Initialize Chain选项.
? 将clock.bit文件导入至xc3s5001中
? 右击xc3s5001,选择program选项,将程序烧录至FPGA实验板中
3. 观察运行情况 1) 测试基本功能:
打开使能开关L3,数码管可以正常显示分和时,拨动时分和秒的切换显示开关G3,数码管可以切换显示秒。拨动K3和B4,可以实现校时功能。拨动清零开关P11,可以实现清零功能。当时间到23:59时,能运行至00:00。 2) 测试扩展功能:
拨动F3,可实现24小时与12小时的切换。当时间为整点时,LED灯G1会根据当前整点时数闪烁对应次数,拨动N3,闹钟使能。拨动E2,进入闹钟设置状态,此时设置闹钟时间。当正常时间跳到闹钟设置时刻时,闹钟对应LED灯N4会常亮,表示闹钟响。当正常时间已经越过闹钟设置时间时,N4会熄灭。闹钟响时关闭闹钟使能端N3时,N4也会熄灭。
十、 实验总结
本次实验是一个中等规模的设计实验,相比步进电机实验,难度明显上升,这就对我们的分析和设计能力有了更高的要求。要实现这个多功能的数字钟,关键要做到思路清晰,先构思好顶层架构,再一一考虑需要调用的模块,最后依次编写各个模块。在调试的时候,先要做到各子模块调试无误,再通过整机联调观察出现的不正常结果,
列出可能的错误,再去对应的位置进行改正。
本次实验中,不可避免地出现了若干错误之处,例如在实现24进制和12进制转换时,没有发现代码中的计算方式是以8421BCD码来进行计算的,于是在最后的12进制显示中出现了很多不正常状态,花费了一些时间才找到解决办法。这也提醒我在之后的学习过程中要保持细心的态度,不断学习纠正错误的方法,提高效率。