当前位置:文档之家› 简易数字时钟的设计 -源程序

简易数字时钟的设计 -源程序

简易数字时钟的设计 -源程序
简易数字时钟的设计 -源程序

实验八简易数字时钟的设计

一、实验目的:

1.掌握各类计数器及将它们相连的方法;

2.掌握多个数码管显示的原理与方法;

3.掌握EDA的层次化设计方法;

4.了解用VHDL语言设计的思想;

5.了解整个数字系统的设计方法;

6.培养学生综合应用数字电路中所学到的理论知识去独立完成设计课题的能力;7培养学生严肃认真的工作作风和严谨的科学态度。

三、、设计要求

本实验课题的要求为:

①设计一个具有时、分、秒计时,6位时钟显示电路;

②该计时电路为24小时计时制。

四、实验记录

1.实验原理图及源程序;

24进制计数器

2.各模块仿真波形;

3.下载结果观察并记录。

4.延时分析。(总电路和各模块全部分析)。

五、问题讨论

1.本实验为综合类实验题目,你准备这个实验的难点在哪里?需要如何解决?

2.在本实验要求的基础上添加整点报时功能,需要如何设计?

源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY SECOND IS

PORT (CLK1,R:IN STD_LOGIC;

CO1:OUT STD_LOGIC;

S0,S1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END;

ARCHITECTURE XIA OF SECOND IS

BEGIN

PROCESS(CLK1,R)

V ARIABLE SSS0,SSS1:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

IF R='1' THEN SSS0:="00000000";SSS1:="00000000";

ELSIF CLK1'EVENT AND CLK1='1' THEN

IF SSS1="00000101" AND SSS0="00001001"

THEN CO1<='1';SSS0:="00000000"; SSS1:="00000000";

ELSIF SSS0="00001001" THEN SSS0:="00000000";SSS1:=SSS1+1;

ELSE SSS0:=SSS0+1;CO1<='0';

END IF;

END IF;

S0<=SSS0;

S1<=SSS1;

END PROCESS;

END;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY MINUTE IS

PORT (CLK2,R,S:IN STD_LOGIC;

MM0,MM1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

CO2:OUT STD_LOGIC;

M0,M1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );

END;

ARCHITECTURE XIA OF MINUTE IS

BEGIN

PROCESS(CLK2,R,S)

V ARIABLE MMM0,MMM1:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF R='1' THEN MMM0:="0000";MMM1:="0000";

ELSIF S='1' THEN MMM0:=MM0;MMM1:=MM1;

ELSIF CLK2'EVENT AND CLK2='1' THEN

IF MMM1="0101" AND MMM0="1001"

THEN CO2<='1';MMM0:="0000"; MMM1:="0000";

ELSIF MMM0="1001" THEN MMM0:="0000";MMM1:=MMM1+1;CO2<='0';

ELSE MMM0:=MMM0+1;CO2<='0';

END IF;

END IF;

M0<=MMM0;

M1<=MMM1;

END PROCESS;

END;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.std_logic_unsigned.all;

ENTITY HOUR IS

PORT (CLK3,R,S:IN STD_LOGIC;

HH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

HH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);

H0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

H1:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);

NUMBER2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END;

ARCHITECTURE XIA OF HOUR IS

BEGIN

PROCESS(CLK3,R,S)

V ARIABLE HHH0:STD_LOGIC_VECTOR(3 DOWNTO 0);

V ARIABLE HHH1:STD_LOGIC_VECTOR(1 DOWNTO 0);

V ARIABLE NUMBER1,NUMBER0:STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF R='1' THEN HHH0:="0000";HHH1:="00";

ELSIF S='1' THEN HHH0:=HH0;HHH1:=HH1;

ELSIF CLK3'EVENT AND CLK3='1' THEN

IF HHH0="0011" AND HHH1="10"

THEN HHH0:="0000";HHH1:="00";

ELSIF HHH0="1001" THEN HHH1:=HHH1+1;HHH0:="0000";

ELSE HHH0:=HHH0+1;

END IF;

END IF;

H0<=HHH0;

H1<=HHH1;

IF HHH1="00" THEN NUMBER0:="00000000";

ELSIF HHH1="01" THEN NUMBER0:="00001010";

ELSIF HHH1="10" THEN NUMBER0:="00010100";

END IF;

NUMBER1:=NUMBER0+HHH0;

IF NUMBER1="00000000" THEN NUMBER2<="00001100";

ELSIF NUMBER1>"000001100" THEN NUMBER2<=NUMBER1-"00001100";

ELSE NUMBER2<=NUMBER1;

END IF;

END PROCESS;

END ;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY RING IS

PORT (CLK4,CLK5:IN STD_LOGIC;

NUMBER:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

P:OUT STD_LOGIC);

END;

ARCHITECTURE ONE OF RING IS

