(完整word版)多功能数字钟

合集下载

多功能数字钟

多功能数字钟

多功能数字钟设计一简介时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,人们对它的功能又提出了新的要求,怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。

本方案设计的多功能电子钟除了传统的显示时间功能之外还可以测试温度、电网频率、电压、并提供了过压报警、非接触止闹等功能。

其中温度采用AD590温度传感器电路测得,非接触止闹则采用红外控制技术实现。

二方案论证时钟模块方案方案一基本门电路搭建用基本门电路来实现数字钟,电路结构复杂,故障系数大,不易调试。

方案二单片机编程用单片机设计电路,由于使用软硬件结合的方式,所以电路结构简单、调试也相对方便。

与第一种方案比较优点是非常明显的。

我们选择了第二种方案测温模块方案方案一热电阻测温热电阻测量温度,精度和灵敏度都可以,但是它的电阻值与温度的线性关系不好.不便用数字的方法处理。

方案二热电偶测温热电偶是温度测量中应用最广泛的一种传感器 .在一般的测量和控制中,常用于中高温的温度检测.在测量中需要温度的冷端补偿,在数字电子中实现不方便方案三 AD590加运算放大器二端式半导体温度传感器 AD590的工作电压要求不高,测温的范围比较宽最重要的是它的输出电流是紧随温度变化的电流源,所以它的线性非常好.我们选择了这种方案。

测电压模块方案方案一取样测试。

用高速的取样电压取样,可得电压的峰值与主频率,并根据其电压大小进行相应的报警操作。

此方案功能实现复杂,造价相对较高,不适合一般的家用。

方案二测得电压有效值测电压的有效值的方法比较简单,可以把一段时间内的电压的整体情况反映出来 ,但不能测出电压的瞬时变化的情况,对电网的突然冲击不能测出.方案三测得峰值推得有效值。

交流电经过整流滤波后得到直流电压大小就是交流电的峰值,分压测出此电压大小,后根据交流电有效值和峰值的关系可推得有效值。

这种方案采用的电路简单,实现方便,易于调试,精度较高,为我们的设计采用。

多功能数字钟说明书

多功能数字钟说明书
单片机底座部分可以最先焊,把电源、地等连好,如EA要接低电平,否则就用片外存储器了。下载器接口则按照教材P240所画的图来进行连接,需要注意的是用于焊接的为短脚,不能颠倒。时钟部分比较简单,因为瓷片电容和晶振没有正负极,但要注意晶振、电容得靠近单片机底座。发光二极管(需要外加一个1K的电阻限流)接在p1.0口,作为最小系统的显示部分。
图6主程序流程图
6.2电路调试
6.2.1焊接调试过程
在焊接之前,先要对构成系统的所有元器件总体布局,这方便后面的硬件电路的调试。
首先,按照上课时的要求,焊接单片机的最小系统,包括单片机底座部分、电源部分、晶振、复位部分以及一个发光二极管。
电源部分:使用5V直流电源变压器的接口,插孔最后面的一个引脚为电源正极,其他两个引脚为接地。电源要经过一个可以锁定的开关,因为开关是六个引脚的,为了搞清哪两个引脚可以使用,分别在按下和松开的情况下,我用万用表测试了引脚之间的通断情况。后来经过检测找到其中一对引脚在按下通,松开时断,所以使用此两个引脚。因为整个电路图中有较多部分都要用到接地和接电源,所以为了方便焊接,将电源和地线分别连接至万用板的外围上。这样方便检查错误,接线时要规范,黑线表示接地,红线表示接电源。电源焊完之后,按下开关电源指示灯可以正常地发光。
五、系统硬件设计
5.1 51单片机最小系统设计
单片机最小系统如下图所示
以STC89C51单片机为核心,选用12MHZ的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF的电容作为起振电容。复位电路为按键高电平复位,当按键按下,RES端为高电平,当高电平持续4us的时间就可以使单片机复位。

