第一范文网 - 专业文章范例文档资料分享平台

EDA数字时钟实验

来源:用户分享 时间:2025/9/24 19:57:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3.2晶体振荡器

晶体振荡电路是构成数字式时钟的核心,它保证了时钟走时准确及稳定。晶体振荡器它的作用是产生时间标准信号。数字钟的精度主要取决于时间标准信号的频率及其稳定度。因此,一般采用石英晶体振荡器经过分频得到这一信号。

3.3分频器电路

分频器电路将20MHZ的高频方波信号经20M次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。

3.4 部分程序实现 思路一实现:

(1)具有调整功能的24、59进制程序

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt24 IS PORT( CLK1,RES,EN,KONGZHI,CLK2: IN STD_LOGIC; COUNT: OUT STD_LOGIC_VECTOR(4 DOWNTO 0); CQ : OUT STD_LOGIC); END;

ARCHITECTURE behav OF cnt24 IS SIGNAL CLK : STD_LOGIC; BEGIN PROCESS(CLK1,EN,KONGZHI,RES) VARIABLE CQI:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN CASE KONGZHI IS WHEN '0'=> CLK <=CLK1; WHEN '1'=> CLK <=CLK2; WHEN OTHERS =>CLK<='0'; END CASE; IF RES='1' THEN CQI:=\ ELSIF CLK'EVENT AND CLK='1' THEN

IF EN='1' THEN

IF CQI<24 THEN CQI:=CQI+1; ELSE CQI:=(OTHERS=>'0'); END IF; END IF; END IF; IF CQI=24 THEN CQ<='1'; ELSE CQ<='0'; END IF; COUNT<=CQI; END PROCESS; END behav;

(2)具有清零 暂停、复位功能的59进制程序

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY cnt59m IS

PORT( CLK,STOP,RES,EN: IN STD_LOGIC; COUNT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0); CQ : OUT STD_LOGIC); END;

ARCHITECTURE behav OF cnt59m IS SIGNAL CK : STD_LOGIC; BEGIN

PROCESS(CLK,EN,STOP,RES)

VARIABLE CQI:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN CK<=(CLK OR STOP); IF RES='1' THEN CQI:=\ ELSIF CK'EVENT AND CK='1' THEN IF EN='1' THEN

IF CQI<59 THEN CQI:=CQI+1; ELSE CQI:=(OTHERS=>'0'); END IF; END IF; END IF;

IF CQI=59 THEN CQ<='1'; ELSE CQ<='0'; END IF;

COUNT<=CQI; END PROCESS;

END behav;

(3)转码功能程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY zhuanma IS

PORT(SHURU: IN INTEGER RANGE 0 TO 59;

GE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SHI : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;

ARCHITECTURE bahave OF zhuanma IS BEGIN

PROCESS(SHURU) BEGIN CASE SHURU IS WHEN 0|10|20|30|40|50 => GE <=\ WHEN 1|11|21|31|41|51 => GE <=\ WHEN 2|12|22|32|42|52 => GE <=\ WHEN 3|13|23|33|43|53 => GE <=\ WHEN 4|14|24|34|44|54 => GE <=\ WHEN 5|15|25|35|45|55 => GE <=\ WHEN 6|16|26|36|46|56 => GE <=\ WHEN 7|17|27|37|47|57 => GE <=\ WHEN 8|18|28|38|48|58 => GE <=\ WHEN 9|19|29|39|49|59 => GE <=\ WHEN OTHERS => GE <=\ END CASE; CASE SHURU IS WHEN 0|1|2|3|4|5|6|7|8|9 => SHI <=\ WHEN 10|11|12|13|14|15|16|17|18|19 => SHI <=\ WHEN 20|21|22|23|24|25|26|27|28|29 => SHI <=\ WHEN 30|31|32|33|34|35|36|37|38|39 => SHI <=\ WHEN 40|41|42|43|44|45|46|47|48|49 => SHI <=\ WHEN 50|51|52|53|54|55|56|57|58|59 => SHI <=\ WHEN OTHERS => SHI <=\ END CASE; END PROCESS; END bahave;

(4)动态扫描程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY dtsm IS PORT(CLK : IN STD_LOGIC; SR1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SR2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SR3 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SR4 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SR5 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SR6 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); WEI : OUT STD_LOGIC_VECTOR(5 DOWNTO 0); DUAN : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;

ARCHITECTURE behave OF dtsm IS SIGNAL cnt6 : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL A :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN P1 : PROCESS(cnt6) BEGIN CASE cnt6 IS WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS => NULL; END CASE; END PROCESS P1; P2 : PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN IF cnt6<6 THEN cnt6<=cnt6+1; ELSE cnt6<=(OTHERS=>'0'); --IF cnt4 =\ --cnt4<=\ --ELSE cnt4<=cnt4+1; END IF; END IF; END PROCESS P2; P3: PROCESS(A)

搜索更多关于: EDA数字时钟实验 的文档
EDA数字时钟实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3nqhv3m6u79uewv2sobx_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top