verilog篮球24秒教学教材

上传人:彩*** 文档编号:73140742 上传时间:2022-04-11 格式:DOC 页数:10 大小:317.50KB
返回 下载 相关 举报
verilog篮球24秒教学教材_第1页
第1页 / 共10页
verilog篮球24秒教学教材_第2页
第2页 / 共10页
verilog篮球24秒教学教材_第3页
第3页 / 共10页
点击查看更多>>
资源描述
v er i l og 篮球 24 秒精品文档华中科技大学电子线路设计、测试与实验实验报告实验名称:篮球 24 秒计时器院(系):电子与信息工程专业班级:卓越 1101姓名:汪加林学号:U201113167时间:2012.12.20地点:南一楼东 303实验成绩:指导教师:汪小燕2011年 12月 20 日收集于网络,如有侵权请联系管理员删除精品文档一.实验目的1.学会将 FPGA 中时钟分频2.学会如何用 verilog 编写计时电路3.学会用 verilog 实现数码管的动态显示二.实验元器件类型型号(参数)数量FPGA 实验板1三.实验原理功能块 :一计时程序:1. 思路:当遇到 load 信号时,首先是置数 24,个位从 4 变到 0 之后,从十位借位,十位变成 1,个位变成 9,然后各位从 9 变成0,从十位借位,十位变成 0,个位变成 9,最终个位变成 0,此时发出警报指示 24 秒结束。2. 代码:if(stop=0) /stop 信号高电平有效beginif(qh=0&ql=0) /24秒计时完成,发出警报beginalarm=1;endelse收集于网络,如有侵权请联系管理员删除精品文档if(ql=0)beginqh=qh-4b0001;ql=4b1001;endelsebeginql=ql-4b0001;end二复位程序:1.思路:分配一个管脚开关控制是否复位。当外界输入为复位时,直接将数字置为24.2.代码:if(load) / 异步置数beginqh=4b0010;ql=4b0100;alarm=0;end三译码程序:收集于网络,如有侵权请联系管理员删除精品文档1.思路:七段数码管显示2.代码:module led_7 (BCD,out,clk);input 3:0 BCD;input clk;output6:0 out;reg 6:0 out;always( posedge clk)case(BCD)4b0000:out=7b0000001;4b0001:out=7b1001111;4b0010:out=7b0010010;4b0011:out=7b0000110;4b0100:out=7b1001100;4b0101:out=7b0100100;4b0110:out=7b0100000;4b0111:out=7b0001111;4b1000:out=7b0000000;4b1001:out=7b0000100;default:out=7bx;endcaseendmodule收集于网络,如有侵权请联系管理员删除精品文档四动态显示程序:1. 思路:由于 Bysys2 上 4 个数码管的 7 个 led 共阴极,故每次只能亮一个,采用动态扫描程序,结合人眼的视觉暂留效应,可以让人觉得两个数码管显示不一样的数字。其实每一刻只亮了一个。关键是如何使数码管循环亮呢?此实验中只需要两个数码管亮即可,可将剩下两个一直置为低电平,不亮。可采用一个一位计数器。 0 时十位数字亮, 1 时个位数字亮,遇到时钟,每次加 1,这样就可以实现不停地 0,1,0,1 循环啦。2. 代码:always (posedge clk_3 )/seg scanbegincase(count)1b0: begin scan=4b0111; temp=qh; end1b1: begin scan=4b1011; temp=ql; endendcaseendassign sw=scan;五分频程序1.思路;程序中需要两个分频模块。因为FPGA 板子上的时钟是50MHZ ,而计时需要 1HZ 的脉冲时钟;另外一个就是数码管动态扫描程序需要一个16HZ 左右的时钟。收集于网络,如有侵权请联系管理员删除精品文档2.代码:module division(in_50MHz,out_1Hz);/ 产生一个 1HZ 的时钟,用于计时input in_50MHz;output out_1Hz;reg out_1Hz;reg 25:0cnt;always(posedge in_50MHz)begincnt = cnt + 1B1;if(cnt 26d24999999)out_1Hz = 26d50000000)cnt = 26b0;else out_1Hz =1;endendendmodule收集于网络,如有侵权请联系管理员删除精品文档module freqdiv(in_50MHz,out_16Hz);/ 产生 16HZ 的时钟,用于数码管动态扫描input in_50MHz;output out_16Hz;reg out_16Hz;reg 22:0cnt;always(posedge in_50MHz)begincnt = cnt + 1B1;if(cnt 23d156250)out_16Hz = 23d312500)cnt = 23b0;else out_16Hz =1;endendendmodule管脚分配程序:收集于网络,如有侵权请联系管理员删除精品文档NET led6 LOC=L14;NET led5 LOC=H12;NET led4 LOC=N14;NET led3 LOC=N11;NET led2 LOC=P12;NET led1 LOC=L13;NET led0 LOC=M12;NET sw0 LOC=F12;NET sw1 LOC=J12;NET sw2 LOC=M13;NET sw3 LOC=K14;NET stop LOC=P11;NET load LOC=L3;NET clk LOC=B8;NET alarm LOC=M5;收集于网络,如有侵权请联系管理员删除精品文档收集于网络,如有侵权请联系管理员删除
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!