多功能电子时钟范文

多功能电子时钟范文

多功能电子时钟范文电子时钟是一种计时设备,利用电子技术实现精确计时。

除了显示时间外,多功能电子时钟还具备多种功能。

本文将介绍一款多功能电子时钟的设计和功能。

设计理念:外观设计:功能设计:1.时间显示功能:多功能电子时钟应该能够准确地显示时间,包括小时、分钟和秒钟。

时间显示应采用大字体和明亮的背光,以便用户在光线较暗的地方也能够清楚地看到时间。

2.闹钟功能:多功能电子时钟应该具备可调节的闹钟功能,用户可以根据个人需求设置闹钟时间,并选择闹铃音乐或音效。

闹钟也应该有渐增音量和可选的重复闹钟功能。

3.定时功能:多功能电子时钟可以设置定时器,用户可以通过设置定时器来提醒自己做一些重要事情,如烹饪、瑜伽或学习。

定时器应该具有可调节时间长度和提醒方式的功能。

4.温湿度显示功能:多功能电子时钟应该能够实时显示当前的室温和湿度,以便用户了解环境的变化。

温湿度显示应该采用直观的图表或图标,用户可以很容易地看到温湿度的变化趋势。

5.日历功能:多功能电子时钟应该具备日历功能,能够显示当前的日期和星期。

用户可以通过日历功能来了解日期,特殊节日和重要事件等。

6.无线充电功能:多功能电子时钟可以内置无线充电模块,用户可以通过将兼容的设备放在多功能电子时钟上进行无线充电。

7.音乐播放功能:多功能电子时钟可以具备音乐播放功能,用户可以通过蓝牙连接或USB连接播放自己喜欢的音乐。

8.倒计时功能:多功能电子时钟具备倒计时功能,用户可以通过设定倒计时来提醒自己完成项任务或活动的时间。

总结:多功能电子时钟的设计应该注重实用性、美观性和用户体验。

通过合理的功能布局和直观的操作界面,用户可以轻松使用多功能电子时钟提供的各种功能。

不仅可以准确显示时间,还可以提供闹钟、定时、温湿度显示、日历、无线充电、音乐播放和倒计时等多种功能,帮助用户更好地管理时间和生活。

多功能电子时钟说明文档

多功能电子时钟说明文档

Delay_Nms(1); Week = RandomRead_I2C(0x08); Delay_Nms(1); //Init_Time();
//主循环 while(1) {
WDTRST=0x3c; //由于在按键调节 分钟 的时候要停定时器 2,这时不能在定时 器喂狗,故到主程序里喂狗;
SpitTime(); //拆分时间数据
四、硬件电路图
VCC
+
89S52
VCC P 1
S22
41
R1 6
32
4 P INKE Y 1 K
C J3 R1 7
1 0 UF
10K
C2 20P
Y2
1 1 .0 5 9 2 M Hz
C3 20P
D B 11 D B 22 D B 33 D B 44 D B 55 D B 66 D B 77 D B 88
1 2 3 4 5 6 7 8 9
VCC 1 0 K
F M VCC
DIOL A
R 1 8 1 8b 1 8 B2 0 S CL S DA
c
e
Q1 P NP
89S51
VCC
WR
RD
R2 2 R2 3
10K 10K
V SS 4
U6
1 2 3
A0 A1 A2
S D5A S C6L
7
S DA S CL WP
Init_MCU(); //初始化 MCU Init_I2C(); //初始化 I2C Init_LCD(); //初始化 LCD1602 Init_Time(); //先初始化时间和先读 I2C 有区别。先初始化时间:以后开机的时间是从 I2C 读出,初始化失效。

多功能数字钟

多功能数字钟

多功能数字钟1引言:数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。

数字钟适用于自动打铃、自动广播,也适用于节电、节水及自动控制多路电器设备。

它是由数子钟电路、定时电路、放大执行电路、电源电路组成。