BEGIN PROCESS(CLK4,CLK5,NUMBER)

V ARIABLE R:STD_LOGIC;

V ARIABLE TEX:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

IF CLK4='1' THEN

IF (NUMBER/="0000000"AND TEX

THEN R:=CLK5;

ELSE R:='0';

END IF;

IF CLK5'EVENT AND CLK5='1' THEN

IF TEX

END IF; END IF;

ELSE TEX:="00000000";

END IF; P<=R;

END PROCESS;

END;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY dec7s IS

PORT(a1,a2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

a3,a4,a5:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

a6:IN STD_LOGIC_VECTOR(1 DOWNTO 0);

led7s1,led7s2,led7s3,led7s4,led7s5,led7s6 :OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END;

ARCHITECTURE one OF dec7s IS

BEGIN

PROCESS(a1,a2,a3,a4,a5,a6)

BEGIN

CASE a1 IS

WHEN "00000000"=>led7s1<="00111111";

WHEN "00000001"=>led7s1<="00000110";

WHEN "00000010"=>led7s1<="01011011";

WHEN "00000011"=>led7s1<="01001111";

WHEN "00000100"=>led7s1<="01100110";

WHEN "00000101"=>led7s1<="01101101";

WHEN "00000110"=>led7s1<="01111101";

WHEN "00000111"=>led7s1<="00000111";

WHEN "00001000"=>led7s1<="01111111";

WHEN "00001001"=>led7s1<="01101111";

WHEN OTHERS=>led7s1<="11111111";

END CASE;

CASE a2 IS

WHEN "00000000"=>led7s2<="00111111";

WHEN "00000001"=>led7s2<="00000110";

WHEN "00000010"=>led7s2<="01011011";

WHEN "00000011"=>led7s2<="01001111";

WHEN "00000100"=>led7s2<="01100110";

WHEN "00000101"=>led7s2<="01101101";

WHEN "00000110"=>led7s2<="01111101";

WHEN "00000111"=>led7s2<="00000111";

WHEN "00001000"=>led7s2<="01111111";

WHEN "00001001"=>led7s2<="01101111";

WHEN OTHERS=>led7s2<="11111111";

END CASE;

CASE a3 IS

WHEN "0000"=>led7s3<="00111111";

WHEN "0001"=>led7s3<="00000110";

WHEN "0010"=>led7s3<="01011011";

WHEN "0011"=>led7s3<="01001111";

WHEN "0100"=>led7s3<="01100110";

WHEN "0101"=>led7s3<="01101101";

WHEN "0110"=>led7s3<="01111101";

WHEN "0111"=>led7s3<="00000111";

WHEN "1000"=>led7s3<="01111111";

WHEN "1001"=>led7s3<="01101111";

WHEN OTHERS=>led7s3<="11111111";

END CASE;

CASE a4 IS

WHEN "0000"=>led7s4<="00111111"; WHEN "0001"=>led7s4<="00000110"; WHEN "0010"=>led7s4<="01011011"; WHEN "0011"=>led7s4<="01001111"; WHEN "0100"=>led7s4<="01100110"; WHEN "0101"=>led7s4<="01101101";

WHEN "0110"=>led7s4<="01111101"; WHEN "0111"=>led7s4<="00000111"; WHEN "1000"=>led7s4<="01111111"; WHEN "1001"=>led7s4<="01101111"; WHEN OTHERS=>led7s4<="11111111"; END CASE;

CASE a5 IS

WHEN "0000"=>led7s5<="00111111"; WHEN "0001"=>led7s5<="00000110"; WHEN "0010"=>led7s5<="01011011"; WHEN "0011"=>led7s5<="01001111"; WHEN "0100"=>led7s5<="01100110"; WHEN "0101"=>led7s5<="01101101"; WHEN "0110"=>led7s5<="01111101"; WHEN "0111"=>led7s5<="00000111"; WHEN "1000"=>led7s5<="01111111"; WHEN "1001"=>led7s5<="01101111"; WHEN OTHERS=>led7s5<="11111111"; END CASE;

CASE a6 IS

WHEN "00"=>led7s6<="00111111"; WHEN "01"=>led7s6<="00000110"; WHEN "10"=>led7s6<="01011011";

WHEN OTHERS=>led7s6<="11111111";

END CASE;

END PROCESS;

END one;

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY TOP IS

PORT ( CP,CLK,R0,S0:IN STD_LOGIC;

SM0,SM1,SH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

SH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);

SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

PP:OUT STD_LOGIC );

END;

ARCHITECTURE XIA OF TOP IS

SIGNAL Y0,Y1:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL Y2,Y3,Y4:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL Y5:STD_LOGIC_VECTOR(1 DOWNTO 0);

SIGNAL YY6,YY1,YY2,YY3,YY4,YY5,YY7,

PNUMBER: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CO11,CO22:STD_LOGIC;

component SECOND

PORT (CLK1,R:IN STD_LOGIC;

CO1:OUT STD_LOGIC;

S0,S1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

end component;

component MINUTE

PORT (CLK2,R,S:IN STD_LOGIC;

MM0,MM1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

CO2:OUT STD_LOGIC;

M0,M1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );

end component;

component HOUR

PORT (CLK3,R,S:IN STD_LOGIC;

HH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

HH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);

H0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

H1:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);

NUMBER2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

end component;

component RING

PORT (CLK4,CLK5:IN STD_LOGIC;

NUMBER:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

P:OUT STD_LOGIC);

end component;

component dec7s

PORT(a1,a2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

a3,a4,a5:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

a6:IN STD_LOGIC_VECTOR(1 DOWNTO 0); led7s1,led7s2,led7s3,led7s4,led7s5,led7s6 :OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

end component;

BEGIN

YY7<="00000000";

U1:SECOND PORT MAP(CLK1=>CLK,R=>R0,S0=>Y0,S1=>Y1,CO1=>CO11); U2:MINUTE PORT MAP(CLK2=>CO11,R=>R0,S=>S0,M0=>Y2,M1=>Y3, CO2=>CO22,MM0=>SM0,MM1=>SM1); U3:HOUR PORT

MAP(CLK3=>CO22,R=>R0,S=>S0,H0=>Y4,H1=>Y5,

HH0=>SH0,HH1=>SH1,NUMBER2=>PNUMBER);

U4:RING PORT MAP(CLK4=>CO22,CLK5=>CLK,NUMBER=>PNUMBER,P=>PP);

U5:dec7s PORT MAP(a1=>Y0,led7s1=>YY1,a2=>Y1,led7s2=>YY2,a3=>Y2,led7s3=>YY3,a4=>Y3, led7s4=>YY4,a5=>Y4,led7s5=>YY5,a6=>Y5,led7s6=>YY6);

PROCESS(CP)

V ARIABLE SELL:STD_LOGIC_VECTOR(2 DOWNTO 0);

BEGIN

IF CP'EVENT AND CP='1' THEN

IF SELL="111" THEN SELL:="000";

ELSE SELL:=SELL+1;

END IF;

END IF;

CASE SELL IS

WHEN "000"=>Y<=YY1;

WHEN "001"=>Y<=YY2;

WHEN "010"=>Y<=YY3;

WHEN "011"=>Y<=YY4;

WHEN "100"=>Y<=YY5;

WHEN "101"=>Y<=YY6;

WHEN OTHERS=>Y<=YY7;

END CASE;

SEL<=SELL;

END PROCESS;

END;

基于xilinx仿真 数字电子时钟的VHDL设计

VHDL语言设计数字时钟 实验性质:综合性实验级别: 开课单位:信息与通信工程学院通信工程系学时:4学时 一、实验目的: 1、学习用VHDL语言实现比较大型的电路的方法。 2、继续巩固cpld技术层次化设计方法。 二、实验器材: 计算机、Quartus II软件或xilinx ISE 三、实验内容: 设计一数字时钟,要求具有时、分、秒、计数显示功能,以24小时循环计时;具有清零,调节小时,分钟功能;具有整点报时功能。 四、实验步骤: 1、根据电路特点,用层次设计的概念,将此任务分成若干模块,规定每一模块的功能和各模块之间的接口。让几个学生分作和调试其中之一,然后再将各模块合起来联试。以培养学生之间的合作精神,同时加深层次化设计概念。 2、了解软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何融合。 3、模块说明: 各种进制的计数及时钟控制模块(10进制、6进制、24进制) 扫描分时显示,译码模块 各模块都用VHDL语言编写 实现电子钟原理图

各模块程序 秒模块: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity second is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC; semin : in STD_LOGIC; enmin : out STD_LOGIC; daout : out STD_LOGIC_VECTOR (6 downto 0)); end second; architecture Behavioral of second is signal count:std_logic_vector(6 downto 0); signal enmin_1,enmin_2:std_logic; begin daout<=count; enmin_2<=(semin and clk); enmin<=(enmin_1 or enmin_2); process(clk,reset,semin) begin if(reset='0')then count<="0000000"; enmin_1<='0'; elsif(clk'event and clk='1')then

《数字逻辑》数字时钟课程设计报告资料

《数字逻辑》课程设计报告 题目数字时钟 学院(部)信息工程学院 专业计算机科学与技术 班级计算机一班 学生姓名 学号20132402 6 月29 日至 7 月 3 日共1 周 指导教师(签字)

题目 一.摘要: 钟表的数字化给人们的生产生活带来了极大的方便,并且极大的扩展了钟表原先的报时功能。诸如定时自动报有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常警、学校的按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯,甚至各种定时电气的自启用等。所现实的意义。本次数电课设我组设计的数字时钟是由石英晶体振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路和计时电路组成,石英晶体振荡器产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器在七段显示器上显示时间。 二.关键词: 校时计时报时分频石英晶体振荡器 三.技术要求: 1、有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能; 2、有计时功能,时钟不会在计时的时候停下。计时范围是0~99秒; 3、有闹铃功能,闹铃响的时间由使用者自己设置,闹铃时间至少一分钟; 4、要在七段显示器(共阴极6片)显示时间; 5、电子钟要准确正常地工作。 四、方案论证与选择: 钟表的是长期使用的器件,误差容易积累由此增大。所以要求分频器产生的秒脉冲要极其准确。而石英晶体产生的信号是非常稳定的,所以我们使用石英晶体产生的信号经过分频电路作为秒脉冲。秒脉冲信号经过6级计数器,分别得到“秒”、“分”、“时”的个位、十位的计时。由实际的要求,“秒”、“分”计数器为60进制的计数器,小时为24进制。由于74LS160十进制加法计数器易于理解使用,我们在设计各个计数器时都是由采用74LS160芯片级联构成。在计时部分,最小单位是0.01s,我们采用555多谐振荡器产生100HZ的信号作为秒脉冲进入一个4级计数器,计时范围是0~99秒。石英晶体

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

基于FPGA的数字钟设计

摘要 伴随着集成电路技术的发展, 电子设计自动化(EDA)技术逐渐成为数字电路设计的重要手段。基于FPGA的EDA技术的发展和应用领域的扩大与深入,使得EDA技术在电子信息,通信,自动控制,计算机等领域的重要性日益突出。 本设计给出了一种基于FPGA的多功能数字钟方法,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,QuartusII作为运行程序的平台,编写的程序经过调试运行,波形仿真验证,下载到EDA实验箱的FPGA芯片,实现了设计目标。 系统主芯片采用CycloneII系列EP2C35F672C8。采用自顶向下的设计思想,将系统分为五个模块:分频模块、计时模块、报时模块、显示模块、顶层模块。用VHDL语言实现各个功能模块, 图形输入法生成顶层模块. 最后用QuartusII 软件进行功能仿真, 验证数字钟设计的正确性。 测试结果表明本设计实现了一个多功能的数字钟功能,具有时、分、秒计时显示功能,以24小时循环计时;具有校正小时和分钟的功能;以及清零,整点报时功能。 关键词:EDA技术;FPGA;数字钟;VHDL语言;自顶向下

Abstract Accompanied by the development of integrated circuit technology, electro nic design automation (EDA) technology is becoming an important means of digital circuit design. FPGA EDA technology development and expansion of a pplication fields and in-depth, the importance of EDA technology in the field of electronic information, communication, automatic control, computer, etc. hav e become increasingly prominent. This design gives a FPGA-based multifunctional digital clock using ED A as a development tool, VHDL language and graphical input hardware descri ption language, the QuartusII as a platform for running the program, written procedures debugging and running, the waveform simulation downloaded to th e FPGA chip to achieve the design goals. The main system chip CycloneII series EP2C35F672C8. Adopted a topdw n design ideas, the system is divided into five modules: frequency module, ti ming module, timer module, display module, the top-level module. With VHD L various functional modules, graphical input method to generate the top-level module. Last QuartusII under simulation, to verify the correctness of the digi tal clock design. The test results show that the design of a multifunctional digital clock, with seconds time display, 24-hour cycle timing; has a school, cleared, and th e whole point timekeeping functions. Key words: EDA technology; FPGA; VHDL language; top-down; digital cloc k

简易数字钟的设计

中文摘要 数字钟已经成为人们日常生活中不可缺少的必需品,广发应用于家庭及办公室等公共场所,给人们的生活、学习、工作及娱乐带来了极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使得数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用方便,但鉴于单片机的定时器功能也可以完成数字钟的设计,因此进行数字的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 单片机具有体积小、功能强、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和生活的各个角落,有力地推动了各行各业的技术改造和产品的更新换代,应用前景广阔。 本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(共阴极LED 数码显示器等),再配以相应的软件,达到制作简易数字钟的目的。硬件部分采用了单片机原理实验室的实验箱进行合理接线调试;软件部分通过keil进行了C程序的修改编译,protues软件仿真等。最终在实验箱上实现了与仿真结果相同的实际效果。 关键词单片机定时功能、AT89C51、共阴LED、Keil、Protues软件。

Abstract Microelectronics and computer technology along with the rapid development and progress, making the design of electronic systems and applications have entered a new era. The traditional manual design process is being advanced electronic design automation technology to replace. And is currently supporting modern technology has become the universal platform for electronic design, and step by step to support the development of system-level design. Only to hardware description language and logic synthesis-based top-down design methodology to meet the increasingly complex needs of digital system design. The progressive development of the taxi industry, the taxi meter is getting higher and higher requirements, the user requires not only the performance of the stability of billing, billing and accurate anti-cheat functions; and as a result of the instability in oil prices, billing system the need for regular adjustment of the meter so that users can request not to change the hardware to facilitate the billing system modifications. The system is the use of language, it can make use of digital circuits and system description, simulation and automatic design, and software as a development platform designed billing system procedures taxi and carried out a simulation program. To the achievement of pre-billing and simulation, as well as car to start, stop, pause and other functions, and dynamic scan shows the number of fares. Key Words Microcontroller\、AT89C51、7SEG-MPX6-CC-RED 、Keil、Proteus

数字时钟课程设计方案设计方案

课程设计题目名称:数字时钟 专业名称:电气工程及其自动化班级: ******** 学号: *******8 学生姓名: ******* 任课教师: *******

《电子技术课程设计》任务书

2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕:设计电路,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。 3.主要参考文献:⑴《电子技术课程设计指导》彭介华编,高等教育出版社,1997年10月 ⑵《数字电子技术》康华光编著高等教育出版社, 2001年 要求按国标GB 7714—87《文后参考文献著录规则》书写。 4.课程设计工作进度计划: 序号起迄日期工作内容 初步设想和资料查询,原理图的绘画 1 2015.11.18-2015.12.21 仿真调试,元件参数测定,实物的拼接与测试 2 2015.12.21-2016.1.8 叙写设计报告,总结本次设计,论文提交 3 2016.1.8-2016.1.18 主指导教师日期:年月日

摘要 数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。并且数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。报告围绕此次数字钟的设计进行介绍、总结,包含了设计的步骤,前期的准备,装配的过程。在实装时,采用了74LS90进行计数,用CD4060产生秒脉冲,CD4511进行数码管转换显示,还要考虑电路的校时、校分,每块芯片各设计为几进制等等,最后实现了数字钟设计所要求的各项功能:时钟显示功能;快速校准时间的功能。 关键字:数字时钟校时CD4511

数字电子时钟课程设计

数字电子技术基础课程设计报告 班级:姓名: 学号: 一、设计目的 1掌握专业基础知识的综合能力。 2完成设计电路的原理设计、故障排除。 3逐步建立电子系统的研发、设计能力,为毕业设计打好基础。 4让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法。 5进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力。 6培养书写综合实验报告的能力。 二、设计仪器 1 LM555CH 2 74LS161N 74LS160N 74LS290 3 74LS00 74LS08 4 电源电阻电容二极管接地等 三数字电子钟的基本功能及用途 现在数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性

能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点,,因此在许多电子设备中被广泛使用。 电子钟是人们日常生活中常用的计时工具,而数字式电子钟又有其体积小、重量轻、走时准确、结构简单、耗电量少等优点而在生活中被广泛应用,因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。 多功能数字钟采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、走时准确、显示直观、精度、稳定等优点。电路装置十分小巧,安装使用也方便。同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。 四设计原理及方框图 数字钟实际上是一个对标准频率进行计数的计数电路,标准的1HZ时间信号必须做到准确稳定。由图可见:本数字钟电路主要由震荡器、、时分秒计数器、译码显示器构成。它们的工作原理是:由震荡器产生的高频脉冲信号作为数字钟的时间基准,送入秒计数

多功能数字钟的VHDL设计

毕业设计论文 多功能数字钟的VHDL设计 系 xxxxxxxxxxxxxxxxx 专业 xxxxxxxxxxxxx 学号 xxxxxxxxxxx 姓名 xxxxxxx 班级 xxxxxxxxxxxx 指导老师 xxxxxxxxxx 职称 指导老师职称 毕业设计时间 2009年11月——2010年1月

摘要:应用VHDL语言编程,进行了多功能数字钟的设计,并在MAX PLUSⅡ环境下通过了编译、仿真、调试。 关键词:VHDL;EDA;数字钟;仿真图 0.引言 随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。可编程逻辑器件和相应的设计技术体现在三个主要方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。在本实验中采用了集成度较高的FPGA 可编程逻辑器件, 选用了VHDL硬件描述语言和MAX + p lusⅡ开发软件。VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色。由于采用了具有多层次描述系统硬件功能的能力的“自顶向下”( Top - Down)和基于库(L ibrary - Based)的全新设计方法,它使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短 了产品的研制周期。MAX + p lusⅡ是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。 1. EDA简介 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

简易数字钟设计(已仿真)

简易数字钟设计 摘 要 本文针对简易数字钟的设计要求,提出了两种整体设计方案,在比较两个方案的优缺点后,选择了其中较优的一个方案,进行由上而下层次化的设计,先定义和规定各个模块的结构,再对模块内部进行详细设计。详细设计的时候又根据可采用的芯片,分析各芯片是否适合本次设计,选择较合适的芯片进行设计, 最后将设计好的模块组合调试,并最终在EWB 下仿真通过。 关键词 数字钟,EWB ,74LS160,总线,三态门,子电路 一、引言:所谓数字钟,是指利用电子电路构成的计时器。相对机械钟而言,数字钟能达到准确计时,并显示小时、分、秒,同时能对该钟进行调整。在此基础上,还能够实现整点报时,定时报闹等功能。 设计过程采用系统设计的方法,先分析任务,得到系统要求,然后进行总体设计,划分子系统,然后进行详细设计,决定各个功能子系统中的内部电路,最后进行测试。 二、任务分析:能按时钟功能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时,使用4个数码管,能切换显示。 总体设计 本阶段的任务是根据任务要求进行模块划分,提出方案,并进行比较分析,最终找到较优的方案。 方案一、采用异步电路,数据选择器 将时钟信号输给秒模块,秒模块的进位输给分模块,分模块进位输入给时模块,切换的时候使用2选1数据选择器进行切换,电路框图如下: 该方案的优点是模块内部简单,基本不需要额外的电路,但缺点也很明显,该方案结构不清晰,模块间关系混乱,模块外还需使用较多门电路,不利于功能扩充,且使用了异步电路,计数在59的时候,高一级马上进位,故本次设计不采用此方案。 方案二、采用同步电路,总线结构 时钟信号分别加到各个模块,各个模块功能相对独立,框图如下: 显示 切换 秒钟 分钟 小时 控制 1Hz 脉冲信号 闹钟

电子时钟课程设计55026

. 单片机课程设计题目:电子时钟 班级: 姓名: 学号: 指导教师: 设计时间:

.

摘要 针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。设计的电子时钟通过数码管显示,并能通过按键的设计实现小时与分钟的调整。时间的启动与暂停等等。 关键字:数字时钟;单片机;定时计数器 .

1 引言 时钟,自他发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还可以进行时、分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可 .

数字钟课程设计

数字逻辑电路课程设计 课题:数字钟 姓名:刘亮 班级:通信2班 学号:21 成绩: 指导教师:查根龙 开课时间: 2014-2015学年第2学期

摘要 (1) ABSTRACT (2) 第1章设计背景 (3) 1.1设计任务 (3) 1.2设计要求 (3) 1.3 设计目的 (3) 第2章课程设计方案 (4) 2.1 数字钟的基本组成和工作原理 (4) 2.2 振荡电路 (5) 2.3 分频电路 (6) 2.4时分秒计数电路 (7) 2.5 校时校分功能 (10) 2.6整点报时电路 (10) 2.7上下午显示电路 (11) 第三章课程总结 (12) 第四章参考文献 (13) 第五章附件 (14) 5.1 电路原理图 (14) 5.2 元器件清单 (14)

摘要 电子钟在现代社会已经使用的非常广泛,伴随着数字电路技术的发展,数字钟的出现,更加方便了大家的生活,同时也大大地促进了社会的进步。数字电路具有电路简单、可靠性高、成本低等优点,本设计就以数字电路为核心设计智能电子钟。 数字钟就是由电子电路构成的计时器。是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和、报时、上下午显示等附加功能。主电路系统由秒信号发生器、时、分、秒计数器,译码器及显示器,校时电路,上下午显示,整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。秒信号产生器将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24和12小时的累计。计数器用的是74160。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过六位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的 关键词:计时器;计数;译码;报时;校时校分

根据QuartusII软件的数字时钟设计

实验名称:数字时钟设计 姓名:杨龙成班级:电子与通信工程学号: 3120302012 成绩: 一、实验目的 1.掌握各类计数器及它们相连的设计方法; 2.掌握多个数码管显示的原理与方法; 3.掌握模块化设计方式; 4.掌握用VHDL语言的设计思想以及整个数字系统的设计。 二、实验内容 1. 设计要求 1)具有时、分、秒计数显示功能,在数码管显示00:00:00~23:59:59,以24小时循环计时。 2)完成可以计时的数字时钟时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟及清零的功能。 4)具有整点报时功能。 2. 性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分60进制计数,时钟—24进制计数,并且在数码管上显示数值。 2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间。可以通过实验板上的键7和键4进行任意的调整,因为时钟信号均是1HZ的,所以LED灯每变化一次就来一个脉冲,即计数一次。 3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。 4)蜂鸣器在整点时有报时信号产生,产生“滴答.滴答”的报警声音。 5)根据进位情况,LED灯在时钟显示时有花样显示信号产生。 3. 系统方框图

