篮球24秒计时器

上传人:今*** 文档编号:108158790 上传时间:2019-10-22 格式:DOC 页数:21 大小:3.38MB
返回 下载 相关 举报
篮球24秒计时器_第1页
第1页 / 共21页
篮球24秒计时器_第2页
第2页 / 共21页
篮球24秒计时器_第3页
第3页 / 共21页
篮球24秒计时器_第4页
第4页 / 共21页
篮球24秒计时器_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《篮球24秒计时器》由会员分享,可在线阅读,更多相关《篮球24秒计时器(21页珍藏版)》请在金锄头文库上搜索。

1、电子课程设计 篮球24秒计时器 学院:电子信息工程专业: 电子101501姓名: 学号:201015020131指导教师: 2012年12月篮球24秒计时器一 设计任务与要求(1) 有显示24秒的计时功能;(2) 置外部操作开关,控制计时器的直接清零,起碇和暂停连续功能;(3) 计时器为24秒递减计时器,其间隔时间为1秒;(4) 计时器递减计时到零时,数码显示器不能灭灯,就发出光电报警信号。二、总体框图 方案一:利用VHDL语言构成的24s篮球可控计时器分频器24s可控递减计时器显示电路报警电路CLKSLOADCLRealR方案二:由各个单元模块构成的24s篮球可控计时器脉冲发生器24秒计时译

2、码电路报警电路控制电路外部控制开关从框图可知:方案一是完全利用VHDL语言编写各个模块,然后将所有模块连接进行仿真及测试;而方案二是利用已有的芯片构成相应模块,后组合连接仿真。方案二在设计中有一定的简便性且不用编写繁琐的程序,因此,以下设计采用方案二。篮球24秒计时器,它包括秒脉冲发生器、计数器译码显示、控制电路和报警电路五部分组成。其中计数器和控制电路是电路的主要部分。计数器完成24秒计时功能。而控制电路完成电路的直接清零、启动计数、暂时/连续计数;译码显示电路的显示与亮灯和到时间启动报警功能。秒脉冲发生器产生的信号是电路的时钟脉冲和定时标准。注:(1)由于实验箱具备提供不同频率的脉冲,在具

3、体设计时将省略秒脉冲发生器部分。(2)为了能下载到实验箱验证结果,方案二的译码电路部分采用方案一的显示电路。三、选择器件(1)同步十进制双时钟加减计数器74LS192(以下简称74192) (2)四2输入与非门74LS00(以下简称7400)(3)EP1C12核心板白色按钮(PB0,PB1)(4)EP1C12核心板贴片二极管(LED3)(5)EP1C12核心板数码管(仅两位)四、功能模块 (1)25进制减法计数器此部分采用两个74192构成25进制减法计数器,具备置数和清零的功能。74192为同步十进制双时钟加减计数器,它具有双时钟输入,并具有清零和置数功能。以下为74192引脚图:LDN为置

4、数端BON为借位数端CON为进位输出端CLR为清零端AD置数并行数据输入QAQD计数数据输出UP为加计数时钟端DN为减计数时钟端下表为74192的逻辑功能表输入输出CLRLDNDNUPA B C D1000*011*10* a b c d异步清零预置数加计数减计数由上述74LS192功能表看出,当LDN=1时,CLR=0,DN=1时,如果有时钟脉冲加到CPU端,则计数器在预置数的基础上进行加法计数,当计数到9(1001),CON端输出进位下降沿跳变脉冲;当LDN=1,CLR=0,UP=1时,如果有时钟脉冲加到DN端,则计数器在预置数的基础上进行减法计数,当计数到0(0000)时,BON端输出借

5、位下降沿跳变脉冲。由此设计出二十五进制减法计数器,预置数位N=(00100100)=(24),当低位计数器的借位输出端BON输出借位脉冲时,高位计数器才进行减法计数。当计数到高低位计数器都为0时,高位计数器的借位输出端BON输出借位脉冲,使置数端LDN=0,则计数器完成置数置零,在DN端输入脉冲的作用下,进行下一循环的减法计数。下图为25进制减法计数器(利用74192)本图是采用将两片十进制计数器串联,后使用整体清零和整体置数的方法,形成25进制减法计数器。其仿真图为:(2)控制模块控制电路主要是为了实现定时器的启动、直接清零和暂停/连续功能,其中在直接清零时,由控制开关控制74192的清零端