为了简化电路结构,数字钟电路与定时电路之间的连接采用直接译码技术。

具有电路结构简单、动作可靠、使用寿命长、更改设定时间容易、制造成本低等优点。

数字钟是采用数字电路实现“时”、“分”、“秒”数字显示的计时装置。

钟表的数字化在提高报时精度的同时,也大大扩展了它的功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

从有利于学习的角度考虑,这里主要介绍以中小规模集成电路设计数字钟的方法。

总体框图及分析系统总体框图及分析2系统2.1总体原理框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。

由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ 时间信号必须做到准确稳定。

通常使用石英晶体振荡器电路构成数字钟。

图2.1所示为数字钟的一般构成框图。

图2.1系统原理框图1.晶体振荡器电路:晶体振荡器电路给数字钟提供一个频率稳定准确的32768HZ的方波信号,可保证数字钟的走时准确及稳定。

不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。

2.分频器电路:分频器电路将32768HZ的高频方波信号经32768(152)次分频后得到1Hz的方波信号供秒计数器进行计数。

分频器实际上也就是计数器。

3.时间计数器电路:时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器。

多功能数字钟

多功能数字钟

多功能数字钟课程设计报告【设计题目】多功能数字钟设计【基本要求】由振荡器输出稳定的高频脉冲信号作为时间基准,经分频器输出标准的秒脉冲,秒计数器满60向分计数器进位,分计数器满60向小时计数器进位,小时计数器按“12翻1”规律计数,计数器经译码器送到显示器;计数出现误差可用校时电路进行校时、校分、校秒,可发挥部分:使闹钟具有可整点报时与定时闹钟的功能。

【设计方式和要求】1、在电脑上应用虚拟电子工作台(EWB)进行设计、调试、仿真;2、要求有课题综述,电路设计框图,逻辑电路计算图,可在EWB模拟运行通过;3、每人独立完成课程设计和报告的撰写。

4、进行电脑演示课程设计答辩,时间10分钟;5、答辩后交课程设计报告(包括纸质报告和电子版)。

【设计原理】1、总体设计方案:多功能数字钟原理框架如图1所示,电路包括以下几个部分:脉冲信号发生器、2、各部分功能实现原理:(1)脉冲信号发生器:数字钟计时的标准信号应该是频率为1H Z的秒脉冲信号,因此必须制作一个秒脉冲信号发生器作为标准的时间源。

而较时电路较秒时又要求所用的脉冲信号>1H Z。

这里可以先制作振荡器,然后通过分频电路得到所需的脉冲信号。

①振荡器:振荡器是计时器的核心部分,其作用是产生一个标准频率的脉冲信号,而振荡频率的准确率决定了数字钟的质量。

图2中振荡器部分采用的是由集成电路555计时器和RC组成的多谐振荡器,输出的脉冲频率F=1/T=1/[0.7(R1+2R2)C]=4H Z,振荡周期T=0.7(R1+2R2)C=0.25 S。

②分频电路:由于所制作的振荡器的振荡频率并非我们所需要的频率,因此需要分频电路产生我们所需的振荡频率。

图2中分频电路由一片7474芯片构成,该芯片上有两组D触发器,这里通过转换电路得到两组T’触发器。

振荡器所产生的脉冲信号经过第一组T’触发器后频率变为F1=2Hz,周期为T1=0.5 s,这里选取该脉冲信号作为较时脉冲信号,接入较时电路中。

(完整word版)Verilog数字钟设计实验报告

(完整word版)Verilog数字钟设计实验报告

基于FPGA实现多功能数字钟——电子系071180094王丛屹摘要本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,并通过ISE完成综合、仿真.此程序通过下载到FPGA 芯片后,可应用于实际的数字钟显示中,实现了基本的计时显示和设置,调整时间,闹钟设置的功能.[关键词]FPGA;Verilog HDL;数字钟一、多功能数字钟的设计设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。

