欢迎来到天天文库
浏览记录
ID:35627184
大小:51.00 KB
页数:9页
时间:2019-04-03
《EDA课程设计报告--数字式秒表》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、EDA课程设计报告设计名称:数字式秒表专业:08光信息科学与技术姓名:张XX学号:2008146144指导老师:吴正平设计时间:2011-4-10至2011-4-25一、设计任务与技术指标要求(输入频率为1.5MHz的脉冲信号)设计并制作一个用七段数码管显示的秒表,并具有如下指标:1.设计一个用七段数码管显示的秒表,它有“分”、“秒”、“百分之一秒”十进制显示,如图1所示:图1秒表表盘示意图2.开机显示00.00.00,最大显示23.59.99;3.能够准确地计时并正确显示时间,计时精度0.01秒;4.用户可以随时开始计时,也可随时结束计时。
2、二、设计原理该系统由时钟信号发生器、分频电路、计时电路、译码显示电路等模块组成。其总体框图如图2所示:数码管显示驱动电路计时电路分频电路时钟信号发生器图2系统总体框图三、组成VHDL程序模块如下:1.分频模块:利用计数器原理来分频,输入时钟脉冲clk0频率为1.5MHZ,分频系数为1/15000,输出时钟脉冲clk1频率为100HZ。VHDL程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityfenpinisport(clk0:ins
3、td_logic;clk1:outstd_logic);endfenpin;architecturemode1offenpinissignalf_temp:std_logic_vector(15downto0);beginprocess(clk0)beginifclk0'eventandclk0='1'thenif(f_temp=14999)thenf_temp<="0000000000000000";clk1<='1';elsef_temp<=f_temp+1;clk1<='0';endif;endif;endprocess;endmode
4、1;1.s/100计时模块:利用计数器原理来计时,对输入频率为100HZ时钟脉冲clk1上升沿进行计数,个位满十则向十位进一,十位满十则输出一个时钟脉冲clk2。VHDL程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityfisport(clk1,stop,ret:instd_logic;clk2:bufferstd_logic;dh:bufferstd_logic_vector(3downto0);dl:bufferstd_logi
5、c_vector(3downto0));endf;architecturemode2offisbeginprocess(clk1,stop,ret)beginif(ret='1')thendl<="0000";dh<="0000";elsif(stop='0')thenifclk1'eventandclk1='1'thenifdl=9thendl<="0000";ifdh=9thendh<="0000";clk2<='1';elsedh<=dh+1;clk2<='0';endif;elsedl<=dl+1;endif;endif;endif;
6、endprocess;endmode2;1.s计时模块:利用计数器原理来计时,对来自s/100进位的时钟脉冲clk2上升沿进行计数,个位满十则向十位进一,十位满六则输出一个时钟脉冲clk3。VHDL程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysisport(clk2,stop,ret:instd_logic;clk3:bufferstd_logic;dh:bufferstd_logic_vector(3downto0);dl:
7、bufferstd_logic_vector(3downto0));ends;architecturemode3ofsisbeginprocess(clk2,stop,ret)beginif(ret='1')thendl<="0000";dh<="0000";elsif(stop='0')thenifclk2'eventandclk2='1'thenifdl=9thendl<="0000";ifdh=5thendh<="0000";clk3<=’1’;elsedh<=dh+1;clk3<=’0’;endif;elsedl<=dl+1;endi
8、f;endif;endif;endprocess;endmode3;1.分计时模块:利用计数器原理来计时,对来自s进位的时钟脉冲clk3上升沿进行计数。VHDL程序
此文档下载收益归作者所有