按键计数器
这里实验目的是key1为加1,key2为减1,使用数码管显示出来。
实验功能很简单,主要是想自己熟练流程,不依靠视频。
完成过程中画出了visio流图:
很多模块都是之前写过的,所以只需要写一个key_ctrl模块和顶层模块代码就可以。没有画波形图。
出现的问题:
由于功能中有加减,所以有可能最开始就按下key_2,让初始数值变成负值,我这里data变量设置为20位宽对应数码管显示模块的接口,所以最开始没有想到这种情况,导致数据直接变为20位的1,出现的数值很大。
这里我的解决方法就是设置一个data_reg,初始值为100,之后所有的加减先对data_reg进行计算,之后根据data_reg与100的比较,判断出真实数据应该是负数还是正数,之后根据sign变量将data_reg - 100或100-data_reg赋值给data变量。
但是我认为这种解决方法并不好,还会有更好的方法,等以后有了想法会再实现一下。
之后在工程的实现中,完成仿真代码之后,忘记了对仿真的设置,以后需要牢记。
再往后学一学会给自己出个难一点点的题的。