verilog--4路抢答器设计-带30s倒计时
更新时间:2024-05-26 09:44:01 阅读量: 综合文库 文档下载
四路抢答器
一、程序
module qiangda4(clr,clk,input1,input2,input3,input4,seg,clockin,scan,LED);
input clr,clk,input1,input2,input3,input4; output [7:0] seg; //7段数码管数据 output [7:0] scan; //数码管位选 output [3:0] LED; //输出LED灯指示 output clockin; //蜂鸣器 reg [7:0] seg; reg [7:0] scan; reg [3:0] LED; reg clockin; reg [3:0] data; reg input_flag,count_flag; reg [14:0] count1; reg [8:0] count2; reg [3:0] LED_N; //reg clock_flag; reg div1khz,div1hz; reg [2:0] cnt; reg [3:0] dat; //reg [7:0] data_count; reg [3:0] count_one,count_ten; initial count_one='d0; //初始化 initial count_ten='d3; initial data=4'b0000; initial LED_N=4'b1111;
//-------------fenping分频1khz----------------------------------- always @(posedge clk ) begin if(count1=='d25000) begin div1khz<=~div1khz;count1<=0;end else begin count1<=count1+1'b1;end end
//-------------fenping--1hz-------------------------------
always @(posedge div1khz) begin if(count2=='d500) begin div1hz<=~div1hz;count2<=0;end else begin count2<=count2+1'b1;end end
//---------------------------------------------------------- always @(posedge div1hz or negedge clr) begin if(!clr) begin count_one<='d0;count_ten<='d3;count_flag<=1'b0; end else if((!input_flag)&(!count_flag)) begin if(count_one=='d0&&count_ten=='d0) begin count_flag<=1'b1; end else if(count_one=='d0) begin count_one<=4'b1001; count_ten<=count_ten-1'b1; end else begin count_one<=count_one-1'b1; end end else begin count_one<=count_one; count_ten<=count_ten; end end
//-----------------------------------------------------------
always @(posedge clk ) //or input1 or input2 or input3 or input4 begin if(!clr) begin LED_N<=4'b1111; //clock_flag<=1'b0; input_flag<=1'b0; data<=4'b0000; end else if((!input_flag)&(!count_flag)) begin if(input1==0)
begin data<=4'b0001; LED_N<=4'b0111; input_flag<=1'b1; end else if(input2==0) begin data<=4'b0010; LED_N<=4'b1011; input_flag<=1'b1; end else if(input3==0) begin data<=4'b0011; LED_N<=4'b1101; input_flag<=1'b1; end else if(input4==0) begin data<=4'b0100; LED_N<=4'b1110; input_flag<=1'b1; end else begin data<=data; LED_N<=LED_N; input_flag<=input_flag; end end end
//-------------led灯及蜂鸣器--------------------------------------------------- always @(posedge clk) begin LED<=LED_N; clockin<=div1khz&(input_flag|count_flag); //dat<=data; end
//--------------shu ma guan sao miao数码管扫描--------------------------------- always @(posedge div1khz) begin
if(cnt=='d3) begin cnt<=0;end else begin cnt<=cnt+1'b1;end end
//----------------------------------------------------- always @(cnt,data,count_one,count_ten) begin case(cnt) //3'b000 : begin scan<=8'b01111111;end 3'b001 : begin scan<=8'b10111111;dat<=data;end //选手编号 3'b010 : begin scan<=8'b11011111;dat<=count_one;end //倒计时 3'b011 : begin scan<=8'b11101111;dat<=count_ten;end default : begin scan<=8'bx;dat<=4'bx;end endcase end
//-------------------------------------------------------- always @(dat) begin case(dat) 4'b0000 : seg[7:0]<=8'b11000000; 4'b0001 : seg[7:0]<=8'b11111001; 4'b0010 : seg[7:0]<=8'b10100100; 4'b0011 : seg[7:0]<=8'b10110000; 4'b0100 : seg[7:0]<=8'b10011001; 4'b0101 : seg[7:0]<=8'b10010010; 4'b0110 : seg[7:0]<=8'b10000010; 4'b0111 : seg[7:0]<=8'b11111000; 4'b1000 : seg[7:0]<=8'b10000000; 4'b1001 : seg[7:0]<=8'b10010000; 4'b1010 : seg[7:0]<=8'b10001000; 4'b1011 : seg[7:0]<=8'b10000011; 4'b1100 : seg[7:0]<=8'b11000110; 4'b1101 : seg[7:0]<=8'b10100001; 4'b1110 : seg[7:0]<=8'b10000110; 4'b1111 : seg[7:0]<=8'b10001110; default : seg[7:0]<=8'bx; endcase end
endmodule
二、框图
三、设计思路 四路抢答,有30s倒计时,当有人抢答时,数码管显示对应选手编号,同时对应LED灯亮,蜂鸣器响起,此时其他选手抢答无效。当倒计时到达0时,蜂鸣器响,此时不能够抢答,清零后重新计时。
程序有个小问题,数码管显示选手编号时,存在干扰,能够勉强辨认出选手编号,但不够清晰,找了好久都没查出。
正在阅读:
台头一小国防教育实施方案12-15
电影《万万没想到:西游篇》片尾曲《大王叫我来巡山》歌词02-15
2012年日历适合周月计划安排A3横排04-22
消防标识标准09-01
假设开发法12-29
建筑工程BIM技术推广应用管理办法05-31
三则哲理小故事:鸡笼里的鹰08-02
古筝的自述作文400字06-12
外国各种祷告词 中英对照版 Prayer01-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 抢答器
- 倒计时
- verilog
- 设计
- 30s
- 教案 Flash动画制作
- 军训小结500字
- 2008-2013江苏高考数学试卷合集 - 图文
- 银行业务发展工作计划范文参考
- 2018届高三数学一轮复习第二章函数第四节二次函数与幂函数夯基提
- §8.4双曲线的简单几何性质例题(一)
- 公共基础知识重点汇编
- 西方美术史复习资料
- 2011深圳市中考体育分数线及标准
- 人教版高中数学必修1至5全部说课稿(精华) - 图文
- 2015-2020年中国高强度钢行业分析与投资前景研究报告 - 图文
- 查理和巧克力工厂 (课外阅读课)
- 微生物学试题库
- 度米文库汇编之2016年大学生就业观社会实践报告调查报告
- 中国人血白蛋白行业发展现状与投资分析报告—灵核网
- 农业经济专业知识与实务笔记
- 深圳恒泰丰科技有限公司担保软件系统简介 - 图文
- 地源热泵(带热回收)中央空调在别墅中的应用实例 - 图文
- 《解直角三角形及应用一》
- 提高企业的竞争优势