三、设计原理和过程 3.1 硬件设计 本设计使用VHDL硬件开发板,可编程逻辑器件EMP1270T144C5系列。设计过程中用到的外围电路的设计有电源部分,可编程器件EMP1270T144C5,CPLD –JTAG接口,晶振和蜂鸣器,LED数码管显示,DIP开关与按键输入(具体电路见附录) 3.2 软件设计 3.2..1 程序包my_pkg的设计说明 为了简化程序设计增加可读性,系统采用模块化的设计方法,重复使用的组件以元件(component)的形式存在,以便相关块的调用。下面列出my_pkg组件包的代码。library ieee; use ieee.std_logic_1164.all; package my_pkg is component div40M------------------------------------------------------------------元器件1 Port( clk: in std_logic; f1hz : out std_logic); end component; component count60-----------------------------------------------------------------元器件2 Port(clr,clk:in std_logic; one :buffer std_logic_vector(3 downto 0); ten :buffer std_logic_vector(3 downto 0); full:out std_logic; dout:buffer std_logic_vector(7 downto 0)); end component; component count24-----------------------------------------------------------------元器件3 Port(clr,clk:in std_logic;

261-简易电子钟论文

专业课程设计 基于单片机的简易电子钟设计 专业课设说明: 本次专业课程设计通过对本专业知识的学习、应用,以STC89C51单片机为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。在这次设计中,我们采用LED数码管显示时、分、秒,以24 小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。 本次课设由本人(傅锦城136712117)孙龙龙(136712116)黄宗旭(136712107)为一组共同完成。本人负责搜集简易时钟的设计和制作原理以及所用电路元件的参数资料和使用方法等相关资料。并且负责电路的焊接工作。孙龙龙负责单片机程序的编写。黄宗旭负责电路原理图的绘制和模拟。 1. 系统基本设计思路 此设计是在数码管上显示时、分和秒,电路包括:键盘、单片机及显示驱动电路。 各部分说明: (1)键盘用于校正、调节数码管上显示的时间。 (2)单片机通过输出各种电脉冲信号开驱动控制各部分正常工作。 (3)单片机发送的信号经过显示电路通过译码最终在数码管上显示出来。 (4)按键还可以切换12小时制和24小时制,并有指示灯。 系统工作过程:时间的主要处理过程是在CPU中完成的。CPU会随时对时间进行读取数据的操作。在读取了相应的寄存器的值后,CPU将读取的值进行处理,再通过I/O口把数据显示在数码管上。 2. 单元电路方案 根据设计要求,本系统主要由控制器模块、显示驱动模块和输入模块构成。 2.1 控制器模块 采用51系列作为系统控制器 单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而且抗干扰性能好。 2.2 计时模块 本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。 2.3 显示模块 采用LED数码管

(完整版)数字电路课程设计--数字时钟

《数字时钟》技术报告 概要 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24 小时,显示满刻度为23 时59 分59 秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。 本设计中的数字时钟采用数字电路实现对“时” 、“分”、“秒” 的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555 震荡器,74LS90 及与非,异或等门集成芯片等。该电路具有计时和校时的功能。 在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。 实验证明该设计电路基本上能够符合设计要求! 一、系统结构。 (1)功能。此数字钟能显示“时、分、秒”的功能,它的计时周期是24 小时,最大能显示23 时59 分59 秒,并能对时间进行调整和校对,相对于机械式的手表其更为准确。 2)系统框图

