一、设计目的
1 熟悉集成电路的引脚安排。

2 掌握各芯片的逻辑功能及使用方法。
3 了解面包板结构及其接线方法。
4 了解数字钟的组成及工作原理。
5 熟悉数字钟的设计与制作。
二、设计要求
1.设计指标时间以24小时为一个周期;显示时、分、秒;有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。
2.设计要求画出电路原理图(或仿真电路图);元器件及参数选择;电路仿真与调试;PCB文件生成与打印输出。
3.制作要求 自行装配和调试,并能发现问题和解决问题。
4.编写设计报告 写出设计与制作的全过程,附上有关资料和图纸,有心得体会。三、设计原理及其框图1.数字钟的构成数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。
图 3-1所示为数字钟的一般构成框图。
图3-1 数字钟的组成框图⑴晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。
⑵分频器电路 分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。
⑶时间计数器电路 时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。
⑷译码驱动电路
译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
⑸数码管 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
2.数字钟的工作原理1)晶体振荡器电路晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。图3-2所示电路通过CMOS非门构成的输出为方波的数字式晶体振荡电路,这个电路中,CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电 阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。晶体XTAL的频率选为32768HZ。该元件专为数字钟电路而设计,其频率较低,有利于减少分频器级数。从有关手册中,可查得C1、C2均为30pF。当要求频率准确度和稳定度更高时,还可接入校正电容并采取温度补偿措施。由于CMOS电路的输入阻抗极高,因此反馈电阻R1可选为10MΩ。较高的反馈电阻有利于提高振荡频率的稳定性。非门电路可选74HC00。
图3-2 COMS晶体振荡器2)分频器电路通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。通常实现分频器的电路是计数器电路,一般采用多级2进制计数器来实现。例如,将32768Hz的振荡信号分频为1HZ的分频倍数为32768(215),即实现该分频功能的计数器相当于15极2进制计数器。常用的2进制计数器有74HC393等。本实验中采用CD4060来构成分频电路。CD4060在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。CD4060计数为14级2进制计数器,可以将32768HZ的信号分频为2HZ,其内部框图如图3-3所示,从图中可以看出,CD4060的时钟输入端两个串接的非门,因此可以直接实现振荡和分频的功能。图3-3 CD4046内部框图3)时间计数单元时间计数单元有时计数、分计数和秒计数等几个部分。时计数单元一般为12进制计数器计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码。一般采用10进制计数器74HC390来实现时间计数单元的计数功能。为减少器件使用数量,可选74HC390,其内部逻辑框图如图 23所示。该器件为双2—5-10异步计数器,并且每一计数器均提供一个异步清零端(高电平有效)。图3-4 74HC390(1/2)内部逻辑框图秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图3-5所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。
图3-5 10进制——6进制计数器转换电路分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为12进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行12进制转换。利用1片74HC390实现12进制计数功能的电路如图3-6所示。另外,图3-6所示电路中,尚余-2进制计数单元,正好可作为分频器2HZ输出信号转化为1HZ信号之用。图3-6 12进制计数器电路4)译码驱动及显示单元计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流,选用CD4511作为显示译码电路,选用LED数码管作为显示单元电路。5)校时电源电路当重新接通电源或走时出现误差时都需要对时间进行校正。通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数或将频率较高的方波信号加到需要校正的计数单元的输入端,校正好后,再转入正常计时状态即可。根据要求,数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。图3-7所示即为带有基本RS触发器的校时电路,图3-7 带有消抖动电路的校正电路6)整点报时电路一般时钟都应具备整点报时电路功能,即在时间出现整点前数秒内,数字钟会自动报时,以示提醒。其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示。根据要求,电路应在整点前10秒钟内开始整点报时,即当时间在59分50秒到59分59秒期间时,报时电路报时控制信号。报时电路选74HC30,选蜂鸣器为电声器件。四、元器件1.实验中所需的器材5V电源。面包板1块。示波器。万用表。镊子1把。剪刀1把。网络线2米/人。共阴八段数码管6个。CD4511集成块6块。CD4060集成块1块。74HC390集成块3块。74HC51集成块1块。74HC00集成块5块。74HC30集成块1块。10MΩ电阻5个。500Ω电阻14个。30p电容2个。32768k时钟晶体1个。蜂鸣器。2.芯片内部结构图及引脚图
图4-1 7400 四2输入与非门 图4-2 CD4511BCD七段译码/驱动器图4-3 CD4060BD 图4-4 74HC390D 图4-5 74HC51D 图4-6 74HC303.面包板内部结构图
面包板右边一列上五组竖的相通,下五组竖的相通,面包板的左边上下分四组,每组中X、Y列(0-15相通,16-40相通,41-55相通,ABCDE相通,FGHIJ相通,E和F之间不相通。
五、个功能块电路图1. 一个CD4511和一个LED数码管连接成一个CD4511驱动电路,数码管可从0---9显示,以次来检查数码管的好坏,见附图5-1。图5-1 4511驱动电路2. 利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00连接成一个十进制计数器,电路在晶振的作用下数码管从0—9显示,见附图5-2。图5-2 74390十进制计数器3. 利用一个LED数码管,一块CD4511,一块74HC390,一块74HC00和一个晶振连接成一个六进制计数器,数码管从0—6显示,见附图5-3。图5-3 74390六进制计数器4. 用一个六进制电路和一个十进制连接成一个六十进制电路,电路可从0—59显示,见附图5-4图5-4 六十进制电路5. 利用两个六十进制的电路合成一个双六十进制电路,两个六十进制之间有进位,见附图5-5。
图5-5 双六十进制电路6. 利用CD4060、电阻及晶振连接成一个分频——晶振电路,见附图5-6。图5-6 分频—晶振电路7. 利用74HC51D和74HC00及电阻连接成一个校时电路,见附图5-7。图5-7 校时电路8. 利用74HC30和蜂鸣器连接成整点报时电路。见附图5-图5-8 整点报时电路9. 利用两个六十进制和一个十二进制连接成一个时、分、秒都会进位的电路总图,见附图5-9。
用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设计的电路图
数字电子钟逻辑电路设计
一、实验目的:
1、掌握数字钟的设计方法;
2、熟悉集成电路的使用方法。
二、设计任务和要求:
1、设计一个有“时”,“分”,“秒”(23小时59分59秒)显示且有校时功能的电子钟;
2、 用中小规模集成电路组成电子钟;
3、画出框图和逻辑电路图,写出设计报告;
4、选做:①闹钟系统。②整点报时。③日历系统。
三、方案选择和论证:
1.分秒功能的实现:用两片74290组成60进制递增计数器
2时功能的实现:用两片74290组成24进制递增计数器
3.定点报时:当分秒同时出现为0时,灯亮。
4日历系统:月跟日分别用2片74192实现,月份就接成12进制,日则接成31进制,星期由1片74192组成7进制,从星期一至星期天。
四、方案的设计:
1、可调时钟模块:
秒、分、时分别为60、60和24进制计数器。用两片74LS290做一个二十四进制, 输入计数脉冲CP加在CLKA’端,把QA与与CPLB’从外部连接起来,电路将对CP按照8421BCD码进行异步加法计数。通过反馈端,控制清零端清零,其中个位接成二进制形式,十位接成四进制形式。其电路图如下:
同理利用两片74290组成的六十进制计数器,如下图所示
将两个六十进制的加法计数器和一个二十四进制的加法计数器进行级联:将秒的十位进位脉冲接到分的个位输入脉冲,将分的十位进位脉冲接到时的个位输入脉冲,这样就可以组成最基本的电路。
2校时电路:
例如说时的校准,开关1上端接1HZ脉冲,下端接分的进位。当开关打到上端时电路进入校准功能,当开关打到下端时电路进入正常计时功能。其电路如总电路图所示
3整点报时:
分别用2个或非门接到分和秒的各输出个节点处,再用一个与非门与报时灯链接,当输出同时为零时,即整点时,报时灯就亮了,起到报时功能。本实验使用LED发光(1s),其电路图如下:
4日历系统:
月和日都用2片74192实现。月份功能则接成13进制,因为月份分日都是从1开始计起,所以要求从0001开始,到1101时,立刻清零,清零时应该切换到置数状态,即将ABCD置1000,通过一个与非门链接到LOAD端置零,同时也将计数器置为0001的状态。其电路图如下所示
日功能74192三十一进制电路图:
总电路图:
四、电路调试:

调试这部分工作在EWB仿真软件上进行。对于电路的调试应该分为几个部分,分别对电路各个部分的功能都进行调试,之后,每连接一部分都要调试一次。
在实现日历系统时,如月份需要显示灯显示1~31。一开始以为只把计数器链接成三十一进制即可,结果显示灯只显示0~30,没有自己预期的结果。经过仔细思考,要把0去掉不显示,从1开始显示,而还要显示31。经过查书,最后,知道开始需置数成0001状态,到1000才清零,清零的同时回到置数0001状态,通过多次链接、测试,终于实现了。
在实现校时功能过程中,由于之前想得太过复杂了,浪费了大量时间,最后,经过上网搜索,到图书馆查书,简单的用了个开关连接到脉冲实现了。
用Multisim100画出多功能数字钟电路图并仿真。
其实不用定时中断也能实现功能:
#include<reg51h> 主函数
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;

}
}
}
74LS90是10进制计数器,用两个74LS90,第一个设为8进制,第二个设为3进制,就可以设计出24进制。再用两个74LS90,第一个10进制,第二个6进制,就可以设计出60进制的计数器,用一个与或非门或与或门引出进位信号。计数器的输出通过编码器或者不需要接到LED上,共6个LED。秒的输入为1Hz的信号,秒的进位是分的进位。电路很简单的,没有什么难度


