基于FPGA的篮球24秒倒计时系统设计

基于FPGA的篮球24秒倒计时系统设计,第1张

  一、 功能描述

  本工程包含了两个按键和4位数码管显示,共同实现一个篮球24秒倒计时、并具有暂停和重新计数复位的功能。具体功能如下:

  1. 数码管显示秒十位、秒个位、0.1秒和0.01秒。

  2. 上电后,数码管显示2399,表示时间是23.99秒。

  3. 按下按键1,进入倒计时状态,进行倒计时,一直计到0000后停止。

  4. 在倒计时状态时,再次按下按键1,则暂停计时;再按下按键1,则继续倒计时。

  5. 在任何时刻,按下按键2,则复位显示为2399。

  二、 平台效果图

  1.Altera核心板效果图

  

  

  2.Xilinx核心板效果图

  

  

  三、 实现过程

  首先根据所需要的功能,列出工程顶层的输入输出信号列表。

基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第2张

  我们可以把工程划分成三个模块,分别是倒计时模块、BCD译码模块和数码管显示模块。

  1.倒计时模块

  倒计时模块实现的是24s倒计时功能,其输出两组计数信号cnt_s和cnt_ms。例如当时间为23.99时,cnt_s的值为23,cnt_ms的值为99;当时间为08.12时,cnt_s的值为8,cnt_ms的值为12。

  模块还实现了暂停和重开始功能,按下按键1开始倒计时,再次按下则暂停,再次按下则开始,无论何时按下按键2,恢复到23.99。

  本模块的信号列表如下:

基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第3张

  2.BCD译码模块

  由于倒计时模块输出的是2进制的cnt_s和cnt_ms,但数码管是个位和十位分别显示的。例如当cnt_s值为10时,也就是8’b00001010,而送给数码管的个位值为4’b0000,十位值为4’b0001。这个转换过程也就是BCD译码,也就是本模块要实现的功能。

  此处介绍二进制转BCD码的硬件实现,采用左移加3的算法,具体描述如下:(此处以8-bit 二进制码为例)

  1、左移要转换的二进制码1位

  2、左移之后,BCD码分别置于百位、十位、个位

  3、如果移位后所在的BCD码列大于或等于5,则对该值加3

  4、继续左移的过程直至全部移位完成

  举例:将十六进制码0xFF转换成BCD码

  

  本模块的信号列表如下:

基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第4张

  由于秒和毫秒都要译码,所以要例化两个BCD译码模块。

  3.数码管显示模块

  数码管显示模模块功能是将二进制数码,转成BCD数码管显示,其功能相对比较简单,不再啰嗦。

  本模块信号列表

 

基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第5张

       四、程序设计

基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第6张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第7张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第8张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第9张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第10张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第11张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第12张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第13张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第14张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第15张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第16张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第17张


基于FPGA的篮球24秒倒计时系统设计,基于FPGA的篮球24秒倒计时系统设计,第18张


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2632819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存