系统方框图 1 (3)系统组成。 1.秒发生器:由555 芯片和RC 组成的多谐振荡器,其555 上3 的输出频率由接入的电阻与电容决定。 2.校时模块:由74LS03 中的4 个与非门和相应的开关和电阻构成。 3.计数器:由74LS90 中的与非门、JK 触发器、或门构成相应芯片串接得到二十四、六十进制的计数器,再由74LS90 与74LS08 相连接而得到秒、分、时的进分别进位。 4.译码器:选用BCD 锁存译码器4511,接受74LS90 来的信号,转换为7 段的二进制数。

5.显示模块:由7 段数码管来起到显示作用,通过接受CD4511 的信号。本次选用的是共阴型的CD4511 。 二、各部分电路原理。 1.秒发生器:555 电路内部(图2-1)由运放和RS 触发器共同组成,其工作原理由8处接VCC ,C1 处当 Uco=2/3Vcc>u11 时运放输出为1,同理C2 也一样。最终如图3 接口就输出矩形波,而形成的秒脉冲。 图 2-2 555 功能表 2.校时模块:校时模块主要由74LS03中的4个与非门构成(图2-3),由其功能图看得出只要有一个输入端由H 到L 或者从L 到H 都会使输出端发生高低变化。因此通过开关的拨动产生高低信号从而对时、分处的计数器起到调数作用。

