多功能数字电子钟。
一、 设计要求。
1、 具有以二十四小时计时、显示、整点报时、时间设置和闹钟的功能。
2、 设计精度要求为1s。
二.系统功能描述。
1 . 系统输入:系统状态及校时、定时转换的控制信号为k、mode、set;
时钟信号clk,采用1024hz;
系统复位信号为reset。输入信号均由按键产生。
系统输出:led显示输出,蜂鸣器声音信号输出。
多功能数字钟系统功能的具体描述如下:
2. 计时:正常工作状态下,每日按24h计时制计时并显示,蜂鸣器无声,逢整点报时。
3. 校时:在计时状态显示下,按下“set键”,进入“小时”校准状态,之后按下“k键”则进入“分”校准状态,继续按下“k键”则进入“秒复零”状态,第三次按下“k 键”又恢复到正常计时显示状态。
1)“小时”校准状态:在“小时”校准状态下,显示“小时”数码管以1hz的频率递增计数。
2)“分”校准状态:在“分”校准状态下,显示“分”的数码管以1hz的频率递增计数。
3)“秒”复零状态:在“秒复零”状态下,显示“秒”的数码管复零。
4. 整点报时:蜂鸣器在“59”分钟的第“51”、“53”、“55”、“57‘秒发频率为512hz的低音,在“59”分钟的第“59”秒发频率为1024hz的高音,结束时为整点。
5. 显示:要求采用扫描显示方式驱动6个led数码管显示小时、分、秒。
闹钟:闹钟定时时间到,蜂鸣器发出周期为1s的“滴”、“滴”声,持续时间为10s;闹钟定时显示。
6. 闹钟定时设置:在闹钟定时显示状态下,按下“set键”,进入闹钟的“时”设置状态,之后按下“k键”进入闹钟的“分”设置状态,继续按下“k 键”则进入“秒”设置状态,第三次按下“k键”又恢复到闹钟定时显示状态。
1) 闹钟“小时”设置状态:在闹钟“小时”设置状态下,显示“小时”的数码管以1hz的频率递增计数。
2) 闹钟:“分”设置状态:在闹钟“分”设置状态下,显示“分”的数码管以1hz的频率递增计数。
三、 控制器的mds图及多功能数字系统结构逻辑框图。
1、 控制器的mds图。
s0:显示计时时间 s1:调计时的时 s2:调计时的分 s3:调计时的秒
s4:显示闹铃时间 s5:调闹铃的时 s6:调闹铃的分 s7:调闹铃的秒。
2、 多功能数字系统结构逻辑框图。
四、 各功能模块设计说明及源程序。
1、 控制器:
设计说明:根据外部的输入控制信号,完成各个状态之间的转换,并在相应状态输出相应的控制信号,从而对整个系统的工作进行控制。
控制器:library ieee;
use use
entity contl is
port(clk,reset,k,set:in std_logic;
cht,cmt,cst,cha,cma,csa,flashh,,sel_showflashm,flashs:out std_logic);
end contl;
architecture ar of contl is
type state_type is(s0,s1,s2,s3,s4,s5,s6,s7);
signal state:state_type;
beginprocess(clk,reset,k,set)
beginif(rising_edge(clk))then
if(reset='1')then
state<=s0;
end if;
case state is
when s1=>sel_show<='1';
cht<='1';flashh<='1';
if(k='1')then
state<=s2;
else state<=s1;
end if;
when s2=>sel_show<='1';
cmt<='1';flashm<='1';
if(k='1' )then
state<=s3;
else state<=s2;
end if;
when s3=>sel_show<='1';
cst<='1';flashs<='1';
if(k='1' )then
state<=s0;
else state<=s3;
end if;
when s4=>sel_show<='0';
if(k='0' and set='1')then
state<=s5;
elsif(k='1' and set='0')then
state<=s0;
else state<=s4;
end if;
when s5=>sel_show<='0';
cha<='1';flashh<='1';
if(k='1')then
state<=s6;
else state<=s5;
end if;
when s6=>sel_show<='0';
cma<='1';flashm<='1';
if(k='1' )then
state<=s1;
else state<=s0;
end if;
when s7=>sel_show<='0';
csa<='1';flashs<='1';
if(k='0' and set='1')then
state<=s4;
else state<=s7;
end if;
when s0=>sel_show<='1';
if(k='0' and set='1')then
state<=s1;
elsif(k='1' and set='0')then
state<=s4;
else state<=s0;
end if;
end case;
end if;
end process;
end ar;
2、 计时校时电路:
设计说明:该电路实现计时、校时功能。
源程序:二十**制计数器:
源程序:library ieee;
use use
entity m24 is
port(en,clk : in std_logic;
p0,p1 :out std_logic_vector(3 downto 0));
end m24;
architecture ar of m24 is
signal q0,q1:integer range 0 to 15;
beginprocess(clk)
beginif (rising_edge(clk)) then
if (en='0' or (q0=3 and q1=2)) then
q0<=0; q1<=0;
elsif(q0=9) then
q0<=0; q1<=q1+1;
else q0<=q0+1;
end if;
end if;
p0<= conv_std_logic_vector(q0,4);
p1<= conv_std_logic_vector(q1,4);
end process;
end ar;
六十进制计数器:
源程序:library ieee;
use use
entity m60 is
port(en,clk : in std_logic;
x: out std_logic;
p0,p1:out std_logic_vector(3 downto 0));
end m60;
architecture ar of m60 is
signal q0,q1:integer range 0 to 15;
beginprocess(clk)
beginif (rising_edge(clk)) then
if (en='0' or (q0=9 and q1=5)) then
q0<=0; q1<=0; x<='1';
elsif(q0=9) then
q0<=0; q1<=q1+1;
else q0<=q0+1;x<='0';
end if;
end if;
p0<= conv_std_logic_vector(q0,4);
p1<= conv_std_logic_vector(q1,4);
end process;
end ar;
选择器源程序:
library ieee;
use entity conl is
port(f1,f4,c: in std_logic;
f :out std_logic);
end conl;
architecture ar of conl is
beginprocess(c,f1,f4)
beginif(c='0')then
f<=f1;
else f<=f4;
end if;
end process;
end ar;
3、 显示控制电路:
设计说明:该模块控制最终显示的计时时间还是闹铃时间。
源程序:library ieee;
use entity show_con is
port(ts1,ts2,tm1,tm2,th1,th2,bs1,bs2,bm1,bm2,bh1,bh2:in std_logic_vector(3 downto 0);
s1,s2,m1,m2,h1,h2,line:out std_logic_vector(3 downto 0);
sel_show ,clk,flashs,flashm,flashh:in std_logic);
end show_con;
architecture ar of show_con is
signal q:integer range 0 to 1;
beginprocess(clk)
begin
if(rising_edge(clk))then
q<=q+1;
if(flashh='1'and q=1)then
h1<="1111";h2<="1111";
elsif(flashm='1'and q=1)then
m1<="1111";m2<="1111";
elsif(flashs='1'and q=1)then
s1<="1111";s2<="1111";
EDA课程设计 多功能彩灯
第一章绪论 1 1.1系统背景 1 1.1.1 eda技术的特点以及在电子技术中的应用 1 a.eda技术的特点 1 b.eda技术的发展趋势 2 c.eda技术的设计流程 2 1.1.2设计内容和目标 2 a.设计主要内容和任务 2 b.目标 2 第二章系统电路设计 3 2.1 系统总体设计框架结...
数字钟数电课程设计
数字电子技术课程设计。题目名称。班级。姓名。学号。指导老师。引言。数字钟实际上是一个对标准频率 1hz 进行计数的计数电路。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以 时 分 秒 的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满...
数电课程设计 数字钟
数字电子技术课程设计。数字钟的设计。数字电路课程设计。设计简述 电子技术是一门实践性很强的课程。在学完基本单元的内容和实验后,进行综合设计实验,是对所学知识综合全面的运用,其目的是锻炼运用知识的能力,增强实践技能。电子电路部分设计实验,要求利用所掌握的知识和实验技能,在实验室环境下,创造性的解决问题...