欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子数字钟课程设计报告.docx

    • 资源ID:18308518       资源大小:116.52KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子数字钟课程设计报告.docx

    1、电子数字钟课程设计报告课程设计报告设计名称: EDA技术及应用课程设计报告作品名称:电子数字钟院(系): *专业班级:*姓名: *8学号:*8设计时间: 2011年6月18日设计地点:实验室目录一、题目二、任务与要求三、课程设计摘要及整体方框图四、课程设计原理分析五、各模块设计1、分频器模块2、 24小时时钟综合模块3 校时模块4、报时、响铃模块5、译码模块6、输出选择模块7、最终原理图六、心得体会与收获七、试验中遇到的问题及解决方法.一:题目本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常时、分、秒计时,动态显示,整点报时、闹钟的功能。二:任务与

    2、要求本实验的任务就是设计一个多功能数字钟,要求显示格式为小时分钟或者 分钟秒钟,整点报时,报时时间为40秒,即从整点前40秒开始进行报时提示,LED灯开始闪烁,过整点后,按键停止闪烁。调整时间的按键用按键模块的k1和k2,k1调节小时,每按下一次,小时增加一个小时,k2调整分钟,每按下一次,分钟增加一分钟。还要通过按键来控制时钟与秒表显示的切换功能,按键k没按下时为分秒时钟显示功能,按下时为时分显示功能。开关按钮按两下复位,复位后全部显示0000三:课程设计摘要及方框图1:具有时,分,秒计数显示功能,以24小时循环计时,其中cnt60模块中counter_sec_l和counter_min_l

    3、为60进制BCD计数电路,实现秒计时和分计时功能,shi24模块为24进制BCD码计时电路,实现小时计时功能,整个计数器具有调秒调分,调时功能,而且显示译码模块中在整点时具有报时功能。还可以设置整点报时的时间。通过切换能够实现时分与分秒转换的功能。2:有驱动8位七段共阴极扫描数码管的片选驱动信号输出和七段码输出,能够实现数字钟的功能。四:课程设计原理分析及相关的概述(1)时、分、秒计时器 时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、.、59、00;每当秒计数器数到00时,就会产生一个

    4、脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、.、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、.、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分或这00分00秒。(2)校时电路 当开关按下时为校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调好分秒的设置时,再按下显示的切换键,调节时分。当调至需要的时与分时,继续按调时键;,电子钟从设置的

    5、时间开始往后计时。(3)整点报时由计时模块输出分与秒的串联信息。对分与秒进行监测,当时钟走至每个小时的59分50秒时开始启动整点报时电路,当时钟走至00分00秒时,报时结束。当报时信号输出时,指示灯亮,需要有一个键将其熄灭。五各个模块设计1、分频器模块:由于实验台仅提供50MHZ频率,所以,需要通过分频器电路分出所需频率的信号,对于时钟来说,最基本的是1HZ信号,而对于数码管扫描最基本的是1KHZ,秒表是100HZ,所以先通过分频器把50MHZ分频为1HZ和1KHZ。其VHDL语言如下:1hz模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee

    6、.std_logic_arith.all;use ieee.std_logic_unsigned.all;ENTITY c1hz ISPORT(CLK:STD_LOGIC; CLK1:OUT STD_LOGIC);END ENTITY c1hz;ARCHITECTURE ART OF c1hz ISBEGINPROCESS(CLK) IS variable cnt : INTEGER RANGE 0 TO 49999999; BEGIN IF clk=1 AND clkevent THEN IF cnt=49999999 THEN cnt:=0; ELSE IF cnt25000000 THE

    7、N clk1=1; ELSE clk1=0; END IF; cnt:=cnt+1; END IF; END IF; end process; end ART ;生成框图1khz模块USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_arith.all; LIBRARY IEEE;use ieee.std_logic_unsigned.all;ENTITY c1khz ISPORT(CLK:STD_LOGIC; CLK2:OUT STD_LOGIC);END ENTITY c1khz;ARCHITECTURE ART OF c1khz ISBEGINP

    8、ROCESS(CLK) IS variable cnt : INTEGER RANGE 0 TO 49999; BEGIN IF clk=1 AND clkevent THEN IF cnt=49999 THEN cnt:=0; ELSE IF cnt25000 THEN clk2=1; ELSE clk2=0; END IF; cnt:=cnt+1; END IF; END IF; end process; end ART ;生成框图224小时时钟模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.al

    9、l;use IEEE.STD_LOGIC_ARITH.ALL;entity shuzizhong isport(clk_change ,ds: in std_logic;s_en,m_en,h_en:in std_logic;sel:in std_logic; secout,minout,hourout :out std_logic;sl,sh,ml,mh,hl,hh:out std_logic_vector(3 downto 0);a:out std_logic_vector(15downto 0);end shuzizhong;architecture behav of shuzizhon

    10、g issignal low_rega,high_rega,low_regb,high_regb,low_regc,high_regc :std_logic_vector(3 downto 0):=0000;signal sout,mout,hout :std_logic :=0;signal cnt:std_logic:=1; begin process (ds) begin if dsevent and ds=0 then -假设按键是低电平有效; cnt=not cnt; end if; end process;-秒的60进制进制 counter_sec_l : process(clk_

    11、change,cnt) begin sl=low_rega;sh=high_rega;ml=low_regb;mh=high_regb;hl=low_regc;hh=high_regc; if(cnt=0) then low_rega=low_rega; -定时 elsif clk_changeevent and clk_change=1 then if s_en=1 then if low_rega=1001 then low_rega = 0000; else low_rega = low_rega+1; end if; end if; end if; end process counte

    12、r_sec_l; counter_sec_h : process(clk_change,low_rega) begin if(cnt=0) then high_rega=high_rega; elsif clk_changeevent and clk_change=1 then if s_en=1 then if low_rega=1001 then if high_rega =0101then high_rega = 0000; else high_rega = high_rega+1; end if; end if; end if; end if; end process counter_

    13、sec_h; sout = 1 when low_rega=1001 and high_rega=0101 else 0; -分钟的60进制设置 counter_min_l : process(clk_change) begin if(cnt=0) then low_regb=low_regb; elsif clk_changeevent and clk_change=1 then if m_en=1 then if sout=1or sel=0 then if low_regb=1001 then low_regb = 0000; else low_regb = low_regb+1; en

    14、d if; end if; end if; end if; end process counter_min_l; counter_min_h : process(clk_change,low_regb) begin if(cnt=0) then high_regb=high_regb; elsif clk_changeevent and clk_change=1 then if sout=1or sel=0then if m_en=1 then if low_regb=1001 then if high_regb =0101then high_regb = 0000; else high_re

    15、gb = high_regb+1; end if; end if; end if; end if; end if; end process counter_min_h; mout = 1 when low_regb=1001 and high_regb=0101and sout=1 else 0; -小时的24进制设置counter_hour_l : process(clk_change) begin if(cnt=0) then low_regc=low_regc ; elsif clk_changeevent and clk_change=1 then if h_en=1 then if

    16、mout=1or sel=0then if low_regc=1001or hout=1 then low_regc = 0000; else low_regc = low_regc+1; end if; end if; end if; end if; end process counter_hour_l; counter_hour_h : process(clk_change,hout) begin if(cnt=0) then high_regc=high_regc ; elsif clk_changeevent and clk_change=1 then if mout=1 or sel

    17、=0then if h_en=1 then if hout=1 then high_regc=0000; else if low_regc=1001 then high_regc = high_regc+1; end if; end if; end if; end if; end if; end process counter_hour_h; hout = 1 when low_regc=0011 and high_regc=0010 else 0; secout=sout;minout=mout;hourout=hout; a=high_regb&low_regb&high_rega&low

    18、_rega ; end behav; 生成模块图3.校时模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity key_press isport( set ,mode: in std_logic; clk1khz,clk1hz: in std_logic; secout,minout: in std_logic; clk_change,clk2hz_en:out std_logic ; sel,s_ce,m_ce,h_ce:out std_logic; s_en,m_en,h_en:ou

    19、t std_logic ); end key_press; architecture beh of key_press is signal key1,key2:std_logic; signal sce_reg, mce_reg ,hce_reg:std_logic ; signal ssl,ssen,mmen,hhen:std_logic; signal con : integer range 0 to 4 :=0; -按键按下(延时) begin key_press2 : process(set,clk1khz) variable cnt :integer range 0 to 999;

    20、begin if set=0 then if clk1khzevent and clk1khz=1then if cnt=50 and set=0 then cnt :=cnt+1; key2 = 1; else cnt:=cnt+1;key2 = 0; end if; end if; else cnt:=0; key2=0; end if; end process key_press2; key_press1 : process(mode,clk1khz) variable cnt :integer range 0 to 999; begin if mode=0 then if clk1kh

    21、zevent and clk1khz=1then if cnt=50 and mode=0 then cnt :=cnt+1; key1 = 1; else cnt:=cnt+1;key1 = 0; end if; end if; else cnt:=0; key1=0; end if; end process key_press1; count : process(key1,key2) begin if key1event and key1=1 then if con=4 then con=0; else con ssl=1; sce_reg = 0;ssen =1; mce_reg = 0

    22、;mmen =1; hce_reg = 0;hhen =1; clk2hz_en ssl=0; sce_reg = 0;ssen =1; mce_reg = 0;mmen =1; hce_reg = 0;hhen =1; clk2hz_en ssl=0; sce_reg = 1;ssen =1; mce_reg = 0;mmen =0; hce_reg = 0;hhen =0; clk2hz_en ssl=0; sce_reg = 0;ssen =0; mce_reg = 1;mmen =1; hce_reg = 0;hhen =0; clk2hz_en ssl=0; sce_reg = 0;

    23、ssen =0; mce_reg = 0;mmen =0; hce_reg = 1;hhen =1; clk2hz_en ssl=0; sce_reg = 0;ssen =1; mce_reg = 0;mmen =1; hce_reg = 0;hhen =1; clk2hz_en s_ce=sce_reg; m_ce=mce_reg; h_ce=hce_reg; clk_change s_ce=ssen; m_ce=mmen; h_ce=hhen; clk_change s_ce=ssen; m_ce=secout; h_ce=minout; clk_change=clk1hz; end ca

    24、se; end process sel_pro; sel=ssl;s_en=ssen;m_en=mmen;h_en=hhen; end beh;生成图4.报时模块 use IEEE.STD_LOGIC_ARITH.ALL; -整点报时 entity baoshi isport(clk1khz,clk1hz : in std_logic;a:in std_logic_vector(15 downto 0);sel:in std_logic;led:out std_logic); end baoshi; architecture zhong of baoshi is signal c1,liang:std_logic; signal cnt:std_logic:=1; begin process (sel) begin if selevent and sel=1 then -假设按键是低电平有效; cnt c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1 c1=clk


    注意事项

    本文(电子数字钟课程设计报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开