能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示.能够利用按键实现“较时”、“较分"功能,随时对数码管的显示进行校正和校对.数字中系统主要由系统时钟,三个功能按键(mode,turn ,change ),FPGA ,数码管和蜂鸣器部分组成。

图: 多功能数字钟总体设计模块 以下就各个模块说明其功能1. 分频模块由于FPGA内部提供的时钟信号频率大约为50MHz,在这需要将它转化成1Hz的标准时钟信号供数字钟的计时显示;在此我采用了级联分频法.RTL图如下:代码如下:always @(posedge clk_1)if ( cnt2 〈156/2—1)/////////////////////////////////////100分频,生成10000Hz信号begincnt2 〈= cnt2 + 1;endelsebegincnt2 〈= 0;clk_2 <= ~clk_2;endalways @(posedge clk_2)if ( cnt5 〈10/2-1) /////////////////////////////////////////10分频,生成1kHz标准信号begincnt5〈= cnt5 + 1;endelsebegincnt5〈= 0;clk_1k〈= ~clk_1k;endalways @(posedge clk_2)if ( cnt3 < 100/2—1)//////////////////////////////////////////100分频,生成100Hz信号begin最终输出的是1Hz,100Hz,1kHz的标准时钟信号clk_1Hz ,clk_100Hz,clk_1k。

多功能数字钟-电子设计

多功能数字钟-电子设计

多功能数字钟-电子设计设计一个多功能数字钟,可以显示时间、日期、温度,并能设置闹钟和倒计时功能。

电子设计:1.采用LED数码管显示时间、日期、温度,可以选择7段数码管或者共阳共阴的数码管。

2.采用实时时钟芯片,能够准确读取时间和日期。

3.通过温度传感器读取室内温度,并在数码管上显示。

4.设计按钮控制系统,包括设置时间、日期、闹钟和倒计时功能。

5.设置闹钟功能,可以设定每天重复或只响一次,并能够自定义铃声。

6.设置倒计时功能,可以设定倒计时时间,并能够显示剩余时间。

7.设计电源接口,可以使用电池或外部电源供电。

硬件设计:1.使用微控制器作为控制中心,控制LED数码管的显示和按钮的输入。

2.将实时时钟芯片连接到微控制器,通过I2C或SPI协议读取时间和日期。

3.连接温度传感器与微控制器,通过模拟输入端口读取温度值。

4.设计按钮接口,将按钮连接到微控制器的GPIO引脚,用于接收用户的操作。

5.设计蜂鸣器接口,通过微控制器生成不同频率的信号,作为闹钟铃声。

软件设计:1.编写微控制器的固件程序,实现读取时间、日期、温度的功能。

2.实现LED数码管的驱动程序,将时间、日期、温度的数值转换成相应的LED显示。

3.编写按钮的中断服务程序,实现按钮的响应和功能切换。

4.设计闹钟功能的逻辑,根据用户的设定时间和铃声选择,启动闹钟。

5.设计倒计时功能的逻辑,根据用户设定的倒计时时间,显示剩余时间并发出提醒。

6.设计设置功能的菜单,通过按钮操作进入不同的设置界面。

7.实现电源管理功能,可以根据用户选择使用电池或外部电源供电。

8.调试和测试系统的各项功能,确保稳定性和准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五多功能数字钟一、实验内容1.通过ModelSim软件,运用Verilog语言编程实现多功能数字钟功能。

二.实验要求及原理1.实验要求设计计数器多功能数字钟及分频器,并进行功能仿真。

2.实验原理数字钟是一个最常用的数字系统,其主要功能是计时和显示时间。

这里通过一个数字钟表的模块化设计方法,说明自顶向下的模块化设计方法和实现一个项目的设计步骤。

这里实现的电子表具有显示和调时的基本功能,可以显示时、分、秒和毫秒,并通过按键进行工作模式选择,工作模式有4种,分别是正常计时模式、调时模式、调分模式、调秒模式。