基于VHDL语言实现数字电子钟的设计

基于VHDL语言实现数字电子钟的设计 一.设计要求: 1、设计内容 选用合适的可编程逻辑器件及外围电子元器件,设计一个数字电子钟,利用EDA软件(QUARTUS Ⅱ)进行编译及仿真,设计输入可采用VHDL硬件描述语言输入法)和原理图输入法,并下载到EDA实验开发系统,连接外围电路,完成实际测试。 2、设计要求 (1)具有时、分、秒计数显示功能。 (2)具有清零的功能,且能够对计时系统的小时、分钟进行调整。 (3)小时为十二小时制。 二.实验目的: 1.通过这次EDA设计中,提高手动能力。 2.深入了解时事时钟的工作原理,以及时事时钟外围硬件设备的组成。 3.掌握多位计数器相连的设计方法。 4.掌握十进制,六进制,二十四进制计数器的设计方法。 5.继续巩固多位共阴极扫描显示数码管的驱动,及编码。 6.掌握扬声器的驱动。 7.LED灯的花样显示。 8.掌握CPLD技术的层次化设计方法 三.实验方案: 数字系统的设计采用自顶向下、由粗到细, 逐步分解的设计方法, 最顶层电路是指系统的整体要求, 最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块, 从而进行设计描述, 并且应用EDA 软件平台自动完成各功能模块的逻辑综合与优化, 门级电路的布局, 再下载到硬件中实现设计。因此对于数字钟来说首先是时分秒的计数功能,然后能显示,附带功能是清零、调整时分。通过参考EDA 课程设计指导书,现有以下方案: 1.作为顶层文件有输入端口:时钟信号,清零按键,调时按键,调分按键;输出端口有:用于接数码管的八段码

