put
ENB42I
put
PLD43I
put
S0376Output
S0277Output
S0179Output
S0080Output
S1370Output
S1273Output
S1174Output
S1075Output
WARN44Output
f13代码编写与调试
在设计初由于实验箱有时钟输出因此编程时没有考虑对时钟的编写重点放在了对控制电路的实现控制电路是这次课程设计的核心要充分理解题目的要求搞清楚各个功能的嵌套及与时钟的关系。最后是译码显示电路其目的就是将计数的结果完整的显示在数码管上代码可以参考课本属于比较简单的内容。将所有程序编写完毕后进行编译调试由于混淆了功能的嵌套关系虽然编译可以通过但是从波形仿真不能得到有效的逻辑关系。从新调整过后基本实现了其功能。
为了使系统功能更完整在最终编程阶段加入了秒脉冲发生器的代码经过简单的调整后可以完美的实现系统功能。
f2系统仿真与测试
21系统时序仿真与分析
时序仿真前首先要对代码进行编译运行没有错误之后才可以建立vectorwaveformfile文件建立文件之后加入引脚设置合适的终止时间在此次设计中我设置的终止时间为35ms设置各个输入引脚的波形并仿真即可得到对应的仿真波形图。
图12
如图clk为高频时钟输入信号由于频率过高所以在波形图上显示的为黑线但可以通过编写的分频计程序将其分频clk_out为系统内部的时钟总线其相对于clk显得频率就小了很多其为实现各个控制功能提供时序CLR为清零控制端与时钟信号无关因此为异步清零当期为‘1’时可以看到计数器被清零PLD为置数端上升沿触发因此为同步置数当其为高电平时计数器显示‘30’ENB为使能端高电平有效当其为‘1’时系统开始工作WARN为警示输出端当计数满了之后输出高电平S0和S1为计数输出为四位向量通过译码可以转换为数字在数码管上显示在波形图上也可以看到从‘30’到‘00’的倒计时的过程。
在第一次仿真时由于没有注意clk_out的电平持续时间在设置PLD的高电平时间过小完全嵌套在clk_out的高电平中无法实现有效触发。第二次仿真时更正了PLD的持续时间得到了如图正确的波形仿真。
f22硬件下载与测试
硬件下载
将编程电缆插入计算机的并行接口上同时将编程电缆的另一端接在试验箱上。
●按照引脚编号链接线路。
●将程序下载进试验箱。
●下载完成。
硬件测试
●将清零端置高电平观察数码管显示状态。若显示正常则将清零端置低
电平。
●将置数端置高电平观察数码管显示状态。若显示正常则将置数端置低
电平。
●打开使能端观察其是否正常计数若计数正常关闭使能端观察其是
否可以暂停计数。
●待计数完毕后观察r