构成电子表的基本模块有四个,分别是时钟调校及计时模块myclock、整数分频模块int_div、时钟信号选择模块clkgen和七段显示模块disp_dec。

(1)时钟调校及计时模块时钟调校及计时模块myclock实现的功能是根据当前的工作状态进行时、分、秒的调整或正常的计时。

module myclock(RSTn,CLK,FLAG,UP,DN,H,M,S,MS);input RSTn,CLK,UP,DN;output [7:0]H,M,S;output [7:0]MS;input [1:0]FLAG;reg [5:0]m_H,m_M,m_S;reg [6:0]m_MS;assign H=m_H;assign M=m_M;assign S=m_S;assign MS=m_MS;always@(posedge CLK)if(~RSTn)beginm_H<=8'd23;m_M<=8'd52;m_S<=8'b0;m_MS<=8'b0;endelse if(FLAG==2'b01)beginif(UP)beginif(m_H==8'd23)m_H<=8'd0;elsem_H<=m_H+1'b1;endelse if(DN)beginif(m_H==8'h00)m_H<=8'd23;elsem_H<=m_H-1'b1;endendelse if(FLAG==2'b10)beginif(UP)beginif(m_M==8'd59)m_M<=8'd0;elsem_M<=m_M+1'b1;endelse if(DN)beginif(m_M==8'h00)m_M<=8'd59;elsem_M<=m_M-1'b1;endendelse if(FLAG==2'b11)beginif(UP)beginif(m_S==8'd59)m_S<=8'd0;elsem_S<=m_S+1'b1;endelse if(DN)beginif(m_S==8'h00)m_S<=8'd59;elsem_S<=m_S-1'b1;endendelsebeginif(m_MS==8'd99)beginm_MS<=8'd0;if(m_S==8'd59)beginm_S<=8'd0;if(m_M==8'd59)beginm_M<=8'd0;if(m_H==8'd23)m_H<=0;elsem_H<=m_H+1'b1;endelsem_M<=m_M+1'b1;endelsem_S<=m_S+1'b1;endelsem_MS<=m_MS+1'b1; endendmodule(2)整数分频模块由于数字系统提供的基准时钟信号的频率往往比较高,因此需要分频模块产生所需频率的时钟信号,例如上面时钟调校及计时模块所需的100 Hz的时钟信号。

整数分频模块int_div可以实现对输入时钟clock进行F_DIV分频后输出clk_out。

F_DIV分频系数范围为1~2n (n=F_DIV_WIDTH),若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。

若分频系数为偶数,则输出的时钟占空比为50%;若分频系数为奇数,则输出的时钟占空比取决于输入的时钟占空比和分频系数(当输入为50%时,输出也是50%)。

module int_div(clock,clk_out);parameter F_DIV=48000000;parameter F_DIV_WIDTH=32;input clock;output clk_out;reg clk_p_r;reg clk_n_r;reg[F_DIV_WIDTH-1:0]count_p;reg[F_DIV_WIDTH-1:0]count_n;wire full_div_p;wire half_div_p;wire full_div_n;wire half_div_n;assign full_div_p=(count_p<F_DIV-1);assign half_div_p=(count_p<(F_DIV>>1)-1);assign full_div_n=(count_n<F_DIV-1);assign half_div_n=(count_n<(F_DIV>>1)-1);assign clk_out=(F_DIV==1)?clock:(F_DIV[0]?(clk_p_r&clk_n_r):clk_p_r);always@(posedge clock)beginif(full_div_p)begincount_p<=count_p+1'b1;if(half_div_p)clk_p_r<=1'b0;elseclk_p_r<=1'b1;endelsebegincount_p<=0;clk_p_r<=1'b0;endendalways@(negedge clock)beginif(full_div_n)begincount_n<=count_n+1'b1;if(half_div_n)clk_n_r<=1'b0;elseclk_n_r<=1'b1;endelsebegincount_n<=0;clk_n_r<=1'b0;endendendmodule(3)时钟信号选择模块时钟信号选择模块clkgen实际上是一个二选一电路,用于提供时钟调校及计时模块所需的时钟脉冲。