输出口,扫描用于显示的六个数码管的输出口。 2.底层文件分为: (1)时间计数模块。分秒计数模块计数为60计数,时计数模块为12计数。 (2)显示模块。显示模块由一个六进制计数器模块和一个七段译码器组成。进制计数器为六选一选择器的选择判断端提供输入信号, 六选一选择器的选择输出端分别接秒个位、秒十位、分个位、分十位和时个位、时十位的选通位用来完成动态扫描显示,同时依次输出秒个位、秒十位、分个位、分十位和时个位、时十位数向给译码模块。 (3)报警模块当时间到整点时就报时。输入有时分秒计数,时钟脉冲。 (4)采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示.采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,但无法显示图形文字,在显示星期是也只能用数字表示,而且采用动态扫描法与单片机连接时,在编程时比较复杂。所以也不采用了LED数码管作为显示。采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示文字,图形,显示多样,清晰可见,所以在此设计中采用LCD液晶显示屏。 四.实验原理: 1. 实验主控系统原理图: 模块设计原理图:

multisim简易数字钟设计

实验名称 : 简易数字钟设计 系别: 班号: 实验者姓名: 学号: 实验日期: 2013 年 11 月 实验报告完成日期: 2013 年 12 月指导老师意见:

摘要:本数字钟实现了基本时间显示(包括分钟、小时、星期)、时间调整、闹钟以及精度为0.1s的秒表。用于显示的数码管可实现时间、闹钟、秒表显示。下面从外部到内部对时钟各模块说明并在最后介绍按键使用。 一、使用说明: (一)下表是操作步骤说明(从左到右逐级选择): (二)说明各按键的作用: 1、SWITCH1:为显示切换也可以说是功能切换,因为这两者是同时进行的,当切到显示闹钟时,你可以调整闹钟。 2、SWITCH2:次级切换按键,比如当切到闹钟时,你可以通过波动它而选择要调小时还是分钟;

