Verilog——篮球24S计时器
篮球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&<==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计时器相关推荐
- 篮球24s计时器c语言程序,篮球比赛24s计时器
<篮球比赛24s计时器>由会员分享,可在线阅读,更多相关<篮球比赛24s计时器(10页珍藏版)>请在人人文库网上搜索. 1.数字电子技术课程设计任务书院(系):信息工程系姓名学 ...
- 基于51单片机的篮球比赛计时器
目录 基于51单片机的篮球比赛计时器 1.PCB原理图 2.仿真图 3.毕设要求: 4.总体方案设计 5.程序源码 6.资源下载 基于51单片机的篮球比赛计时器 注:本毕设资源可在微信公众号:&quo ...
- 篮球比赛表式计时器_篮球比赛计时器.docx
成绩 成绩 课 程 设 计 说 明 书 课程设计名称: 电子技术课程设计 题 目: 篮球比赛计时器 学 院: 电气与电子信息学院 学 生 姓 名: 专 业: 电气工程及其自动化 学 号: 指 导 教 ...
- AT89C52实现篮球计分计时器,并通过proteus仿真
一.设计环境与器材 Keil开发uVision4开发环境,window10系统. 二.设计内容 a.设计内容分析: 1.能够记录整个赛程的比赛时间并可同时用数码管显示. 2.可通过键盘修改当前的比赛成 ...
- JAVA实现篮球计分计时器
完整项目已经放到github上,可以随意下载并直接运行,只求点个星github链接 做这个的目的是学校举行的篮球赛决赛要在室内打,需要在大屏幕上投出比分.时间,因为找不到免费的软件用就只好自己写一个勉 ...
- verilog秒表计时器
本设计是使用verilog实现秒表计时器. 秒表指示的时间由nexys4 DDR开发板的8个数码管显示,从左到右数码管的前两个显示小时(范围0-24),第3-4个数码管显示分(范围0-59,计数到60 ...
- 基于AT89C51单片机的篮球计时记分设计
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87771065 源码获取 主要内容: ...
- 【转】电子毕业设计题目
电子毕业设计题目 默认分类 2009-10-22 18:42:31 阅读1795 评论2 字号:大中小 1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计 3.单片机脉搏测量仪 ...
- 单片机STM8S测量电压电路_单片机毕设(课设)题目汇总
点击上方「电子菌」关注我们 单片机类设计题目有哪些呢 ?下面是由为大家带来的关于单片机设计题目汇总,希望能够帮到您 ! 1. 电子时钟的设计 2. 全自动节水灌溉系统 -- 硬件部分 3. 数字式温度 ...
最新文章
- 第174天:面向对象——公有属性、私有属性和静态属性
- 用户头像设置之ios版本
- Missing artifact jdk.tools:jdk.tools:jar:1.6
- 如何使用 sklearn 优雅地进行数据挖掘?
- 期货与期权(part6)--保证金
- c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型
- python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
- 是、大于等于_血压高,是不是等于患上高血压?吃药之前,先搞清楚
- 平衡二叉树删除_AVL 平衡树
- 关于setInterval设置倒计时只执行一次,clearInterval停止
- 【渝粤教育】国家开放大学2018年秋季 0169-22T工程制图基础 参考试题
- what's the differences between readonly const in C# 在C#中readonly和const的区别
- FEMA和地×××府运用GIS对抗灾害
- 医学界的动作捕捉系统(一)
- 【理财】指数基金投资指南
- OCP4.4 部署EFK-使用local-volume持久化
- 地坤诀中所记录的第二元婴的炼制办法与其余的炼制方式不一样
- 爬取新浪滚动新闻--每个详情页标题以及内容
- 独孤木专栏Delayed Project(中) (转)
- 计算机无共放怎么播放音乐,笔记本电脑怎么放歌没声音
热门文章
- 检测labview安装visa驱动,并实现串口仪器控制(上篇)
- 分享几个互联网求职神器,搞明白了,春招再严峻也不用担心!
- PingPongFTP
- 让人惊讶的数据,农民工撑起的服装业贡献的贸易顺差竟然接近高新技术产业的两倍!...
- Java 机内码 String 转化
- vb script html,VB script 入门
- Vue实现媒体文件下载
- Windows下Arduino安装ardublock(附文件下载链接)
- 罗甸脐橙|“橙”心实意——礼誉生态农业
- Phoenix中不得不说的两大缺点