.
七、实验总结
1、调试收获
(1)、50mhz分频到1khz的代码实现问题
首先,50mhz到1khz有50000倍的频率关系,反过来就有50000的周期关系;
其次,由于是上升沿触发,所以一个周期只能触发一次,也就是计数一次,所以,当计数为1时,即过了一个周期。
最后,每25000个状态时翻转一次,那么50000个状态后就构成输出变量的一个周期,则恰好满足周期的50000倍关系,也就达到了分频的目的
(2)、时分的显示问题
由于DE0实验板的只有四个八段译码管,所以分和时的显示只能集成带两个译码管上,用一个拨码开关来进行切换。也可以采用发光二极管来显示秒的计数,八位二进制数分别控制八个发光二极管的亮与灭。
(3)、波形仿真相关问题
在纠正了一些代码的低级语法错位之后,波形仿真各个部分都没有问题,但整体仿真时却始终不出正确结果波形。经反复查证,发现在VDD部分的设置初始值时在前一段设置了低电平之后,在很长一段之后又出现了低电平,也就相当于产生了清零,隔一段时间清零,当然也就不能完成指定的功能;除此之外,还出现了时分秒的输出在波形上的显示的数字递增规律不对,从28以后就直接乱变化了,后来明白,其次时分秒的高四位和低四位并不满足2进制数的规律,因为是十进制关系,所以当28以后的波形仍然是正确的,但是显示的数字却不是单纯的八位二进制数。另外,在数字钟整体进行仿真时,仿真时间极其漫长,甚至几个小时,其实后来一想,不用再分频模块太过于校正,分频模块单独验证功能正确之后,完全可以在整体仿真时屏蔽掉,这样会节省很多仿真时间,因为分频也只是为了得到一个频率的信号,可以直接给定,这样可以快速有效得验证其他功能。
(4)、其他问题
也就是一些大妈撰写过程中出现的低级错误,在编译过程中会会报出各种错,当然有些错误我并不懂,只能上网查证,这个纠错过程其实很愉快也很有收获,比如少分号,大小写,没有变量声明。
.
.
2、总结
耐烦一点什么都好啦,坚持就是胜利,哈哈哈!
.
.
八、数字钟功能表
输入变量 Mode 备注: 选择数码管显示容,1显示闹钟设定时间,0显示正常计时 (用拨码开关) D2 E4 输出变量 adj_min_key 备注: 校正分钟的控制信号,为1时,开始校正,直接递增 (使用拨码开关) G5 ctrl_bell 备注: 控制闹钟信号输出,1表示允许输出 (使用拨码开关) VDD 备注: 作为整个架构中的高电平输入 (使用拨码开关,拨至高电平) E3 _50mhz 备注: DE0实验板上50mhz(使用50MHZ频率输入端口) G21 choose_h_m_de 备注: 因4个数码管显示限制 ,用于控制显钟信号,1表示小时,0表示分钟 (使用拨码开关) H7 hour_12_24 备注: 12进制与24进制的显示切换,当为1时12进制,为0时是24进制表达 (使用拨码开关) J7 adj_hour_key 备注: 校正小时的控制信号, 为1时开始校正时间,直接递增 (使用拨码开关) G4 set_min_key 备注: 用于控制闹钟分钟信号是否为1时开始递增,为0时保持原状 (使用拨码开关) H6 set_hr_key 备注: 用于控制闹钟小时信号是否开始设为1时开始递增,为0时保持原状 (使用拨码开关) H5 alarm 闹钟信号(不同频率输出)和报时信号(1khz)的集成输出输出 (使用二极管) J1 decoddecoer_h_m der_s 七段译码管小时和分钟的集成输出 (分配到两个七段译码管端口) 七段译码管秒的集成输出 (分配到两个七段译码管端口) 晶振频率 示小时还是分开始设置 置 功能 基本计时 24进制计时 0 0 (前一小段0用于各项清零)1 50MHZ 0/MIN 1/HOUR 0 0 0 0 0 无输出 相应正常计时时/分信号 相应正常计时秒信号 .
. 功能 12进制计时 0 0 (前一小段0用于各项清零)1 (前一小段0用于各项清零)1 (前一小段0用于各项清零)1 (前一小段0用于各项清零)1 50MHZ 0/MIN 1/HOUR 1 0 0 0 0 无输出 相应正常计时时/分信号 一直递增的时/分信号 显示设置的闹钟时/分信号 正常计时的时/分信号 相应正常计时秒信号 正常计时的秒信号 显示00 校正时间功能 0 0 50MHZ 0/MIN 1/HOUR 0 1 1 0 0 无输出 任意时刻闹钟功能 设置闹钟时间 1 0 0 50MHZ 0/MIN 1/HOUR 0 0 0 1 1 无输出 验证闹钟输出 1 50MHZ 0/MIN 1/HOUR 0 0 0 0 0 在达到对应设置的时分时,信号输出(闪一分钟) 正常计时的秒信号 .
. 仿电台报时功能 0 1 (前一小段0用于各项清零)1 50MHZ 0/MIN 1/HOUR 0 0 0 0 0 满足分和秒的条件时电台报时信号输出 特定秒时闪 正常计时的时/分信号 正常计时的秒信号 .