24小时制时钟—EDA课程设计报告(3)

2019-04-02 17:58

石家庄铁道大学

数字钟设计与制作

11

报时:

否 是

调整小时、分钟

否 调整键 是

否 是 调整键

数字钟工作 分、秒为 0 驱动报时 数字钟工作 按下 按下 加1调整 石家庄铁道大学

数字钟设计与制作

12

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);

END;

CQ : OUT STD_LOGIC);

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

石家庄铁道大学

数字钟设计与制作

13

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;

石家庄铁道大学

数字钟设计与制作

14

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)动态扫描程序

石家庄铁道大学

数字钟设计与制作

15

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 \ <=SR1; WHEN \ <=SR2;

WHEN \ <=SR3; WHEN \ <=SR4; WHEN \ <=SR5; WHEN \ <=SR6; 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)


24小时制时钟—EDA课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:咬文嚼字公开课教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: