篮球24S计时器

  • 设计要求
  • 24s倒计时
    • 代码实现
      • 设计模块
      • 测试模块
    • 仿真结果
  • 显示
    • 代码实现
      • 设计模块
      • 测试模块
    • 仿真结果

设计要求

(1)具有显示24秒计时功能;
(2)系统设置外部操作开关,控制计时器的直接启动(重置为24)和暂停/继续功能;
(3)计时器为24秒递减计时,其计时间隔为1秒;
(4)计时器递减计时到零时,数码显示器不能灭灯,同时发出光电报警信号。

24s倒计时

代码实现

设计模块


module varmodcnt(CP,CLR,EN,PE,D,Q,carry_out);
parameter n=4,MOD=10;
input CP,CLR,EN,PE;
input [n-1:0] D;
output reg[n-1:0] Q;
output carry_out;
/*输入:CP时钟信号,CLR清零信号,EN使能,PE预制信号,D为预置输入
输出:Q为输出4位二进制数,carry_out为借位信号*/
//敏感信号:CP上升沿,CLR下降沿,PE上升沿
always@(posedge CP,negedge CLR)
beginif(!CLR)    Q<='d0;   //清零else if(!EN)    Q<=Q;  //保持,相当于暂停else beginif(Q==4'b0000)    Q<=MOD-1;   //递减else     Q<=Q-1;end
end
always@(posedge PE)
beginQ<=D;            //置数
end
assign carry_out=(Q==4'b0000);  //借位信号
endmodulemodule _24s(CP,EN,PE,Q1,Q0);
input CP,EN,PE;
output [3:0] Q1,Q0;
/*
输入:CP为时钟信号,EN为使能信号,PE为预置信号
输出:Q1为十位输出数,Q0为个位输出数
*/
wire carry_out;
wire carry_out1;
wire CP1;
assign CP1=~carry_out;    //个位数减到0时,十位数递减
wire EN1;
assign EN1=EN&~(carry_out&carry_out1); //当减为0时,不在递减
varmodcnt U1(CP1,1'b1,EN1,PE,4'b0010,Q1,carry_out1);   //元件实例化
varmodcnt U0(CP,1'b1,EN1,PE,4'b0100,Q0,carry_out);   //元件实例化
endmodule

测试模块

`timescale 100ms/10ms
module tb_24s();
reg CP;
reg EN;
reg PE;
wire [3:0] Q1;
wire [3:0] Q0;_24s U(CP,EN,PE,Q1,Q0);  //元件实例化initial $monitor($time,"\tQ1=%b,Q0=%b\n",Q1,Q0);
//时钟
initialCP=1;
always#5 CP=~CP;
initial
begin//启动:产生PE上升沿,进行预置EN=1;PE=0;#10;EN=1;PE=1;#10;//计数EN=1;PE=0;#260;//启动:产生PE上升沿,进行预置EN=1;PE=1;#10;EN=1;PE=0;#20;//暂停EN=0;PE=0;#20;$stop;
end

仿真结果



显示

代码实现

设计模块

//filename:_24show.v
module _24show(
input CP,EN,PE,BL,LT,
output [6:0] L1,L0);
/*
输入:CP时钟信号,EN使能信号,PE预制信号,BL,LT,
*/
wire [3:0]Q1,Q0;
wire BL1;
_24s U(CP,EN,PE,Q1,Q0);
assign BL1=BL&(Q1!=4'b0000);
_74HC4511 U1(1'b0,BL1,LT,Q1,L1);
_74HC4511 U0(1'b0,BL,LT,Q0,L0);
endmodule
module _74HC4511(
input LE,BL,LT,
input [3:0] D,
output reg [6:0] L);
/*
输入输出端口说明。
输入端口: LE,BL,LT为使能信号。D为待显示的四位二进制数字。
输出端口:L为7段显示器各段的工作情况。
*/
wire [2:0] E;
assign E={LE,BL,LT}; //中间变量用于后续的控制端优先级判断
always@(*)
beginif(LE==0&&BL==1&&LT==1)begincase(D)//0-9显示。4'b0000:L=7'b111_1110;4'b0001:L=7'b011_0000;4'b0010:L=7'b110_1101;4'b0011:L=7'b111_1001;4'b0100:L=7'b011_0011;4'b0101:L=7'b101_1011;4'b0110:L=7'b001_1111;4'b0111:L=7'b111_0000;4'b1000:L=7'b111_1111;4'b1001:L=7'b111_1011;  //以下为无效状态4'b1010:L=7'b000_0000;4'b1011:L=7'b000_0000; 4'b1100:L=7'b000_0000;4'b1101:L=7'b000_0000;4'b1110:L=7'b000_0000;4'b1111:L=7'b000_0000;      endcaseendelse begincasex(E)3'bxx0:L=7'b111_1111;  //灯测试3'bx01:L=7'b000_0000;  //灭灯3'b111:L<=L;          //锁存endcaseend
end
endmodule

测试模块

//filename:tb_show.v
`timescale 100ms/10ms
module tb_show();
reg CP,EN,PE,BL,LT;
wire [6:0] L1,L0;_24show U3(CP,EN,PE,BL,LT,L1,L0);initial $monitor($time,"\tL1=%b,L0=%b\n,",L1,L0);
initialCP=1;
always#5 CP=~CP;
initial
beginBL=1'b1;LT=1'b1;EN=1;PE=0;#10;BL=1'b1;LT=1'b1;EN=1;PE=1;#10;BL=1'b1;LT=1'b1;EN=1;PE=0;#260;$stop;
end
endmodule

仿真结果

Verilog——篮球24S计时器相关推荐

  1. 篮球24s计时器c语言程序,篮球比赛24s计时器

    <篮球比赛24s计时器>由会员分享,可在线阅读,更多相关<篮球比赛24s计时器(10页珍藏版)>请在人人文库网上搜索. 1.数字电子技术课程设计任务书院(系):信息工程系姓名学 ...

  2. 基于51单片机的篮球比赛计时器

    目录 基于51单片机的篮球比赛计时器 1.PCB原理图 2.仿真图 3.毕设要求: 4.总体方案设计 5.程序源码 6.资源下载 基于51单片机的篮球比赛计时器 注:本毕设资源可在微信公众号:&quo ...

  3. 篮球比赛表式计时器_篮球比赛计时器.docx

    成绩 成绩 课 程 设 计 说 明 书 课程设计名称: 电子技术课程设计 题 目: 篮球比赛计时器 学 院: 电气与电子信息学院 学 生 姓 名: 专 业: 电气工程及其自动化 学 号: 指 导 教 ...

  4. AT89C52实现篮球计分计时器,并通过proteus仿真

    一.设计环境与器材 Keil开发uVision4开发环境,window10系统. 二.设计内容 a.设计内容分析: 1.能够记录整个赛程的比赛时间并可同时用数码管显示. 2.可通过键盘修改当前的比赛成 ...

  5. JAVA实现篮球计分计时器

    完整项目已经放到github上,可以随意下载并直接运行,只求点个星github链接 做这个的目的是学校举行的篮球赛决赛要在室内打,需要在大屏幕上投出比分.时间,因为找不到免费的软件用就只好自己写一个勉 ...

  6. verilog秒表计时器

    本设计是使用verilog实现秒表计时器. 秒表指示的时间由nexys4 DDR开发板的8个数码管显示,从左到右数码管的前两个显示小时(范围0-24),第3-4个数码管显示分(范围0-59,计数到60 ...

  7. 基于AT89C51单片机的篮球计时记分设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87771065 源码获取 主要内容: ...

  8. 【转】电子毕业设计题目

    电子毕业设计题目 默认分类 2009-10-22 18:42:31 阅读1795 评论2 字号:大中小 1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计 3.单片机脉搏测量仪 ...

  9. 单片机STM8S测量电压电路_单片机毕设(课设)题目汇总

    点击上方「电子菌」关注我们 单片机类设计题目有哪些呢 ?下面是由为大家带来的关于单片机设计题目汇总,希望能够帮到您 ! 1. 电子时钟的设计 2. 全自动节水灌溉系统 -- 硬件部分 3. 数字式温度 ...

最新文章

  1. 第174天:面向对象——公有属性、私有属性和静态属性
  2. 用户头像设置之ios版本
  3. Missing artifact jdk.tools:jdk.tools:jar:1.6
  4. 如何使用 sklearn 优雅地进行数据挖掘?
  5. 期货与期权(part6)--保证金
  6. c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型
  7. python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
  8. 是、大于等于_血压高,是不是等于患上高血压?吃药之前,先搞清楚
  9. 平衡二叉树删除_AVL 平衡树
  10. 关于setInterval设置倒计时只执行一次,clearInterval停止
  11. 【渝粤教育】国家开放大学2018年秋季 0169-22T工程制图基础 参考试题
  12. what's the differences between readonly const in C# 在C#中readonly和const的区别
  13. FEMA和地×××府运用GIS对抗灾害
  14. 医学界的动作捕捉系统(一)
  15. 【理财】指数基金投资指南
  16. OCP4.4 部署EFK-使用local-volume持久化
  17. 地坤诀中所记录的第二元婴的炼制办法与其余的炼制方式不一样
  18. 爬取新浪滚动新闻--每个详情页标题以及内容
  19. 独孤木专栏Delayed Project(中) (转)
  20. 计算机无共放怎么播放音乐,笔记本电脑怎么放歌没声音

热门文章

  1. 检测labview安装visa驱动,并实现串口仪器控制(上篇)
  2. 分享几个互联网求职神器,搞明白了,春招再严峻也不用担心!
  3. PingPongFTP
  4. 让人惊讶的数据,农民工撑起的服装业贡献的贸易顺差竟然接近高新技术产业的两倍!...
  5. Java 机内码 String 转化
  6. vb script html,VB script 入门
  7. Vue实现媒体文件下载
  8. Windows下Arduino安装ardublock(附文件下载链接)
  9. 罗甸脐橙|“橙”心实意——礼誉生态农业
  10. Phoenix中不得不说的两大缺点