已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
投篮机设计实践实验目的:用数字电路设计语言编写代码,实现投篮机的基本功能实验仪器:硬件:康芯电子公司所生产的KX-7C5T00578型号开发板软件:Quartus功能介绍:1、初始化之后进入投球状态,开始计时2、计时采用倒计时,从60秒到03、投球中一次计数一次,不中不计数 4、计数累计,最多计数99次5、倒计时停止时同时停止投球计数实验流程:一、本设计实践采用verilog设计语言二、考虑到投篮机所需功能,本设计分为以下几个模块:1、核心控制模块负责整个系统的运行,产生整个系统的各模块控制信号2、输入控制模块负责采集输入的各种信号,并将输入信号滤波3、输出控制模块将计数值与计时值输出到LED数码管上4、计时模块初始化之后开始倒计时,每秒递减5、计数模块每次投中球,计数加一三、五个模块的具体完成过程:在上完理论课之后,我们对Verilog和VHDL语言有了初步的了解,老师告诉我们这门课的关键在于自己的动手实践,于是我们实验小组着手开始了投篮机的设计实践。首先通过查阅老师给的课件和网上的一些资料,熟悉了一下Quartusii的操作流程,并对两种硬件描述语言有了一个更深的了解,但同时也遇到很多不明白的地方,通过向老师的咨询,对投篮机模块有了一个感性的认识,并准备采用分解模块的方法,进行初步的实践。随后我们着手进行实现投篮机功能所需模块代码的编写。起初,我们简单的认为,投篮机无非就是一个计数模块,一个倒计时模块,因此我们只编写这两个模块的代码。如下:计数模块:module Counter99(LED, keytouch, clr); input keytouch, clr; output7:0 LED; reg7:0 LED; always(posedge keytouch or negedge clr) begin if(!clr) LED = 8h00; else if(LED3:0 = 4d9) begin LED3:0 = 4d0; if(LED7:4 = 9) LED7:4 = 4d0; else LED7:4 = LED7:4 + 1b1; end else LED3:0 = LED3:0 + 1b1; endendmodule计时模块:module BCD_cnt59(qout, clktouch, reset); output7:0 qout; reg7:0qout; input clktouch,reset; always(posedge clktouch or negedge reset ) begin if(!reset) qout = 0; else begin if(qout3:0 = 4d0) begin qout3:0 = 9; if(qout7:4 = 0) qout7:4 = 5; else qout7:4 = qout7:4 - 1b1; end else qout3:0 = qout3:0 - 1b1; end end endmodule通过在Quartusii上编译,运行,波形仿真,无误。波形图如下:图1 Counter99功能仿真波形图图2 BCD_59功能仿真波形图经过仔细观察开发板,发现KX-7C5T00578型号开发板只有三个数码管,其中有两个直接是BCD形式的,有一个是七段形式的,还少一个数码管,我们决定用LED灯来代替倒计时的十位数字,七段数码管显示倒计时的个位数字,另外两个数码管分别显示计数器的十位、个位。为此我们还需要编写译码器模块。经过几次改写,译码器代码编写成功如下:七段译码模块:module BCD1(in , LED); output4:0 LED; input3:0 in; reg4:0 LED; always(in) begin case(in) 4d0:LED = 5b00000; 4d1:LED = 5b10000; 4d2:LED = 5b11000; 4d3:LED = 5b11100; 4d4:LED = 5b11110; 4d5:LED = 5b11111 default:LED = 5bx; endcase end endmodule对LED灯的译码: module BCD2(in , LED); output6:0 LED; input3:0 in; reg6:0 LED; always(in) begin case(in) 4d0:LED = 7b1111110; 4d1:LED = 7b0110000; 4d2:LED = 7b1101101; 4d3:LED = 7b1111001; 4d4:LED = 7b0110011; 4d5:LED = 7b1011011; 4d6:LED = 7b1011111; 4d7:LED = 7b1110000; 4d8:LED = 7b1111111; 4d9:LED = 7b1111011; default:LED = 7bx; endcase end endmodule开发板系统时钟是20MHz ,而计数器采用的是按键触发,考虑到按键一下的平均时间是几个毫秒,所以我们需要把系统时钟分频到1KHz,所以这里就要用到分频模块和按键消抖模块。在老师的指导下,我们写出了这两个程序,如下:分频模块(20MHz1KHz):module clk_div1(clk_20M , clk1k); input clk_20M; output clk1k; reg R_clk1k = 0; assign clk1k = R_clk1k ; reg 15:0 counter = 0; always ( posedge clk_20M ) begin if(counter = 19999) begin counter = counter + 1; end else begin counter = 0; end end always ( posedge clk_20M ) begin if(counter = 9999 ) begin R_clk1k = 1; end else begin R_clk1k = 0; end end endmodule 按键消抖模块:module sample(keyout, clk, keyin); input clk , keyin; output keyout; reg3:0 samp_count; reg keyout; initial samp_count = 4b0000; always (posedge clk) begin samp_count3:1 = samp_count2:0; samp_count0 = keyin; end always (posedge clk) if (samp_count = 4b1111) keyout = 1b1; else keyout = 1b0;endmodule经过这几个步骤,采用按键触发的计时器模块就能成功运行了。考虑到倒计时是每秒数值减一,我们还必须利用系统时钟产生秒信号。之前已经将20MHz时钟分频到1KHz,我们还需要继续分频,把1KHz时钟分频到1Hz,以产生秒时钟。程序如下:分频模块(1KHz1Hz):module clk_div2(inclk , outclk); input inclk; output outclk; reg outclk; integer N = 1000; integer k; always (posedge inclk) begin if(k N/2) outclk = 1b1; else outclk = 1b0; k = k + 1; if(k = N) k = 0; endendmodule至此,我们把所有的代码编写完毕。我们将功能需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GBT 6730.49-2017 铁矿石 钾含量的测定 火焰原子吸收光谱法专题研究报告
- 智能硬件装调员达标模拟考核试卷含答案
- 实验动物繁殖员岗前实操掌握考核试卷含答案
- 制卤工创新应用竞赛考核试卷含答案
- 陶瓷注浆成型工创新意识竞赛考核试卷含答案
- 渔业观察员岗前理论综合考核试卷含答案
- 宠物驯导师岗前安全检查考核试卷含答案
- 裂解汽油加氢装置操作工诚信品质竞赛考核试卷含答案
- 胶合板胶合工岗位安全技术规程
- 粗钨酸钠溶液制备工安全应急测试考核试卷含答案
- 毕业生登记表
- (正式版)DB50∕T 1842-2025 《幸福河湖评价技术导则》
- 冬季三防安全培训课件
- 2025江苏南京水务集团有限公司招聘(22人)考试参考试题及答案解析
- 小学礼仪教学课件
- 【弯道超车】Unit 6 When disaster strikes 核心考点(单词 短语 句型 语法)-2025年外研版(2024)新八年级英语上册精讲精练 (含答案解析)
- DB61 1226-2018 锅炉大气污染物排放标准
- 静电场调控蛋白质自组装-洞察及研究
- 中小学音乐教师招聘模拟试题集
- 八年级语文古诗文默写训练试题
- 2025国家教育行政学院招聘9人(非事业编)笔试参考题库附答案解析
评论
0/150
提交评论