基于vhdl数字秒表.doc

基于vhdl数字秒表.doc

ID:56919001

大小:439.00 KB

页数:10页

时间:2020-07-24

基于vhdl数字秒表.doc_第1页
基于vhdl数字秒表.doc_第2页
基于vhdl数字秒表.doc_第3页
基于vhdl数字秒表.doc_第4页
基于vhdl数字秒表.doc_第5页
资源描述:

《基于vhdl数字秒表.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于VHDL语言的数字秒表实现1设计方案1.1?系统功能要求设计一块数字秒表,能够精确反映计时时间,并完成复位、计时功能。秒表计时的最大范围为1小时,精度为0.01秒,并可显示计时时间的分、秒、0.1秒等度量。(1)具有秒表系统功能要求显示功能,用6个数码管分别显示分、秒、0.01秒;计时范围为00:00:00~59:59:99。(2)计时精度是0.01s;(3)具有启/停开关,复位开关。1.2?总体框图根据系统设计要求,系统的底层设计主要由六十进制计数器模块、二十四进制计数器模块、分频模块、LED显示模块组成。系统顶层设计图如

2、图所示:图中左边为三个输入信号en,clk,reset;分为启/停开关,时钟信号和复位开关。主要模块有:模60计数器(count60),模100计数器(count100),分频器(clk_div),复位控制(control),译码器(yima),防抖模块(fdou),状态变换模块(change)。右边是六个LED显示输出信号。2?模块功能设计由模60计数器模块与模100计数器模块进行计数;实验室仪器可产生标准的1kHz的时钟信号,通过分频器模块产生所需的100Hz的时钟信号;复位模块可进行计数器复位操作;译码器是为了将四位二进制

3、信号转换为LED所需的七位二进制编码;防抖模块用于消除用户按键时的抖动消除,为方便仿真,此处原始时钟信号3周期以上可产生信号;状态变换模块是为了用户按键后信号的变换及保持。2.1模60计数器该模块部分VHDL源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcount60ISPORT(en,Reset,clk:inSTD_LOGIC;qa:outSTD_LOGIC_VECTOR(3DOWNTO0);qb:outSTD

4、_LOGIC_VECTOR(3DOWNTO0);rco:OUTSTD_LOGIC);ENDcount60;ARCHITECTUREaOFcount60ISBEGINprocess(clk)variabletma:STD_LOGIC_VECTOR(3DOWNTO0);variabletmb:STD_LOGIC_VECTOR(3DOWNTO0);beginIfReset='0'thentma:="0000";tmb:="0000";elsifclk'eventandclk='1'thenifen='1'thenrco<=tmb(2)

5、andtmb(0)andtma(3)andtma(0);iftma="1001"thentma:="0000";iftmb="0101"thentmb:="0000";elsetmb:=tmb+1;endif;elsetma:=tma+1;endif;endif;endif;qa<=tma;qb<=tmb;endprocess;ENDa;2.2模100计数器该模块部分VHDL源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;EN

6、TITYcount100ISPORT(en,Reset,clk:inSTD_LOGIC;qa:outSTD_LOGIC_VECTOR(3DOWNTO0);qb:outSTD_LOGIC_VECTOR(3DOWNTO0);rco:OUTSTD_LOGIC);ENDcount100;ARCHITECTUREaOFcount100ISBEGINprocess(clk)variabletma:STD_LOGIC_VECTOR(3DOWNTO0);variabletmb:STD_LOGIC_VECTOR(3DOWNTO0);beginIf

7、Reset='0'thentma:="0000";tmb:="0000";elsifclk'eventandclk='1'thenifen='1'thenrco<=tmb(3)andtmb(0)andtma(3)andtma(0);iftma="1001"thentma:="0000";iftmb="1001"thentmb:="0000";elsetmb:=tmb+1;endif;elsetma:=tma+1;endif;endif;endif;qa<=tma;qb<=tmb;endprocess;ENDa;2.3分频器模块该

8、模块部分VHDL源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYclk_divISPORT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。