3、INC:由于它大部分时间是在发生脉冲使当前对象的值增一的效果,故命名为INC。但在基本时间功能处还有清零功能,在秒表功能处有开始/暂停的功能。 4、CLR:在基本时间时是所有清零的功能,在秒表功能时是秒表清零功能。 二、各模块说明。 最外层为: ○1clock_base(基本时间计数); ○2ALARM&&SCREEN(闹钟判断、秒表功能和闹钟、秒表、时间显示切换); ○3SET_NUM(设置闹钟); ○4FUNCTION_CH(按键翻译) 附注:显示秒的数码管可去除。信号源为10Hz的时钟信号。秒表时,小时数码管为秒,分钟左一数码管为0.1秒。

(一)clock_base: 本模块实现秒、分、时、星期计数。由一片七进制计数器、一片24进制计数器、两片60进制计数器以及一片10进制计数器74160N构成(因为只允许用一个时钟信号源,为满足秒表需要故用之)。七进制、24进制、60进制计数器最后说明。 (二)ALARM&&SCREEN 本模块实现功能: 1、通过当前时间与设定的时间相比较实现闹钟功能并附有闹钟使 能; 2、用一片10进制计数器和一片60进制计数器实现秒表功能并附 有开始/暂停和重置功能; 3、用若干三或非门、非门、若干与门实现闹钟、秒表、时间显示 切换。

相关主题
相关文档 最新文档