当电子表工作在正常计时状态时选择100 Hz时钟信号;当电子表工作在调时、调分、调秒三种设置模式时,如果采用100 Hz时钟信号,那么手动按键一次可能引起设置数据的一串跳变,因此为了方便按键动作对时间的设置,这里采用2 Hz的时钟信号。

module clkgen(flag,clk_100hz,clk_2hz,clkout);input[1:0]flag;input clk_100hz,clk_2hz;input clk_100hz,clk_2hz;output clkout;assign clkout=(flag==2'b00)?clk_100hz:clk_2hz;endmodule(4)七段显示模块1.BCD码显示模块BCD码显示模块的功能是将8位二进制数转换为2位十进制数后,进行七段译码显示。

为了实现显示功能,在其内部调用了dual_hex 2位七段显示模块。

module disp_dec(hex,dispout);input[7:0]hex;output[15:0]dispout;reg[7:0]dec;always@(hex)begindec[7:4]=hex/4'd10;dec[3:0]=hex%4'd10;enddual_hex u1(1'b0,dec,dispout);endmodule2.2位七段显示模块2位七段显示模块的功能是将2位十进制或十六进制数转换为对应的七段段码,内部调用了一位七段译码模块seg_decoder。

module dual_hex(iflag,datain,dispout);input iflag;input [7:0]datain;output [15:0]dispout;seg_decoder u1(iflag,datain[7:4],dispout[15:8]);seg_decoder u2(iflag,datain[3:0],dispout[7:0]);endmodule3.1位七段译码模块1位七段译码模块的功能是将4位二进制数转换为对应的共阴或共阳七段段码。

module seg_decoder(iflag,iA,oY);input iflag;input[3:0] iA;output reg[7:0] oY;always@(iflag,iA)begincase(iA)4'b0000:oY=8'h3f;4'b0001:oY=8'h06;4'b0010:oY=8'h5b;4'b0011:oY=8'h4f;4'b0100:oY=8'h66;4'b0101:oY=8'h6d;4'b0110:oY=8'h7d;4'b0111:oY=8'h27;4'b1000:oY=8'h7f;4'b1001:oY=8'h6f;4'b1010:oY=8'h77;4'b1011:oY=8'h7c;4'b1100:oY=8'h58;4'b1101:oY=8'h5e;4'b1110:oY=8'h79;4'b1111:oY=8'h71;endcaseif(!iflag)oY=~oY;endendmodule(5)顶层模块的实现顶层模块是将各功能模块连接起来,实现电子表的完整功能。

module clock(iCLK_50,RSTn,FLAG,UP,DN,H_dis,M_dis,S_dis,MS_dis,Mode,H,M,S); input iCLK_50;input RSTn,UP,DN;input [1:0]FLAG;output [1:0]Mode;output [15:0]H_dis,M_dis,S_dis,MS_dis;output [7:0]H,M,S;wire [7:0]MS;wire clk_100hz,clk_2hz;wire clk;assign Mode=FLAG;int_div #(500000,32) nclk100(iCLK_50,clk_100hz);int_div #(50000000,32) nclk2(iCLK_50,clk_2hz);clkgen u0(FLAG,clk_100hz,clk_2hz,clk);myclck u1(RSTn,clk,FLAG,UP,DN,H,M,S,MS);disp_dec Hour(H,H_dis);disp_dec Minute(M,M_dis);disp_dec Second(S,S_dis);disp_dec hour(MS,MS_dis);endmodule三.实验内容(1)Testbench设计为实现数字钟正常工作的仿真,设计相应的激励文件,参数根据仿真需要可做出相应修改。

相关文档
最新文档