6、,从而使显示器显示零;通过暂停/连续开关从而实现断点定时功能。电路图如下:通过控制暂停输入管脚(即左下角的管脚)的电平高低来控制计数器输出波形,其工作原理可概括为:当暂停管脚输入为低电平时,G4(两2输入与非门)输出低电平,将G2(即三输入与非门)封锁,计数器没有计数脉冲送入,暂停计数。当计数器满24个脉冲,高位计数器的BO端输出低电平,一方面将G2封锁,另一方面点亮发光二极管,发出报警信号。其仿真结果如下:从仿真图可以看出,上面所预期的功能全部实现。(3)译码显示模块设计此模块是为了人们能更直观的观察到实验结果,以验证自己的猜想。EDA实验箱的数码显示原理:EP1C12核心板上8个数码管,低

7、8位为7位段控制信号加小数点选取位,高8位为8个数码管com端选取,通过发送不同的总线值来选取数码管。驱动八位数码管显示电路框图为:3-8线译码器七段译码器数据选择器时钟脉冲计数器以下分段说明各部分功能及连接:1)时钟脉冲计数器源程序为:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY div_clk IS PORT(clk_in : IN std_logic;div_out: OUT std_logic);END div_clk;ARCHITECTURE a OF div_clk I

8、SSIGNAL fre_N: integer range 0 to 100000;SIGNAL clk_tmp: std_logic;BEGINdiv_out=99999 thenfre_N=0;clk_tmp= not clk_tmp;elsefre_N=fre_N+1;end if;end if;end process;END a;生成模块为:此模块仿真结果如下:此模块主要是实现脉冲计数的功能。为后面的段位选择器提供脉冲。(注:上图中因输入脉冲频率太高,呈现出黑色条。实验箱输入为50MHz。)2)数据选择器源程序为:LIBRARY ieee;use ieee.std_logic_1164.

9、all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;ENTITY seltime ISPORT(clk1,reset:IN STD_LOGIC;num:IN STD_LOGIC_VECTOR(3 downto 0);numt:in std_logic_vector(3 downto 0);sel:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);daout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END entity seltime;ARCHITECTURE fun OF s

10、eltime ISSIGNAL count:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINsel=count;process(clk1,reset) beginif(reset=0)thencount=001)thencount=000;elsecountdaoutdaoutdaout=null;end case;end process;end fun;生成的模块为:该模块的仿真结果如下:数据选择模块 seltime 如图示。此模块输入信号一个是数据选择器的地址码sel2.0,另一部分是数据信息num3.0和numt3.0。地址码sel2.0来自时钟脉冲计数器,由地址码s

11、el2.0决定输出哪个输入数据。输出信号为daout3.0。 3) 3-8 线译码器源程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY decode3_8 ISPORT(SEL:IN std_logic_vector(2 downto 0);Q: OUT std_logic_vector(7 downto 0);END decode3_8;ARCHITECTURE a OF decode3_8 ISBEGINQ=11111110 when sel= 0 else11111101

12、when sel= 1 else11111011 when sel= 2 else11110111 when sel= 3 else11101111 when sel= 4 else11011111 when sel= 5 else11111111;END a;生成的模块为:该模块的仿真图如下:3-8 线译码器模块DECODE3_8 如图示。DECODE3_8 模块的输入端是A2.0接收时钟脉冲计数器模块的输出信号,经过译码后输出信号Q7.0分别接八个数码管的阴极Vss7、Vss6、Vss5、Vss4、Vss3、Vss2、Vss1、Vss0,使对应的数码管的阴极为低电平,对应的数码管被点亮。要

13、显示八位数字,需要八个输出端,所以做成3-8 线译码器。4)七段译码器源程序为:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY deled ISPORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END deled;ARCHITECTURE fun OF deled ISBEGINled=1111110when num=0000else 0110000when num=0001else 1101101when num=0010else 1111001when num=0011else 0110011when num=0100else 1011011when num=0101else 1011111wh

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号