❶ 课题:多功能数字钟的设计使用verilog HDL语言
提供一个时钟计数、设置、闹钟的verilog代码,供参考。
mole clock(clk,rst,set, set_typ, set_data, yr, mon, dt, hr, min, sec,
alarm_en, alm_typ, alm_yr, alm_mon, alm_dt, alm_hr, alm_min, alm_sec, alarm_output);
input clk,rst,set;
input [2:0] set_typ; //
input [6:0] set_data;//
output [6:0] yr, mon, dt, hr, min, sec;
input alarm_en;
input [2:0] alm_typ; //
input [6:0] alm_yr, alm_mon, alm_dt, alm_hr, alm_min, alm_sec;
output alarm_output;
parameter C_FR = 32'd20_000_000-32'd1; //定义系统时钟20MHz
reg [31:0] fr_cnt;
reg [3:0] sec_cnt;
reg pp1s; //秒脉冲
//==================================================
//fr_cnt
always@(posedge clk)//
if(!rst)
fr_cnt <= 32'b0;
else if (fr_cnt >= C_FR)
fr_cnt <= 32'b0;
else
fr_cnt <= fr_cnt + 1'b1;
//pp1s
always@(posedge clk)//
if(!rst)
pp1s <= 1'b0;
else if (fr_cnt == C_FR)
pp1s <= 1'b1;
else
pp1s <= 1'b0;
///time counter
always@(posedge clk)
if(!rst)
begin
yr <= 7'b0;
mon <= 7'b0;
dt <= 7'b0;
hr <= 7'b0;
min <= 7'b0;
sec <= 7'b0;
end
else if (set)
begin
case (set_typ)
3'b000: yr <= set_data;
3'b001: mon <= set_data;
3'b010: dt <= set_data;
3'b011: hr <= set_data;
3'b100: min <= set_data;
3'b101: sec <= set_data;
end
else if (pp1s)
begin
if (sec >= 7'd59)
sec <= 7'd0;
else
sec <= sec + 1'b1;
if (sec >= 7'd59)
begin
if (min >= 7'd59)
min <= 7'd0;
else
min <= min + 1'b1;
end
if (sec >= 7'd59 && min >= 7'd59)
begin
if (hr >= 7'd23)
hr <= 7'd0;
else
hr <= hr + 1'b1;
end
///data,mon, year, 大月小月,闰年等,依此类推
//
end
//=================================
//alarm
always@(posedge clk)
if(!rst)
alarm_output <= 1'b0;
else if (alarm_en)
case (alm_typ)
3'b000:
if (yr == alm_yr && mon == alm_mon && dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)
alarm_output <= 1'b1;
else
alarm_output <= 1'b0;
3'b001:
if (mon == alm_mon && dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)
alarm_output <= 1'b1;
else
alarm_output <= 1'b0;
3'b010:
if (dt == alm_dt && hr == alm_hr && min == alm_min && sec == alm_sec)
alarm_output <= 1'b1;
else
alarm_output <= 1'b0;
3'b011:
if (hr == alm_hr && min == alm_min && sec == alm_sec)
alarm_output <= 1'b1;
else
alarm_output <= 1'b0;
3'b100:
if (min == alm_min && sec == alm_sec)
alarm_output <= 1'b1;
else
alarm_output <= 1'b0;
default
alarm_output <= 1'b0;
endcase
endmole
❷ 多功能电子时钟的设计与制作
一般来说数字钟要完成的基本功能是利用数码管、按键、蜂鸣器完成24小时制时间显示(输入时钟脉冲一般要求为1024Hz),时间调节,闹钟设定,整点报时。我不知道你是用vhdl和实验箱做还是直接用现有元件完成电路板,后者可能要麻烦一点我没做过,前一种方法可能容易一定,可以自己增加一些功能,比如日期显示,和闹钟开关。难度在于要利用设计软件进行设计或仿真,需要摸清软件的脾性,vhdl并没有c语言那么容易掌握。我不清楚你到底哪个地方有问题,能不能再说清楚点?
❸ 多功能数字钟
题目:多功能数码种的设计
一、设计目的
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
因此,我们此次设计数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.
三、原理框图
1.数字钟的构成
数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
(a) 数字钟组成框图
2.晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
(b) CMOS 晶体振荡器(仿真电路)
3.时间记数电路
一般采用10进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中选择74HC390。由其内部逻辑框图可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。
秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。
秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图2.4所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。
十进制-六进制转换电路
分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。
时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换。利用1片74HC390实现12进制计数功能的电路如图(d)所示。
(d)十二进制电路
另外,图(d)所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。
4.译码驱动及显示单元电路
选择CD4511作为显示译码电路;选择LED数码管作为显示单元电路。由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴的方法连接的。
计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由4511芯片把BCD码转变为十进制数码送到数码管中显示出来。
5.校时电路
数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。即为用COMS与或非门实现的时或分校时电路,In1端与低位的进位信号相连;In2端与校正信号相连,校正信号可直接取自分频器产生的1HZ或2HZ(不可太高或太低)信号;输出端则与分或时个位计时输入端相连。当开关打向下时,因为校正信号和0相与的输出为0,而开关的另一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态。
实际使用时,因为电路开关存在抖动问题,所以一般会接一个RS触发器构成开关消抖动电路,所以整个较时电路就如图(f)。
(f)带有消抖电路的校正电路
6.整点报时电路
电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位均保持不变,分别为5、9和5,因此可将分计数器十位的QC和QA 、个位的QD和QA及秒计数器十位的QC和QA相与,从而产生报时控制信号。
报时电路可选74HC30来构成。74HC30为8输入与非门。
四、元器件
4.共阴八段数码管6个
5.网络线2米/人
6.CD4511集成块6块
7.CD4060集成块1块
8.74HC390集成块3块
9.74HC51集成块1块
10.74HC00集成块4块
11.74HC30集成块1块
12.10MΩ电阻5个
13.500Ω电阻14个
14.30p电容2个
15.32.768k时钟晶体1个
16.蜂鸣器10个
五、各功能块电路图
数字钟从原理上讲是一种典型的数字电路,可以由许多中小规模集成电路组成,所以可以分成许多独立的电路。
(一) 六进制电路
由74HC390、7400、数码管与4511组成,电路如图一。
(二) 十进制电路
由74HC390、7400、数码管与4511组成,电路如图二。
(三) 六十进制电路
由两个数码管、两4511、一个74HC390与一个7400芯片组成,电路如图三。
(四) 双六十进制电路
由2个六十进制连接而成,把分个位的输入信号与秒十位的Qc相连,使其产生进位,电路图如图四。
(五) 时间计数电路
由1个十二进制电路、2个六十进制电路组成,因上面已有一个双六十电路,只要把它与十二进制电路相连即可,详细电路见图五。
(六) 校正电路
由74CH51D、74HC00D与电阻组成,校正电路有分校正和时校正两部分,电路如图六。
(七) 晶体振荡电路
由晶体与2个30pF电容、1个4060、一个10兆的电阻组成,芯片3脚输出2Hz的方波信号,电路如图七。
(八) 整点报时电路
由74HC30D和蜂鸣器组成,当时间在59:50到59:59时,蜂鸣报时,电路如图八。
❹ 急求多功能数字钟的设计,要详细的制作过程,需要购买的元件以及电路板的详细电路图!!!
多功能数字钟设计一、
绪论 (一) 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。
本系统采用石英晶体振荡器、分频器、计数器、显示器和校时电路组成。由LED数码管来显示译码器所输出的信号。采用了74LS系列中小规模集成芯片。使用了RS触发器的校时电路。总体方案设计由主体电路和扩展电路两大部分组成。其中主体电路完成数字钟的基本功能,扩展电路完成数字钟的扩展功能。论文安排如下: 1、绪论 阐述研究电子钟所具有的现实意义。 2、设计内容及设计方案 论述电子钟的具体设计方案及设计要求。 3、单元电路设计、原理及器件选择 说明电子钟的设计原理以及器件的选择,主要从石英晶体振荡器、分频器、计数器、显示器和校时电路五个方面进行说明。 4、绘制整机原理图 该系统的设计、安装、调试工作全部完成
二、设计内容及设计方案 (一)设计内容要求 1、设计一个有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能的电子钟。 2、用中小规模集成电路组成电子钟,并在实验箱上进行组装、调试。 3、画出框图和逻辑电路图。 4 、功能扩展: (1)闹钟系统 (2)整点报时。在59分51秒、53秒、55秒、57秒输出750Hz音频信号,在59分59秒时,输出1000Hz信号,音像持续1秒,在1000Hz音像结束时刻为整点。 (3)日历系统。 (二)设计方案及工作原理 数字电子钟的逻辑框图如图1所示。它由石英晶体振荡器、分频器、计数器、译码器显示器和校时电路组成。振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。计数器的输出分别经译码器送显示器显示。计时出现误差时,可以用校时电路校时、校分。
三、单元电路设计、原理及器件选择 (一)石英晶体振荡器 1、重要概念的解释 (1) 反馈:将放大电路输出量的一部分或全部,通过一定的方式送回放大电路的输入端。 (2) 耦合:是指信号由第一级向第二级传递的过程。 2、石英晶体振荡器的具体工作原理 石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它被广泛应用于彩电、计算机、遥控器等各类振荡电路中。它还具有压电效应:在晶体某一方向加一电场,晶体就会产生机械变形;反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。在这里,我们在晶体某一方向加一电场,从而在与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而使机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限制时,才达到最后稳定,这种压电谐振的频率即为晶体振荡器的固有频率。 用反相器与石英晶体构成的振荡电路如图2所示。利用两个非门G1和G2 自我反馈,使它们工作在线性状态,然后利用石英晶体JU来控制振荡频率,同时用电容C1来作为两个非门之间的耦合,两个非门输入和输出之间并接的电阻R1和R2作为负反馈元件用,由于反馈电阻很小,可以近似认为非门的输出输入压降相等。电容C2是为了防止寄生振荡。例如:电路中的石英晶体振荡频率是4MHz时,则电路的输出频率为4MHz。
石英晶体振荡电路 (二)分频器 1、8421码制,5421码制 用四位二进制码的十六种组合作为代码,取其中十种组合来表示0-9这十个数字符号。通常,把用四位二进制数码来表示一位十进制数称为二-十进制编码,也叫做BCD码,见表1。 表1 8421码 5421码 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 1000 6 0110 1001 7 0111 1010 8 1000 1011 9 1001 1100 2、分频器的具体工作原理 由于石英晶体振荡器产生的频率很高,要得到秒脉冲,需要用分频电路。例如,振荡器输出4MHz信号,通过D触发器(74LS74)进行4分频变成1MHz,然后送到10分频计数器(74LS90,该计数器可以用8421码制,也可以用5421码制),经过6次10分频而获得1Hz方波信号作为秒脉冲信号。
分频电路 3、图中标志的含义 CP——输入的脉冲信号 C0——进位信号 Q——输出的脉冲信号 (三)计数器 秒脉冲信号经过6级计数器,分别得到“秒”个位、十位,“分”个位、十位以及“时”个位、十位的计时。“秒”、“分”计数器为60进制,小时为24进制。 1、60进制计数器 (1) 计数器按触发方式分类 计数器是一种累计时钟脉冲数的逻辑部件。计数器不仅用于时钟脉冲计数,还用于定时、分频、产生节拍脉冲以及数字运算等。计数器是应用最广泛的逻辑部件之一。按触发方式,把计数器分成同步计数器和异步计数器两种。对于同步计数器,输入时钟脉冲时触发器的翻转是同时进行的,而异步计数器中的触发器的翻转则不是同时。 (2)60进制计数器的工作原理 “秒”计数器电路与“分”计数器电路都是60进制,它由一级10进制计数器和一级6进制计数器连接构成,如图4所示,采用两片中规模集成电路74LS90串接起来构成的“秒”、“分”计数器。
60进制计数电路 IC1是十进制计数器,QD1作为十进制的进位信号,74LS90计数器是十进制异步计数器,用反馈归零方法实现十进制计数,IC2和与非门组成六进制计数。74LS90是在CP信号的下降沿翻转计数,Q A1和 Q C2相与0101的下降沿,作为“分”(“时”)计数器的输入信号,通过与非门和非门对下一级计数器送出一个高电平一(在此之前输出的一直是低电平0)。Q B2 和Q C2计数到0110,产生的高电平一分别送到计数器的清零R0(1), R0(2),74LS90内部的R0(1)和R0(2)与非后清零而使计数器归零,此时传给下一级计数器的输入信号又变为低电平0,从而给下一级计数器提供了一个下降沿,使下一级计数器翻转计数,在这里IC2完成了六进制计数。由此可见IC1和 IC2串联实现了六十进制计数。 其中:74LS90 可二/五分频十进制计数器 74LS04 非门 74LS00 二输入与非门
24进制计数器 小时计数电路是由IC5和IC6组成的24进制计数电路,如图5所示。 当“时”个位IC5计数输入端CP5来到第10个触发信号时,IC5计数器自动清零,进位端QD5向IC6“时”十位计数器输出进位信号,当第24个“时”(来自“分”计数器输出的进位信号)脉冲到达时,IC5计数器的状态为“0100”,IC6计数器的状态为“0010”,此时“时”个位计数器的QC5和“时”十位计数器的QB6输出为“1”。把它们分别送到IC5和IC6计数器的清零端R0(1)和R0(2),通过7490内部的R0(1)和R0(2)与非后清零,从而完成24进制计数。
24进制计数电路 (四) 译码与显示电路 1、显示器原理(数码管) 数码管是数码显示器的俗称。常用的数码显示器有半导体数码管,荧光数码管,辉光数码管和液晶显示器等。 本设计所选用的是半导体数码管,是用发光二极管(简称LED)组成的字形来显示数字,七个条形发光二极管排列成七段组合字形,便构成了半导体数码管。半导体数码管有共阳极和共阴极两种类型。共阳极数码管的七个发光二极管的阳极接在一起,而七个阴极则是独立的。共阴极数码管与共阳极数码管相反,七个发光二极管的阴极接在一起,而阳极是独立的。 当共阳极数码管的某一阴极接低电平时,相应的二极管发光,可根据字形使某几段二极管发光,所以共阳极数码管需要输出低电平有效的译码器去驱动。共阴极数码管则需输出高电平有效的译码器去驱动。 2、译码器原理(74LS47) 译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,表2列出了74LS47的真值表,表示出了它与数码管之间的关系
输 入 输 出 显示数字符号 LT(——) RBI(——-) A3 A2 A1 A0 BI(—)/RBO(———) a(—) b(—) c(—) d(—) e(—) f(—) g(—) 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 X 0 0 0 1 1 1 0 0 1 1 1 1 1 1 X 0 0 1 0 1 0 0 1 0 0 1 0 2 1 X 0 0 1 1 1 0 0 0 0 1 1 0 3 1 X 0 1 0 0 1 1 0 0 1 1 0 0 4 1 X 0 1 0 1 1 0 1 0 0 1 0 0 5 1 X 0 1 1 0 1 1 1 0 0 0 0 0 6 1 X 0 1 1 1 1 0 0 0 1 1 1 1 7 1 X 1 0 0 0 1 0 0 0 0 0 0 0 8 1 X 1 0 0 1 1 0 0 0 1 1 0 0 9 X X X X X X 0 1 1 1 1 1 1 1 熄灭 1 0 0 0 0 0 0 1 1 1 1 1 1 1 熄灭 0 X X X X X 1 0 0 0 0 0 0 0 8 (1)LT(——):试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT(——)=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8。 (2)BI(—):灭灯输入,是为控制多位数码显示的灭灯所设置的。BI(—)=0时。不论LT(——)和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极数码管熄灭。 (3)RBI(——-):灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI(——-)=0作用下,使译码器输出全为高电平。其结果和加入灭灯信号的结果一样,将0熄灭。 (4)RBO(———):灭零输出,它和灭灯输入BI(—)共用一端,两者配合使用,可以实现多位数码显示的灭零控制。 3、译码器与显示器的配套使用 译码是把给定的代码进行翻译,本设计即是将时、分、秒计数器输出的四位二进制数代码翻译为相应的十进制数,并通过显示器显示,通常显示器与译码器是配套使用的。我们选用的七段译码驱动器(74LS47)和数码管(LED)是共阳极接法(需要输出低电平有效的译码器驱动)。
译码显示电路 (五)校时电路 1、RS触发器基本RS触发器 R(—) S(—) Q Q(—) 说 明 0 1 1 0 1 1 0 0 0 1 0或1 1 1 0 1或0 1 置0 置1 保持原来状态 不正常状态,0信号消失后,触发器状态不定 2、无震颤开关电路 无震颤开关电路的原理:当开关K的刀扳向1点时,S(—)=0,R(—)=1,触发器置1。S(—)端由于开关K的震颤而断续接地几次时,也没有什么影响,触发器置1后将保持1状态不变。因为K震颤只是使S(—)端离开地,而不至于使R(—)端接地,触发器可靠置1。 当开关K从S(—)端扳向R(—)端时,有同样的效果,触发器可靠置0。从Q端或Q(—)端反映开关的动作,输出电平是稳定的。 3、校时电路的实现原理 当电子钟接通电源或者计时发现误差时,均需要校正时间。校时电路分别实现对时、分的校准,由于4个机械开关具有震颤现象,因此用RS触发器作为去抖动电路。采用RS基本触发器及单刀双掷开关,闸刀常闭于2点,每搬动一次产生一个计数脉冲,实现校时功能.
❺ 数字钟电路设计
根据设计任务和要求,对照数字电子钟的框图,可以分以下几部分进行模块化设计。
1. 秒脉冲发生器
脉冲发生器是数字钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体振荡器发出的脉冲经过整形、分频获得1Hz的秒脉冲。如晶振为32768 Hz,通过15次二分频后可获得1Hz的脉冲输出.
2. 计数译码显示
秒、分、时、日分别为60、60、24、7进制计数器、秒、分均为60进制,即显示00~59,它们的个位为十进制,十位为六进制。时为二十四进制计数器,显示为00~23,个位仍为十进制,而十位为三进制,但当十进位计到2,而个位计到4时清零,就为二十四进制了。
周为七进制数,按人们一般的概念一周的显示日期“日、1、2、3、4、5、6”,所以我们设计这个七进制计数器,应根据译码显示器的状态表来进行,如表1.1所示。
按表1.1状态表不难设计出“日”计数器的电路(日用数字8代替)。
所有计数器的译码显示均采用BCD—七段译码器,显示器采用共阴或共阳的显示器。
Q4 Q3 Q2 Q1
显示
1 0 0 0
日
0 0 0 1
1
0 0 1 0
2
0 0 1 1
3
0 1 0 0
4
0 1 0 1
5
0 1 1 0
6
表1.1 状态表
3. 校时电路
在刚刚开机接通电源时,由于日、时、分、秒为任意值,所以,需要进行调整。
置开关在手动位置,分别对时、分、秒、日进行单独计数,计数脉冲由单次脉冲或连续脉冲输入。
4. 整点报时电路
当时计数器在每次计到整点前六秒时,需要报时,这可用译码电路来解决。即
当分为59时,则秒在计数计到54时,输出一延时高电平去打开低音与门,使报时声按500Hz频率呜叫5声,直至秒计数器计到58时,结束这高电平脉冲;当秒计数到59时,则去驱动高音1KHz频率输出而鸣叫1声。
五、参考电路
数字电子钟逻辑电路参考图如图1.3所示。
参考电路简要说明
1. 秒脉冲电路
由晶振32768Hz经14分频器分频为2Hz,再经一次分频,即得1Hz标准秒脉冲,供时钟计数器用。
2. 单次脉冲、连续脉冲
这主要是供手动校时用。若开关K1打在单次端,要调整日、时、分、秒即可按单次脉冲进行校正。如K1在单次,K2在手动,则此时按动单次脉冲键,使周计数器从星期1到星期日计数。若开关K1处于连续端,则校正时,不需要按动单次脉冲,即可进行校正。单次、连续脉冲均由门电路构成。
3. 秒、分、时、日计数器
这一部分电路均使用中规模集成电路74LS161实现秒、分、时的计数,其中秒、分为六十进制,时为二十四进制。从图3中可以发现秒、分两组计数器完全相同。当计数到59时,再来一个脉冲变成00,然后再重新开始计数。图中利用“异步清零”反馈到/CR端,而实现个位十进制,十位六进制的功能。
时计数器为二十四进制,当开始计数时,个位按十进制计数,当计到23时,这时再来一个脉冲,应该回到“零”。所以,这里必须使个位既能完成十进制计数,又能在高低位满足“23”这一数字后,时计数器清零,图中采用了十位的“2”和个位的“4”相与非后再清零。
对于日计数器电路,它是由四个D触发器组成的(也可以用JK触发器),其逻辑功能满足了表1,即当计数器计到6后,再来一个脉冲,用7的瞬态将Q4、Q3、Q2、Q1置数,即为“1000”,从而显示“日”(8)。
4.译码、显示
译码、显示很简单,采用共阴极LED数码管LC5011-11和译码器74LS248,当然也可用共阳数码管和译码器。
1. 整点报时
当计数到整点的前6秒钟,此时应该准备报时。图3中,当分计到59分时,
将分触发器QH置1,而等到秒计数到54秒时,将秒触发器QL置1,然后通过QL与QH相与后再和1s标准秒信号相与而去控制低音喇叭呜叫,直至59秒时,产生一个复位信号,使QL清0,停止低音呜叫,同时59秒信号的反相又和QH相与后去控制高音喇叭呜叫。当计到分、秒从59:59—00:00时,呜叫结束,完成整点报时。
2. 呜叫电路
呜叫电路由高、低两种频率通过或门去驱动一个三极管,带动喇叭呜叫。1KHz
和500Hz从晶振分频器近似获得。如图中CD4060分频器的输出端Q5和Q6。Q5输出频率为1024Hz,Q6输出频率为512Hz。
❻ 用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设计的电路图
其实不用定时中断也能实现功能:
#include<reg51.h> 主函数
unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组
unsigned int tmp;定义变量
void delay(unsigned int xms)定义延时函数
{unsigned int j,i;
for(i=0;i<xms;i++)
for(j=0;j<100;j++);
}
void disp()定义子函数
{
P1=tmp;
delay(1);
P2=0xff;
tmp=tmp<<1;
}
void main( )
{
unsigned char z,s=00,m=00,h=00;给时钟初始值
while(1)
{
for(z=0;z<100;z++)
{
tmp=0x01;
P2=tab[h/10];小时显示
disp();
P2=tab[h%10];
disp();
P2=tab[m/10];分钟显示
disp();
P2=tab[m%10];
disp();
P2=tab[s/10];秒显示
disp();
P2=tab[s%10];
disp();
}
s++;
while(s==60)秒进一位,到60清0
{
m++;
s=00;
}
while(m==60)分钟进一位,到60清0
{
h++;
m=00;
}
while(h==24)小时进一位,到24清0
{
h=00;
}
}
}
❼ 多功能数字电子钟
摘要:本文针对数字电子钟的设计要求,提出了一种基于EWB仿真软件设计数字电子钟的方法。系统由石英晶体振荡器,分频器,计数电路,译码显示电路,校时电路,整点报时电路组成,最终在EWB仿真下基本通过。关键词:EWB,数字电子钟,74160,分频器,计数器,晶体振荡电路一、课题名称:多功能数字电子钟
二、设计任务及要求:
1、有“时”、“ 分”、“ 秒”(23小时59分59秒)显示且有校时功能。(设计秒脉冲发生器)
2、有整点报时功能。(选:上下午、日期、闹钟等)
3、用中规模、小规模集成电路及模拟器件实现。
4、供电方式:AC220V 50HZ。(设计5V直流稳压电源)
三、 工作原理
数字电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和
报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。