汽车电子钟设计f4资料

合集下载

电子钟的制作详解

电子钟的制作详解

焊接步骤
• 检查零件是否齐全。该套件所有零件不多 不少,缺少1个零件,系统将不能正常工作。
• 用万用表检查电阻的阻值。也可以根据色 环读取阻值。
色环读取
色环颜色
看电路板
三极管 二极管
电阻
短接线
电容
• 线焊接低矮的器件,有短接线、电阻、二 极管。短接线使用提供的红色导线,或者 使用电阻、电容剪切下来的导线,安置在 器件一侧。
焊接显示器
按键焊接
• 因为制作工艺的原因,按键不能够突出壳 体外部。要求在按键下面垫起一定高度。
按键离开电 路板一定高 度
电源和喇叭
• 电源由变压器引出至电路板。变压器粉原 边和副边。蓝色为副边,接至电路板的V6 焊点。
原边要 套上热 缩管焊 接,以 保证绝 缘
完成
电路板查
• 焊接完成后,必须检查,并经过老师允许 后才能加电。 电源检查 • 用万用表测量电源正和负之间是否短路。 元件方向检查:电解电容,二极管,三极 管,数码管,IC座。
三极管焊接
• 有4种三极管。注意识别和引脚标识。。
自锁开关
• 6脚自锁开关,2对,有常开触点和常闭触 电点。
左边2个应该 是常开触点, 按下后连通。
右边2个应该 是常闭触点, 按下后断开。 但是电路板焊 接后始终连通
焊接显示器
• LED显示器焊盘不容易着焊锡。可以实现涂 抹助焊剂,或者多点焊锡。用18根排线焊 接。 • 注意各个焊点方向,按照说明书焊接。
注意二 极管的 方向: 有白色 条的是 阴极。
焊点要达到的要求
焊锡基 本能够 填满焊 盘,成 锥形体。 剪掉多 余的引 脚导线。
芯片座焊接
• 有2个芯片座。28脚2.0座、16脚2.54座。28 脚座不是很规范。

简易电子钟的设计与实现

简易电子钟的设计与实现

简易电子钟的设计与实现电子钟是一种普遍使用的计时设备,它便利性与实用性使其成为家庭、学校、办公室等各个场所的重要组成部分。

本文将介绍一种简易电子钟的设计和实现,希望读者在本文的指导下,能够自己动手制作一款属于自己的电子钟。

1. 硬件选购制作电子钟需要一些硬件设备,在硬件选购时,需要考虑以下因素:- 显示器件:显示器件如LED点阵和数码管是电子钟的重要组成部分,我们可以选择4位LED数码管或者128*64 OLED显示屏。

- 控制器:控制器有多种选择,我们可以使用Arduino单片机或者STM32单片机,这两个均为常用的开发板,容易上手,支持多种编程语言。

- 时间模块:时间模块用于获取当前时间,我们可以选择DS1302时钟模块或者DS3231高精度时钟模块。

- 其他器件:红外遥控模块,蜂鸣器等辅助器件,可以根据需要选择。

2. 硬件连接在确定所需器件后,首先需要对这些器件进行连接,连接方式如下:- 数码管:数码管有四根引脚,分别代表数码管的4位数码,分别对应数字0~9,连接数码管需要了解其引脚定义,我们可以根据不同原理图实现引脚连接。

- 控制器:控制器和显示器连接,通过控制器的输入输出端口和显示器的输入输出端口相连。

- 时间模块:时间模块通过IIC通讯协议与控制器相连。

- 其他器件:按照器件对应原理图进行连接。

3. 程序设计电子钟的最重要的部分是程序设计,通过编写程序,实现获取时间并在数码管或者显示屏上显示当前时间的功能。

电子钟的程序设计分为两个部分:硬件驱动和逻辑控制。

硬件驱动:硬件驱动是基础部分,用于控制指定端口的输入输出和基本的口蹦,例如我们需要实现时间的获取和进行控制,我们需要实现对时间模块进行操作的函数,例如读取时间,设置时间等功能。

逻辑控制:逻辑控制是电子钟的核心部分,它把硬件驱动和显示控制进行了结合,实现了时间的获取和显示。

逻辑控制程序主要包括以下几个部分:- 时间获取:获取时间模块的信息。

电子行业数字电子钟设计说明书

电子行业数字电子钟设计说明书

电子行业数字电子钟设计说明书1. 引言本文档旨在提供对数字电子钟的设计说明,为电子行业相关从业人员提供详细的设计方案和操作指南。

2. 设计目标数字电子钟的设计目标是提供准确、可靠且易于使用的时间显示功能。

具体需求如下:•数字显示:要求使用7段数码管显示小时和分钟。

•时间设置:用户能够通过按钮设置当前时间。

•时钟功能:能够准确地显示当前时间,并根据实时时钟模块同步时间。

•日期功能:可选功能,能够显示当前日期。

3. 硬件设计3.1 时钟模块选择在数字电子钟中,时钟模块是关键组件之一,它负责获取和维护时间信息。

常用的时钟模块有DS1302和DS3231等,我们可以根据实际需求选择适合的模块。

3.2 数码管显示数字电子钟需要使用7段数码管进行时间的显示。

这里可以选择常用的共阴极数码管或共阳极数码管,根据实际需求选择合适的型号和数量。

3.3 按钮输入为了方便用户设置时间,我们需要使用按钮来接收用户的输入。

通常使用矩阵按键或者触摸开关作为输入设备,以提供更好的用户体验。

3.4 控制电路数字电子钟的控制电路主要负责控制数码管显示、时钟模块的读取和按钮输入的响应。

可以选择单片机或者专用集成电路来实现控制功能。

4. 软件设计4.1 主控程序结构数字电子钟的软件设计主要包括主控程序的编写和时钟模块的驱动程序。

主控程序的结构如下:int mn(){// 初始化时钟模块InitClock();// 初始化按钮输入InitButton();while(1){// 读取当前时间ReadTime();// 检测按钮输入,根据用户的设置对时间进行调整CheckButton();// 更新数码管显示UpdateDisplay();}}4.2 时钟模块驱动程序时钟模块驱动程序负责与时钟模块进行通信,读取和更新时间信息。

根据所选择的时钟模块,编写相应的驱动程序,确保正确读取和设置时间。

4.3 按钮输入处理按钮输入处理程序负责检测按钮输入,并根据用户的操作进行相应的时间调整。

电子行业电子钟设计报告

电子行业电子钟设计报告

电子行业电子钟设计报告1. 引言在现代社会中,电子钟作为一种时间显示设备,被广泛应用于各个领域,例如办公室、学校、铁路站等。

本文将介绍电子行业电子钟的设计过程、功能要求以及原理。

2. 设计过程电子行业电子钟的设计过程可以分为如下几个步骤:2.1 确定需求首先,我们需要明确电子行业电子钟的功能需求。

根据电子行业的特点,我们需要考虑以下功能: - 精确的时间显示 - 大字体显示 - 高亮度显示- 易于操作和设置 - 耐用性和稳定性2.2 选取合适的硬件平台根据功能需求,我们需要选择合适的硬件平台来搭建电子钟。

一般来说,我们可以选择微控制器作为主控芯片,并结合数字显示器和时钟模块来实现计时和显示功能。

2.3 硬件电路设计在确定硬件平台后,我们需要设计电子钟的硬件电路。

电子时钟的主要电路包括时钟模块和显示模块。

时钟模块可以使用石英晶体振荡器来提供精确的时钟信号,而显示模块可以选择使用数码管或LCD来显示时间。

2.4 软件程序设计设计完硬件电路后,我们需要编写软件程序来控制硬件并实现各项功能。

软件程序需要包括时钟控制、显示控制、设置功能等。

2.5 调试和优化完成软件编程后,我们需要对系统进行调试和优化。

调试过程中,我们需要确保各项功能正常运作,并对性能进行测试和优化。

3. 功能要求根据电子行业的特点和用户需求,我们对电子行业电子钟的功能要求如下:3.1 精确的时间显示电子钟需要能够准确显示当前的时间,通过与标准时间源的同步,保证时间的准确性。

3.2 大字体显示电子钟需要采用大字体显示,以便用户能够清晰地看到时间。

3.3 高亮度显示电子钟需要具有高亮度的显示效果,以适应不同光照条件下的使用需求。

3.4 易于操作和设置电子钟需要配备简洁明了的操作界面,以方便用户进行时间设置和功能选择。

3.5 耐用性和稳定性电子钟需要具备较强的耐用性和稳定性,能够长时间稳定运行并抵抗外界干扰。

4. 原理电子行业电子钟的原理基于以下几个方面:4.1 时钟模块电子钟的时钟模块一般采用石英晶体振荡器作为时钟源。

电子时钟设计方案说明

电子时钟设计方案说明

单片机电子时钟的设计1.电子时钟元器件清单元件名称规格型号数量(个)单片机AT89S52 1显示驱动芯片74LS245 28位一体的共阳LED显示器7SEG-MPX8-CA-BLUE 1按键BUTTON 3电阻510Ω8电阻 4.7K 8二极管7404 8电阻10K 32.功能说明本系统的硬件主要包括单片机芯片、数码管显示、按键开关电路,它的硬件电路如原理图,单片机采用广泛的AT89C51,系统时钟采用12MHz的晶振,8个数码管显示,小时与分钟、分钟与秒钟之间用短横线间隔,采用共阳极七段式数码管,P0口为段选码输出端,通过74LS373与数码管相连,P2口为位选码输出端,分别通过二极管驱动与数码管阳极相连,二极管能对P2口输出信号取反。

按键开关设定了3个,通过P1口相连。

分为:a.主程序b.数码管显示模块(在本系统中数码管采用软件译码动态显示,在存储器中首先建立一张显示信息的字段码管,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码中查出显示所显示的信息的字段码,从P0口将对应的位选码输出,选中显示的数码管,就能在相应的数码管上显示显示缓冲区的内容。

)c.定时器/计数器T0中断服务程序d.按键处理模块(按键处理设置为:如没有按键,则时钟正常走时。

当按下K0按键时,进入调分状态,时钟停止走动;按K1和K2按可课进行家1或减1操作;继续按K0键课分别进行分和小时的调整;最后按K0键将推出调整状态,时钟开始计时运行。

)3.流程图开始显示单元清0T0、T1设为16位计数模式允许T0中断调用显示子程序按下键否?进入功能程序是否主程序流程图定时器/计数器T0中断服务程序流程图开始现场保护,重置初值 启动下一个50ms50ms 计数器加150ms 计数器=20秒单元加1,50ms 计数器清0是秒单元=60?分单元加1,秒单元清0是分单元=60?时单元加1,分单元清0是时单元=24?时单元清0是中断返回否否否否。

电子钟的设计说明书及电路图

电子钟的设计说明书及电路图
2)、整点时刻通过扬声器给出提示。
设计报告是电子技术综合训练课程的重要内容,是在设计完成后提交的技术报告,是对完成的设计系统性的总结和说明。通过设计报告的撰写,培养和锻炼学生科技文档写作的能力,培养和提高学生的计算机应用能力。
第二章
一、
按照基本要求设计的数字钟,数字形式显示时、分、秒,在分和秒之间显示“:”,并按1次/秒的速度闪烁;每日以24小时为一个记时周期;并且有校正功能,能够在任何时刻对电子钟进行方便的校正;要求在在电源方面是220V/50HZ的工频交流电供电。
5)、按照以上技术要求设计电路,绘制电路图,对设计的电路用Multisim或OrCAD/PspiceAD9.2进行仿真,用万用板焊接元器件,制作电路,完成调试、测试,撰写设计报告。
2、发挥部分:
1)、有定时闹叫功能,能够按照任意预先设置的时间闹叫,驱动小型扬声器工作,并要求在闹叫状态能够手动消除闹叫;
计时电路用以实现分、秒的分别计时,其中需要设计进制的转换,置数或者清零操作,芯片级联进位,显示信号输出,报时信号输出,校正电路的接入等。
如下图是秒、分计数器电路图和电路仿真结果图3.5分、秒计数器的设计,图3.6分、秒计数器的波形仿真
图3.6分、秒计数器的设计
图3.7分、秒计数器的波形仿真
3.4
时计数器同样和秒、分的计数器所用芯片和具备条件都是一样,只是把同样的两篇74LS160N计数器接成二十四进制的计数器,使得输出为~这二十四个数即可,在低位片的c端的输出于高位片的b端经过与非门74LS00N送给两片的清零信号端CLR,低位片的进位RCO端与高位片的使能端ENT和ENR相连构成进位信号。时计数器功能及接线图如下图3.7,时计数器的波形仿真图如下图3.8
摘要
数字电子钟实际上是一个对标准频率(1HZ)进行计数的计数电路。它将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时等附加功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器,校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。

电子钟课程设计说明书(有完整源码)

电子钟课程设计说明书(有完整源码)

安徽工程大学本科课程设计说明书专业:计算机科学与技术题目:电子时钟课程设计学生姓名: (hch)指导教师:老师年月日前言本课程设计为电子时钟设计,在设计过程中,关键的难题就是接口的设计和AT89C51芯片内部的时钟电路以及它的中断系统。

在当今时代,人们不时地就关注周围发生的一切。

而一个好的电子时钟,被安置在各种器件上。

所以,电子时钟应用面极广。

《单片微型计算机及接口技术》是一门应用性较强的计算机专业课程,是设计与开发各种计算机应用系统的基础。

从硬件的角度看,微型计算机、单片机、嵌入式系统的开发和应用,很大程度上都是接口电路的开发与应用。

因此,本课程设计的成功的关键也在接口设计上。

本设计的大致结构为:第一章,主要介绍设计的总思想和原理;第二章,对系统功能模块的设计;第三章,对硬件系统的设计;第四章,画出了时钟的操作流程图;第五章,部分功能模块的详细代码设计;第六章,演示最后的设计结果。

目录前言 (2)目录 (3)课程设计任务书 (4)第一章概述 (6)1.1基本设计思想 (6)1.2设计原理 (6)第二章系统功能模块设计 (7)2.1 系统的主要功能模块 (7)2.2 系统的组成框图 (7)2.3接口设计 (7)第三章硬件系统的设计 (10)3.1 器件简介 (10)3.2 软件简介 (12)第四章时钟的操作流程 (14)第五章代码设计 (15)第六章程序调试及结果 (19)课程设计小结 (22)参考文献 (23)课程设计图纸 (24)附录:(完整代码) (24)课程设计任务书安徽工程大学本科课程设计任务书2009 届计算机与信息学院计算机科学技术与工程092 专业Ⅰ课程设计题目:电子钟设计Ⅱ原始资料本程序设计中有几个要点:A、设计一个1s时钟,作为时间的基准。

可通过定时器来实现,由于定时限制,我们可以设定定时时钟为50ms中断一次,然后用一个计数器计数20次,即50ms*20=1000ms=1s。

电子钟的设计利用单片机最小系统设计一个电子钟

电子钟的设计利用单片机最小系统设计一个电子钟

电子钟的设计利用单片机最小系统设计一个电子钟电子钟是一种通过电子技术实现时间显示,并具备时间设置和报时功能的钟表装置。

它以单片机为核心控制器,通过系统设计和程序编写来实现。

本文将详细介绍如何利用单片机最小系统设计一个电子钟。

一、系统组成和功能设计电子钟系统主要由单片机、时钟电路、显示电路和按键电路组成。

其主要功能包括实时显示当前时间、设置时间和报时功能。

1.单片机选择单片机是电子钟系统的核心控制器,负责时钟的计时、控制和显示。

选择合适的单片机非常重要,要求具备较高的计算能力和稳定性。

常用的单片机有PIC、ATMELAVR、STM32等。

2.时钟电路设计时钟电路提供精确的时间基准,用于单片机的计时。

常用的时钟电路有晶体振荡器和RTC(实时时钟)芯片。

晶体振荡器产生的信号非常稳定,能够满足电子钟的计时要求。

RTC芯片能够提供更为精确的时间基准,并具备备份电池以保证时间的稳定。

3.显示电路设计显示电路用于将计算出的时间信息以可视化方式显示出来。

常用的显示器包括LED数码管、LCD液晶显示屏和数码管等。

其中,LED数码管和LCD液晶显示屏是较为常见的选择。

4.按键电路设计按键电路用于时间的设置和调整。

一般设计一个或多个按钮用于设置和调整小时、分钟等时间参数。

按键电路通常采用矩阵按键或者编码器方式,方便用户进行时间的设置。

二、硬件设计1.单片机电路单片机电路主要由单片机、时钟电路、复位电路、晶体振荡器等组成。

单片机应连接时钟电路以提供稳定的时间基准。

同时,还需设计一个复位电路以保证系统在启动时能够正常初始化。

2.显示电路选择合适的显示电路,如LED数码管或LCD液晶显示屏。

设计时需考虑到单片机的IO口数量和类型,并根据时间显示需求确定所需显示器的位数。

通过单片机控制IO口,将计算得到的时间信息传送到显示电路上,从而实现时间的显示。

3.按键电路设计按键电路,用于用户设置和调整时间。

按键电路由按键元件和控制电路组成。

简易电子钟设计范文

简易电子钟设计范文

简易电子钟设计范文电子钟是一种通过电子技术实现时间显示的设备。

它通常由一个数字显示屏,一个控制电路和一个电源组成。

其主要功能是显示小时、分钟和秒钟等时间信息,可以准确地显示时间,并可以根据需要设置闹铃功能。

设计一款简易电子钟可以使用Arduino等开发板或单片机来实现。

首先,我们需要选择一块合适的数字显示屏。

常见的数字显示屏有数码管和液晶显示屏两种类型,它们的显示原理和控制方式有所不同。

如果选择数码管作为显示屏,可以考虑使用常见的7段数码管,它由八个LED灯组成,可以显示0-9的数字以及一些字母和特殊符号。

数码管的控制方式是通过控制每个LED灯的亮灭来实现显示,可以使用数字输出口来控制。

Arduino的数字输出口可以输出高电平(5V)和低电平(0V),通过控制输出口的电平,就能够控制数码管的亮灭。

如果选择液晶显示屏作为显示器,可以选择字符型液晶显示屏或者图形型液晶显示屏。

字符型液晶显示屏通常可以显示一些字符或者数字,它的控制方式是通过并行或者串行接口来控制,可以使用开发板的GPIO口来实现。

图形型液晶显示屏可以显示更多的信息,它的控制方式是通过SPI接口或者I2C接口来控制,这需要相应的驱动库或者芯片来实现。

无论选择数码管还是液晶显示屏,我们都需要编写程序来控制显示。

程序的核心是一个循环,其中使用时钟模块来获取当前的时间,并使用相应的控制方式将时间信息显示在显示屏上。

如果需要设置闹铃功能,可以在循环中判断当前时间和设置的时间是否相等,如果相等则触发闹铃。

设计一个简易电子钟的完整步骤如下:1. 选择适合的开发板或者单片机,例如Arduino。

2.选择合适的显示屏,例如7段数码管或者液晶显示屏。

3.连接显示屏到开发板,根据显示屏的类型选择合适的引脚连接方式。

4.编写代码来控制显示屏显示时间信息。

5.添加时钟模块,用来获取当前的时间信息。

6.根据需要添加闹铃功能。

7.测试电子钟的功能和性能,不断优化改进。

简易电子钟设计报告

简易电子钟设计报告

简易电子钟设计报告一设计目的电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械钟相比具有更高的准确性和直观性,且具有无机械传动装置等特点,因此得到了广泛的使用。

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

设计与制作电子钟可以使我们了解电子钟的原理,并且学会制作电子钟.而且通过电子钟的制作进一步地了解各种在制作中用到的中小规模集成电路的作用及使用方法。

且由于电子钟包括组合逻辑电路和时序电路,通过此次设计可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

二设计任务设计制作一个数字电子钟指标:(1)时间计数电路采用24进制,从00开始到23后再回到00;(2)各用2位数码管显示时、分、秒;(3)用6块74LS90异步计数器和1块74LS08二输入端四与门实现该电子钟的逻辑功能。

三数字电子钟电路系统设计下面将介绍数字电子钟的整个电路系统设计的过程。

包括数字电子钟的设计原理,设计方案的确定,数字电子钟的电路设计计算机模拟仿真几大部分。

3.1设计原理U2数字电子钟是一个对标准频率(1Hz )进行计数的计数电路。

主要由振荡器、计数器、集成门电路和显示器电路功能模块组成。

振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果通过显示器以“时”、“分”、“秒”的顺序以数字形式显示出来。

秒计数器电路计满 60 后触发分计数器电路,分计数器电路计满 60 后触发时计数器电路,当计满 24 小时后又开始下一轮的循环计数。

3.2 设计方案本电路系统由晶体振荡电路(在此该电路由脉冲时钟发生器替代,不做设计),时间计数电路,集成门电路组成。

其中,时间计数电路用六个 74LS90 组成。

U1U7U6U810000000Hz141 2 3 INA INB R01 R02 QA12 QB 9 QC 8 QD11DCD_HEXDCD_HEX6 7R91 R92GND74LS90DU5AGND14 12 3 6 7INA INB R01 R02 R91 R92QA 12 QB 9 QC 8 QD1174LS08D74LS90DU9U12U1114 1 2 3 INAINB R01 R02 QA 12 QB 9 QC 8 QD11DCD_HEXDCD_HEXGND6 7R91 R92U13AU15U1474LS90DU3GND14 12 3 6 7U10 INA INB R01 R02 R91 R92QA12 QB 9 QC 8 QD1174LS08D141 2 3 6 7INA QA12 INB QB 9 QC 8R01 QD 11R02 R91 R9274LS90DU16ADCD_HEXDCD_HEX74LS90DU474LS08DGND14 1 2 36 7INA INB R01 R02 R91 R92QA12 QB 9 QC 8 QD11GND74LS90D电路整体原理电路图GND秒钟设计部分电路图U11 U9U1214 1 2 3INAINBR01R02QA12QB9QC8QD11DCD_HEXDCD_HEXGND67R91R9274LS90DU10U13A74LS08DGND1412367INAINBR01R02R91R92QA12QB9QC8QD1174LS90D分钟设计部分电路图U15U14 U314 1 2 3INAINBR01R02QA12QB9QC8QD11DCD_HEX DCD_HEX6 7R91R9274LS90DU4U16A74LS08DGND1412367INAINBR01R02R91R92QA12QB9QC8QD11GND74LS90D时钟设计部分电路图大致工作原理:当分(秒)个位的74LS90芯片的进位输入端11端的脉冲进位信号传到十位的脉冲输入端时,十位端便计数一次,十位端计数满6时便会向时(分)脉冲端进位。

数字电子时钟设计

数字电子时钟设计

数字电子时钟设计数字电子时钟是一种简单易用、精度高、使用方便的时钟仪器。

在现代化的生活中,数字电子时钟已经成为人们生活和工作中不可缺少的一部分。

本文将介绍数字电子时钟的设计及其原理。

1. 数字电子时钟的结构数字电子时钟一般由数字显示器、电源、时钟芯片、振荡电路和控制电路等几个部分组成。

数字显示器:数字电子时钟采用的是七段数码管作为显示器,显示出当前时刻的时间。

电源:数字电子时钟的电源一般采用直流电源,可以通过普通的插座或者电池供电。

时钟芯片:时钟芯片是数字电子时钟的核心部分,可以提供高精度的时钟信号,并且可以根据用户设置的时间来进行计时。

振荡电路:振荡电路是数字电子时钟的发挥器,用于产生一个稳定的高精度的时钟信号。

控制电路:控制电路主要用于对数字电子时钟进行各种设置,并且可以控制数字电子时钟的各种功能。

2. 数字电子时钟的操作原理数字电子时钟的操作原理是通过时钟芯片来实现的。

时钟芯片可以提供一个高精度的时钟信号,这个时钟信号可以被控制电路所接收,并且控制电路可以将这个信号转化为秒、分、时等时间单位。

随着科技的发展,数字电子时钟的精度越来越高,可以达到秒级甚至毫秒级的精度。

这些高精度的时钟芯片可以通过电子时钟所连接的振荡电路来产生非常稳定的时钟信号。

3. 数字电子时钟设计的技术要求数字电子时钟的设计需要考虑以下几个方面的技术要求:(1)高精度的时钟信号数字电子时钟的时钟信号需要具有高精度,通常要求时钟误差不超过几秒钟。

这就需要时钟芯片具有非常高的精度的时钟信号源,同时还需要连接高精度的振荡电路。

(2)显示效果清晰明了数字电子时钟的显示效果要求非常的清晰明了,这就需要采用高质量的七段数码管,并且数量要足够,以显示出完整的时间信息。

(3)快速响应、稳定性好由于数字电子时钟是人们生活和工作中不可缺少的一部分,因此数字电子时钟的响应速度和稳定性也非常的重要,需要在设计时特别注重。

4. 数字电子时钟的优点和缺点数字电子时钟有以下几个优点:(1)高精度稳定数字电子时钟可以提供高精度的时钟信号,并且可以保持这个时钟信号的稳定性,误差范围非常小。

红外遥控电子钟设计

红外遥控电子钟设计

红外遥控电子钟设计引言:电子钟是一种通过电子设备显示时间的装置。

随着科技的进步和人们对时间需求的不断提高,电子钟在我们的日常生活中发挥着越来越重要的作用。

为了让电子钟更加便捷和智能,我们可以加入红外遥控功能,使其能够通过遥控器进行操作。

本文将介绍一种红外遥控电子钟的设计方案。

一、硬件设计1.显示屏设计一个大尺寸的液晶显示屏,可以清晰地显示当前的时间和日期。

可以选择高分辨率的彩色液晶屏,以提供更好的视觉效果。

2.时钟芯片选择一款可靠且精准的时钟芯片,用于提供准确的时间和日期。

时钟芯片还可以有定时闹钟的功能,可以进行时间提醒。

3.红外接收器在电子钟的硬件设计中,需要添加一个红外接收器,用于接收来自遥控器的信号。

可以选择一个高灵敏度和高抗干扰能力的红外接收器。

4.控制电路板设计一个控制电路板,用于整合各个部分的硬件设备。

控制电路板可以通过串口或者其他方式与显示屏、时钟芯片和红外接收器进行通信。

5.电源系统电子钟需要一个稳定且可靠的电源系统,可以选择使用电池或者直接连接市电。

如果选择使用电池,需要设计一个充电电路,以保证电子钟的正常工作。

二、软件设计1.界面设计设计一个友好的用户界面,可以显示时间、日期和闹钟相关信息。

界面的设计要简洁明了,易于操作。

可以通过按键或者遥控器进行时间和闹钟的设置。

2.红外信号解析设计一个红外信号解析的算法,用于解析遥控器发送的红外信号。

当红外接收器接收到信号后,将信号传递给控制电路板,控制电路板进行解析,并根据解析结果执行相应的操作。

3.时间同步设计一个时间同步的功能,电子钟可以通过接收到的红外信号进行时间校准,以确保时间的准确性。

可以选择接收来自国家授时中心的红外信号,以获取最准确的时间。

4.闹钟设置设计一个闹钟设置的功能,用户可以通过遥控器设置闹钟的时间和频率。

闹钟提醒可以通过声音或者震动的方式进行,可以在设置闹钟的同时,选择提醒方式。

三、系统集成与测试在完成硬件和软件设计之后,需要进行系统集成与测试。

电子闹钟的制作方法

电子闹钟的制作方法

电子闹钟的制作方法
1.选材:
制作电子闹钟所需要的材料和元件有:
-面包板或通用孔径板
-15V直流电源适配器
-蜂鸣器或发声器
-4位7段数码管
-MAX7219驱动芯片
-STC89C52单片机(或其他型号)
-按键开关
-LCD1602液晶显示屏(可选)
-电阻、电容等小零件
2.原理设计:
电子闹钟的原理一般包括时间计时、闹钟功能和显示功能。

其中,时间计时可以使用单片机的定时器进行精确计时;闹钟功能通过按键开关设置闹钟时间,并在到达设定时间时触发蜂鸣器或发声器发出响声;显示功能可采用数码管和/或液晶显示屏进行时间显示。

3.电路搭建:
根据原理设计,将元件插入面包板或通用孔径板上,并根据电路图进行连线。

主要的连线包括单片机和其他各个元件之间的引脚连接。

注意按键开关和蜂鸣器等组件的引脚方向,以保证正确的接线。

4.程序编写:
使用C语言或汇编语言等编程语言,编写单片机控制程序。

主要的编程任务包括:
-初始化单片机和其他硬件设备
-设置定时器进行时间计时
-通过按键开关设置闹钟时间
-监测时间并在设定时间到达时触发蜂鸣器或发声器发出闹钟声音
-控制数码管或液晶显示屏显示时间
5.装配调试:
总结:
通过以上步骤,我们可以制作一个简单的电子闹钟。

当然,如果希望增加更多的功能,比如温湿度显示、倒计时功能等,可以根据需求进行电路和程序的扩展。

电子时钟设计方案

电子时钟设计方案

电子时钟设计方案吴新光01210150唐斌01210134李浩罡01210116一、设计目标数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到了广泛的应用:小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟。

多功能数字钟由以下几部分组成:555定时器组成的多谐振荡器构成秒脉冲发生器;校时电路;六十进制的秒、分计数器和二十四进制的时计数器;秒、分、时的数码显示部分;报时电路;闹铃电路。

二、设计方案数字电子钟主要由秒信号发生器、“时、分、秒”计数器、译码显示器、校时电路等组成。

秒信号发生器主要由石英晶体振荡器或555振荡器分频后得到;秒、分都是60进制,故由60进制计数器构成;时为24进制,即由24进制计数器构成;显示部分由译码和数码显示构成;校时电路由门电路和开关等构成。

利用函数信号发生器来进行脉冲信号的输出、利用74160N来设置十进制和六进制的进位输出、利用数码显示器来显示时间、利用或门、与门、非门、与非门、等电路元件进行组合、级联后得到设计所要求的电路图。

由于要对时钟进行校队,电路选择串行的进位方式,使每个位都可以快速接入脉冲,进行校时计时电路:用DCD_HEX用DCD_HEX为时分秒的显示译码器,74LS160十进制的计数器,分别计60进制、60进制24进制,这里使用异步清零法。

校时方案:放置开关选择正常计时模式和校时模式,时分秒计时电路分别连接一个单刀双掷开关,每个单刀双掷开关连接VCC和GND,每次接通VCC给单次脉冲,此时产生上升沿信号,74LS160计数加一,这样就可以实现时间的校准,如图闹钟电路:该电路只需要小时和分钟设定,电路连接方法与计时电路相同,是一个六十进制计数器和二十四进制计数器,通过连接VCC和GND开关的切换产生单次脉冲信号,每次74LS160接到一个脉冲信号,计数器加一。

电子时钟设计方案

电子时钟设计方案

电子时钟设计方案吴新光01210150唐斌01210134李浩罡01210116一、设计目标数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到了广泛的应用:小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟。

多功能数字钟由以下几部分组成:555定时器组成的多谐振荡器构成秒脉冲发生器;校时电路;六十进制的秒、分计数器和二十四进制的时计数器;秒、分、时的数码显示部分;报时电路;闹铃电路。

二、设计方案数字电子钟主要由秒信号发生器、“时、分、秒”计数器、译码显示器、校时电路等组成。

秒信号发生器主要由石英晶体振荡器或555振荡器分频后得到;秒、分都是60进制,故由60进制计数器构成;时为24进制,即由24进制计数器构成;显示部分由译码和数码显示构成;校时电路由门电路和开关等构成。

利用函数信号发生器来进行脉冲信号的输出、利用74160N来设置十进制和六进制的进位输出、利用数码显示器来显示时间、利用或门、与门、非门、与非门、等电路元件进行组合、级联后得到设计所要求的电路图。

由于要对时钟进行校队,电路选择串行的进位方式,使每个位都可以快速接入脉冲,进行校时计时电路:用DCD_HEX用DCD_HEX为时分秒的显示译码器,74LS160十进制的计数器,分别计60进制、60进制24进制,这里使用异步清零法。

校时方案:放置开关选择正常计时模式和校时模式,时分秒计时电路分别连接一个单刀双掷开关,每个单刀双掷开关连接VCC和GND,每次接通VCC给单次脉冲,此时产生上升沿信号,74LS160计数加一,这样就可以实现时间的校准,如图闹钟电路:该电路只需要小时和分钟设定,电路连接方法与计时电路相同,是一个六十进制计数器和二十四进制计数器,通过连接VCC和GND开关的切换产生单次脉冲信号,每次74LS160接到一个脉冲信号,计数器加一。

基于LIN总线的车载电子钟控制系统设计与研发

基于LIN总线的车载电子钟控制系统设计与研发

基于LIN总线的车载电子钟控制系统设计与研发车载电子钟控制系统是一种基于LIN总线的系统,用于车辆内部的时间显示和闹钟功能。

该系统通过与车辆其他电子设备进行通讯,实现时间同步和报警功能。

下面将详细介绍车载电子钟控制系统的设计与研发。

一、系统需求分析车载电子钟控制系统的设计目标是实现准确的时间显示和闹钟功能,并能与车辆其他电子设备进行通讯,以便将时间同步到其他设备中。

系统需要满足以下需求:1.时间同步功能:车载电子钟需要从车辆电子控制单元接收时间信号,确保时间的准确性。

2.时间显示功能:系统需要能够将当前时间以数字显示的方式展示出来,并具备12小时和24小时制切换功能。

3.闹钟功能:系统需要支持设置和响铃闹钟,同时提供多种闹钟声音选择。

4.与车辆其他电子设备通讯功能:系统需要能够通过LIN总线与车辆其他设备进行通讯,同步时间以及发送闹钟报警信号。

二、系统设计方案1.系统整体架构:车载电子钟控制系统采用分布式架构,包括控制模块、显示模块和通讯模块。

控制模块负责接收时间信号、设置闹钟和控制系统运行状态;显示模块负责将时间显示出来以及显示闹钟信息;通讯模块负责与车辆其他电子设备进行通讯,实现时间同步和闹钟报警功能。

2.控制模块设计:控制模块由微控制器、时钟芯片和按键电路组成。

微控制器用于控制整个系统的运行,接收时间信号和实现闹钟功能;时钟芯片用于获取时间信号并提供系统时间;按键电路用于接收用户的设置操作。

3.显示模块设计:显示模块由数码管或液晶显示器组成,用于将时间以数字形式显示出来,并提供12小时和24小时制切换功能。

4.通讯模块设计:通讯模块通过LIN总线与车辆其他电子设备进行通讯,实现时间同步和闹钟报警功能。

通讯模块由LIN总线收发器和通讯协议实现,通过发送和接收特定的命令和数据与其他设备进行通讯。

三、系统研发和测试1.硬件研发:根据设计方案,进行硬件电路设计和焊接,包括控制模块、显示模块和通讯模块的组装。

电 子 钟 设 计

电 子 钟 设 计

电子钟设计功能实现:此电子钟实现了正常跑表时钟,闹钟,秒表,调节LED灯亮度的功能。

此电子钟使用键1来控制模式选择。

正常跑表时钟为默认模式。

当按下键1时,接收到的高脉冲后模式跳转为闹钟时间模式,当再次按下键1时转到秒表模式。

在正常跑表时钟模式中,通过键5来控制时间调节,当按下键5后用键7来调节时进位,用键4来调节分进位。

而在闹钟模式下,同样采用键5来控制调节闹铃时间,其中键7用来调节时进位,键4 用来调节分进位。

当正常跑表时钟的时间与闹钟模式下设置的时间相同时,蜂鸣器就会发出声响。

在秒表模式下,键4为控制键,按下键4后秒表开始计时。

在计时过程中,键8为暂停键,键5为清零键。

最后刷新LED功能,键8为控制键,按下键8 后,通过键7来调节亮度。

代码:顶层文件library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity electronic_clock isport( clk:in std_logic;k_minute,k_hour,k,k_8,input:in std_logic;--- -k_minute为键4,k_hour为键7,k为键5,k_8为键8,input为键1voice:out std_logic;sg11:out std_logic_vector(6 downto 0);bt11:out std_logic_vector(7 downto 0));end electronic_clock;architecture one of electronic_clock iscomponent clock ----正常跑表时间模式port(clk,k_minute,k_hour,k:in std_logic;hour1,hour2,minute1,minute2,second1,second2:out std_logic_vector(3 downto 0)); end component;component alarm ---闹钟模式port(clk,k,k_minute,k_hour:in std_logic;hour_1,hour_2,minute_1,minute_2,second_1,second_2:out std_logic_vector(3 downto 0)); end component;component pao ---秒表模式port(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;pao1,pao2,second_p1,second_p2:out std_logic_vector(3 downto 0));end component;component sound -----闹钟中的蜂鸣器port(clk:in std_logic;s_in1:in std_logic_vector(3 downto 0);s_in2:in std_logic_vector(3 downto 0);s_in3:in std_logic_vector(3 downto 0);s_in4:in std_logic_vector(3 downto 0);s_in11:in std_logic_vector(3 downto 0);s_in12:in std_logic_vector(3 downto 0);s_in13:in std_logic_vector(3 downto 0);s_in14:in std_logic_vector(3 downto 0);s_out:out std_logic);end component;component mux31a ---控制选择输出port( k_in:in std_logic;k_out:out std_logic_vector(1 downto 0);q1_out,q2_out:out std_logic);end component;component fenpin ---分频port( clk_:in STD_LOGIC;clk_100,clk_1,clk_10000:out STD_LOGIC);end component;component xuanze ---选择输出port( q:in std_logic_vector(1 downto 0);second1:in std_logic_vector(3 downto 0);second2:in std_logic_vector(3 downto 0);minute1:in std_logic_vector(3 downto 0);minute2:in std_logic_vector(3 downto 0);hour1:in std_logic_vector(3 downto 0);hour2:in std_logic_vector(3 downto 0);second_1:in std_logic_vector(3 downto 0);second_2:in std_logic_vector(3 downto 0);second_p1:in std_logic_vector(3 downto 0);second_p2:in std_logic_vector(3 downto 0);minute_1:in std_logic_vector(3 downto 0);minute_2:in std_logic_vector(3 downto 0);hour_1:in std_logic_vector(3 downto 0);hour_2:in std_logic_vector(3 downto 0);pao1:in std_logic_vector(3 downto 0);pao2:in std_logic_vector(3 downto 0);q1:out std_logic_vector(3 downto 0);q2:out std_logic_vector(3 downto 0);q3:out std_logic_vector(3 downto 0);q4:out std_logic_vector(3 downto 0);q5:out std_logic_vector(3 downto 0);q6:out std_logic_vector(3 downto 0));end component;component saomiao ---扫描port(clk_10000,jian4:in std_logic;way : in std_logic;sec_l,sec_h,min_l,min_h,hour_l,hour_h:in std_logic_vector(3 downto 0);sg11:out std_logic_vector(6 downto 0);bt11:out std_logic_vector(7 downto 0));end component;signal t1:std_logic_vector(3 downto 0);signal t2:std_logic_vector(3 downto 0);signal t3:std_logic_vector(3 downto 0);signal t4:std_logic_vector(3 downto 0);signal t5:std_logic_vector(3 downto 0);signal t6:std_logic_vector(3 downto 0);signal t7:std_logic_vector(3 downto 0);signal f1:std_logic_vector(3 downto 0);signal f2:std_logic_vector(3 downto 0);signal f3:std_logic_vector(3 downto 0);signal f4:std_logic_vector(3 downto 0);signal f5:std_logic_vector(3 downto 0);signal f6:std_logic_vector(3 downto 0);signal f11:std_logic_vector(3 downto 0);signal f12:std_logic_vector(3 downto 0);signal f13:std_logic_vector(3 downto 0);signal f14:std_logic_vector(3 downto 0);signal f15:std_logic_vector(3 downto 0);signal f16:std_logic_vector(3 downto 0);signal f:std_logic_vector(1 downto 0);signal m1,m2,m3,m4:std_logic;signal s1,s2,s3:std_logic;signal g1,g2,g3,g4,g5,g6:std_logic_vector(3 downto 0);beginu1:fenpin port map (clk_ => clk,clk_1=>m1,clk_100=>m2,clk_10000=>m3);u2:pao port map(clk=>m2,clk1=>k_minute,clk2=>k,clk3=>k_8,pao1=>t1,pao2=>t2,second_p1=>t3,second_p2=>t4);u3: clock port map (clk=>m1,k=>(k and s1),k_minute=>k_minute,k_hour=>k_hour, second1=>f1,second2=>f2,minute1=>f3,minute2=>f4,hour1=>f5,hour2=>f6);u4:alarm port map(clk=>m1,k=>(kands2),k_minute=>k_minute,k_hour=>k_hour,second_1=>f11,second_2=>f12,minute_1=>f13,minute_2=>f14,hour_1=>f15,hour_2=>f16);u5: sound port map (clk=>m2,s_in1=>f3,s_in2=>f4,s_in3=>f5,s_in4=>f6,s_in11=>f13,s_in12=>f14,s_in13=>f15,s_in14=>f16,s_out=>voice);u6: mux31a port map (k_in=>input,k_out=>f,q1_out=>s1,q2_out=>s2);u7:xuanze port map(q=>f,second1=>f1,second2=>f2,minute1=>f3,minute2=>f4,hour1=>f5,hour2=>f6,second_1=>f11,second_2=>f12,minute_1=>f13,minute_2=>f14,hour_1=>f 15,hour_2=>f16,pao1=>t1,pao2=>t2,second_p1=>t3,second_p2=>t4,q1=>g1,q2=>g2,q3=>g3,q4 =>g4,q5=>g5,q6=>g6);u8:saomiao port map (clk_10000=>m3,jian4=>k_hour,way=>k_8,sec_l=>g1,sec_h=>g2,min_l=>g3,min_h=>g4,hour_l=>g5,hour_h=>g6, sg11=>sg11,bt11=>bt11); end ;正常跑表时钟library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk,k_minute,k_hour,k:in std_logic;hour1,hour2,minute1,minute2,second1,second2:out std_logic_vector(3 downto 0)); end clock;architecture one of clock iscomponent secondport(clk:in std_logic;en_sec:out std_logic;second1,second2:out std_logic_vector(3 downto 0));end component;component minuteport(clk:in std_logic;en_minute:out std_logic;minute1,minute2:out std_logic_vector(3 downto 0));end component;component hourport(clk:in std_logic;hour1,hour2:out std_logic_vector(3 downto 0));end component;signal p1,p2,p3:std_logic;beginu1: second port map (clk=>clk,en_sec=>p1,second1=>second1,second2=>second2);u2: minute port map (clk=>(p1 or(k and k_hour)),minute1=>minute1,minute2=>minute2);u3: hour port map (clk=>(p2 or(k and k_hour)),hour1=>hour1,hour2=>hour2);end ;正常跑表中跑秒library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport(clk:in std_logic;en_sec:out std_logic;second1:out std_logic_vector(3 downto 0);second2:out std_logic_vector(3 downto 0));end entity;architecture one of second issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 5 then q2<= q2 + 1;en_sec <= '0';else q2 <="0000";en_sec <= '1';end if;end if;end if;second1 <= q1;second2 <= q2;end process;end one ;正常跑表中跑分library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport(clk:in std_logic;en_minute:out std_logic;minute1:out std_logic_vector(3 downto 0);minute2:out std_logic_vector(3 downto 0)); end entity;architecture one of minute issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 5 then q2<= q2 + 1;en_minute <= '0';else q2 <="0000";en_minute <= '1';end if;end if;end if;minute1 <= q1;minute2 <= q2;end process;end one;正常跑表中跑时library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(clk:in std_logic;hour1:out std_logic_vector(3 downto 0);hour2:out std_logic_vector(3 downto 0) );end entity;architecture one of hour issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q2 < "0010" thenif q1="1001" thenq1 <= "0000";q2<=q2+1;ELSEq1<=q1+1;end if;elseif q1 = "0011" thenq1 <= "0000";q2 <= "0000";elseq1<=q1+1;end if;end if;end if;end process ;hour1 <= q1;hour2 <= q2;end one;闹钟library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,k,k_minute,k_hour:in std_logic; ---k为控制键;k_minute为调分键;k_hour为调时键hour_1,hour_2,minute_1,minute_2,second_1,second_2:out std_logic_vector(3 downto 0)); end entity;architecture one of alarm iscomponent second_alarmport(clk:in std_logic;second_1,second_2:out std_logic_vector(3 downto 0));end component;component minute_alarmport(clk:in std_logic;minute_1,minute_2:out std_logic_vector(3 downto 0));end component;component hour_alarmport(clk:in std_logic;hour_1,hour_2:out std_logic_vector(3 downto 0));end component;signal p1,p2,p3:std_logic;beginu1: second_alarm port map (clk=>clk,second_1=>second_1,second_2=>second_2);u2: minute_alarm port map (clk=>(k and k_minute),minute_1=>minute_1,minute_2=>minute_2); u3: hour_alarm port map (clk=> (k and k_hour),hour_1=>hour_1,hour_2=>hour_2);end ;闹钟中跑表library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second_alarm isport(clk:in std_logic;second_1:out std_logic_vector(3 downto 0);second_2:out std_logic_vector(3 downto 0));end entity;architecture one of second_alarm issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 5 then q2<= q2 + 1;else q2 <="0000";end if;end if;end if;second_1 <= q1;second_2 <= q2;end process;end ;闹钟中的定分library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute_alarm isport(clk:in std_logic;minute_1:out std_logic_vector(3 downto 0);minute_2:out std_logic_vector(3 downto 0)); end entity;architecture one of minute_alarm issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 5 then q2<= q2 + 1;else q2 <="0000";end if;end if;end if;minute_1 <= q1;minute_2 <= q2;end process;end ;闹钟中定时library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour_alarm isport(clk:in std_logic;hour_1:out std_logic_vector(3 downto 0);hour_2:out std_logic_vector(3 downto 0) ); end entity;architecture one of hour_alarm issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif q2 < "0010" thenif q1="1001" thenq1 <= "0000";q2<=q2+1;elseq1<=q1+1;end if;elseif q1 = "0011" thenq1 <= "0000";q2 <= "0000";elseq1<=q1+1;end if;end if;end if;end process ;hour_1 <= q1;hour_2 <= q2;end;秒表library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity pao isport(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;pao1,pao2,second_p1,second_p2:out std_logic_vector(3 downto 0)); end entity;architecture one of pao iscomponent paobiaoport(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;en_sec:out std_logic;pao1:out std_logic_vector(3 downto 0);pao2:out std_logic_vector(3 downto 0));end component;component second_paoport(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;second_p1:out std_logic_vector(3 downto 0);second_p2:out std_logic_vector(3 downto 0));end component;signal p1,p2,p3:std_logic;beginu1:paobiao port map(clk=>clk,clk1=>clk1,clk2=>clk2,clk3=>clk3,en_sec=>p1,pao1=>pao1,pao2=>pao2);u2:second_pao port map(clk=>p1,clk1=>clk1,clk2=>clk2,clk3=>clk3,second_p1=>second_p1,second_p2=>second_p2);end ;秒表中的跑位LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity paobiao isport(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;en_sec:out std_logic; --en_sec对下一级的进位信号pao1:out std_logic_vector(3 downto 0);pao2:out std_logic_vector(3 downto 0));end entity;architecture one of paobiao issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);signal b:integer range 0 to 1;beginprocess(clk)beginif clk1'event and clk1 ='1' then b<=b+1;end if;if b=1 thenif clk2='1' then q1 <= "0000" ;q2 <="0000";en_sec<= '0';elsif clk3='0' thenif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 9 then q2<= q2 + 1;en_sec <= '0';else q2 <="0000";en_sec <= '1';end if;end if;end if;end if;end if;pao1 <= q1;pao2 <= q2;end process;end ;秒表中跑表library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second_pao isport(clk:in std_logic;clk1: in std_logic;clk2:in std_logic;clk3:in std_logic;second_p1:out std_logic_vector(3 downto 0);second_p2:out std_logic_vector(3 downto 0)); end entity;architecture one of second_pao issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(3 downto 0);signal b:integer range 0 to 1;beginprocess(clk,clk2,clk1)beginif clk1'event and clk1 ='1' then b<=b+1;end if;if b=1 thenif clk2='1' then q1 <= "0000" ;q2 <="0000";elsif clk3='0' thenif clk'event and clk='1' thenif q1 < 9 then q1 <= q1+1;else q1 <= "0000" ;if q2 < 5 then q2<= q2 + 1;else q2 <="0000";end if;end if;end if;end if;end if;second_p1 <= q1;second_p2 <= q2;end process;end one;蜂鸣器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sound isport(clk:in std_logic;s_in1:in std_logic_vector(3 downto 0);s_in2:in std_logic_vector(3 downto 0);s_in3:in std_logic_vector(3 downto 0);s_in4:in std_logic_vector(3 downto 0);s_in11:in std_logic_vector(3 downto 0);s_in12:in std_logic_vector(3 downto 0);s_in13:in std_logic_vector(3 downto 0);s_in14:in std_logic_vector(3 downto 0);s_out:out std_logic);end entity;architecture one of sound isbeginprocess(s_in1,s_in2,s_in3,s_in4,s_in11,s_in12,s_in13,s_in14)beginif s_in14 = s_in4 and s_in13 = s_in3 and s_in12 = s_in2 and s_in11 = s_in1 then s_out <= clk; else s_out <= '1';end if;end process;end one;控制选择输出library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux31a isport(k_in:in std_logic;k_out:out std_logic_vector(1 downto 0);q1_out,q2_out:out std_logic);end entity;architecture one of mux31a issignal q:std_logic_vector(1 downto 0);beginprocess(k_in)beginif k_in = '1' thenif q < 2 then q <= q + 1;else q <= "00";end if;end if;if q = "00" then q1_out <= '1' ;q2_out <= '0';elsif q = "01" then q1_out <= '0' ;q2_out <= '1';else q1_out <= '0' ;q2_out <= '0';end if;end process;k_out <= q;end one ;选择输出library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanze isport(--clk:in std_logic;q:in std_logic_vector(1 downto 0);second1:in std_logic_vector(3 downto 0);second2:in std_logic_vector(3 downto 0);minute1:in std_logic_vector(3 downto 0);minute2:in std_logic_vector(3 downto 0);hour1:in std_logic_vector(3 downto 0);hour2:in std_logic_vector(3 downto 0);second_1:in std_logic_vector(3 downto 0);second_2:in std_logic_vector(3 downto 0);second_p1:in std_logic_vector(3 downto 0);second_p2:in std_logic_vector(3 downto 0);minute_1:in std_logic_vector(3 downto 0);minute_2:in std_logic_vector(3 downto 0);hour_1:in std_logic_vector(3 downto 0);hour_2:in std_logic_vector(3 downto 0);pao1:in std_logic_vector(3 downto 0);pao2:in std_logic_vector(3 downto 0);q1:out std_logic_vector(3 downto 0);q2:out std_logic_vector(3 downto 0);q3:out std_logic_vector(3 downto 0);q4:out std_logic_vector(3 downto 0);q5:out std_logic_vector(3 downto 0);q6:out std_logic_vector(3 downto 0)); end entity;architecture one of xuanze isbeginprocess(q)begin--if clk'event and clk='1' thenif q = "00" then q1<=second1;q2<=second2;q3<=minute1;q4<=minute2;q5<=hour1;q6<=hour2;elsif q = "01" then q1<=second_1;q2<=second_2;q3<=minute_1;q4<=minute_2;q5<=hour_1;q6<=hour_2; elsif q = "10" then q1<=pao1;q2<=pao2;q3<=second_p1;q4<=second_p2;q5<="0000";q6<="0000";elseq1<="0000";q2<="0000";q3<="0000";q4<="0000";q5<="0000";q6<="0000";end if;--end if;end process;end one;分频library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin isport( clk_:in STD_LOGIC;clk_100,clk_1,clk_10000:out STD_LOGIC);end fenpin;architecture one of fenpin isbeginp1:process(clk_)variable count: integer range 0 TO ;beginif clk_'event and clk_='1' thenif count<50000 thenclk_100<='0';elseclk_100<='1';end if;count:=count+1;end if;end process;p2:process(clk_)variable count: integer range 0 TO 1000;beginif clk_'event and clk_='1' thenif count<500 thenclk_10000<='0';elseclk_10000<='1';end if;count:=count+1;end if;end process;p3:process(clk_)variable count: integer range 0 TO ;beginif clk_'event and clk_='1' thenif count< thenclk_1<='0';elseclk_1<='1';end if;count:=count+1;end if;end process;end one;扫描library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity saomiao isport(clk_10000,jian4:in std_logic;way : in std_logic;sec_l,sec_h,min_l,min_h,hour_l,hour_h:in std_logic_vector(3 downto 0);sg11:out std_logic_vector(6 downto 0);bt11:out std_logic_vector(7 downto 0));end saomiao;architecture one of saomiao issignal cnt8:std_logic_vector(2 downto 0);signal b :std_logic_vector(1 downto 0);signal a :std_logic_vector(3 downto 0);signal lig :std_logic;signal c1,c2,c3 :integer range 0 to 6;beginp1: process(cnt8)begincase cnt8 iswhen "000" => bt11<= ""&lig;a<=hour_h;when "001" => bt11<= ""&lig&"0";a<=hour_l;when "010" => bt11<= "00000"&lig&"00";a<="1111";when "011" => bt11<= "0000"&lig&"000";a<=min_h;when "100" => bt11<= "000"&lig&"0000";a<=min_l;when "101" => bt11<= "00"&lig&"00000";a<="1111";when "110" => bt11<= "0"&lig&"";a<=sec_h;when "111" => bt11<= lig&"";a<=sec_l;when others => null;end case;end process p1;p2:process(clk_10000)beginif clk_10000'event and clk_10000 ='1' then cnt8 <= cnt8+1;end if;end process p2;p3:process(a)begincase a iswhen "0000" => sg11<= "";when "0001" => sg11<= "";when "0010" => sg11<= "";when "0011" => sg11<= "";when "0100" => sg11<= "";when "0101" => sg11<= "";when "0110" => sg11<= "";when "0111" => sg11<= "";when "1000" => sg11<= "";when "1001" => sg11<= "";when "1111" => sg11<= "";when others => null;end case;end process p3;p4:process(jian4,way)beginif way='0' thenif jian4'event and jian4 ='1' then b <= b+1;end if;end if;end process p4;p5:process(b,clk_10000)beginif clk_10000'event and clk_10000 ='1' thencase b iswhen "00"=>lig<='1';when "01"=>if c1=2 then c1<=0;lig<='1';else c1<=c1+1;lig<='0';end if;when "10"=>if c2=4 then c2<=0;lig<='1';else c2<=c2+1;lig<='0';end if;when "11"=>if c3=6 then c3<=0;lig<='1';else c3<=c3+1;lig<='0';end if;end case;end if;end process p5; end one;。

设计制作电子时钟

设计制作电子时钟

设计制作简易数字钟一、设计要求1、设计一振荡源,用于产生1Hz的脉冲信号;2、能完成从00时00分00秒到23时59分59秒走时,并实时显示时、分、秒;3、具有手动校时、校分、校秒功能。

发挥部分:具有正点报时功能。

要求在59分58秒开始报时,持续5秒钟。

二、总体设计方案1、方案选择数字钟实际上是由一个对标准频率(1HZ)进行计数的计数电路为主要部分构成的。

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

通常使用石英晶体振荡器电路来构成数字钟的标准时间基准信号。

数字钟的组成框图如下图所示。

数字钟计时周期是24,因此必须设置24 计数器,秒、分、时由七段数码管显示。

为使数字钟走时与标准时间一致,校时电路是必不可少的。

设计中采用状态机控制校时,通过切换开关用秒脉冲或手动按键产生脉冲先后对“时” “分” “秒”计数器进行校时操作。

2、数字钟的构成(1)数字钟的构成:振荡器、分频器、计数器、译码器、LED数码管显示器等几部分。

附加功能的实现还需采用T’触发器及与门和或门及蜂鸣器组成报时电路。

(2)数字钟的时、分、秒实际上就是由一个24 进制计数器(00-23),两个60 进制计数器(00-59)级联构成。

设计数字钟实际上就是计数器的级联。

(3)芯片选型:由于24进制、60进制计数器均由集成计数器级联构成,且都包含有基本的十进制计数器,从设计简便考虑,芯片选择十进制计数器74LS390。

3、元器件列表:型号74LS00、74LS04、74LS08、74LS21、74LS32、74LS47、74LS74、74LS86、74LS390、CD4068、CD4060、CD4511。

晶体管8050、510欧姆电阻、LED、轻触开关、自锁开关、蜂鸣器、10p电容、晶振32768、10M电阻。

三、系统工作原理1、主计数部分原理图图1主计数部分原理图如图所示,用两个十进制计数器74LS390组成60进制计数器和24进制计数器,分别用于对分、秒和时的计数。

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

江苏广播电视大学五年制(高职)毕业设计任务书设计课题汽车电子钟设计学校江苏广播电视大学年级 0606专业汽车检测与维修姓名赵晓东学号 0602170120指导教师胡昊职称二○一一年三月题目:汽车电子钟设计专业班级:汽车检测与维修0606班姓名:赵晓东指导教师:胡昊江苏广播电视大学摘要摘要太简单,应包括研究目的,研究内容,解决了什么主要问题,取得的实验结果,社会与经济效果(应该有半页纸)传统汽车电子钟,其电子信号的产生通常通过频谱搬移的方法,这造成了系统复杂,性能不佳,价格昂贵等缺点。

本文研究并设计了一种新颖的低频电子系统。

系统通过单片机C8051F020控制直接频率合成(DDS)芯片AD9851直接产生电子信号、通过被测网络后再由单片机A/D 转换进行峰值采样,最后对数据处理后由液晶输出电子曲线。

系统简化了设计,也解决了传统电子仪性能不佳的问题。

通过此课题的研究,基本掌握了汽车电子钟的设计方法,以及对调试过程中常见故障的分析和排除,为进一步学习和开发同类仪器铺平道路。

关键词:单片机;直接频率合成(DDS);A/D转换;液晶显示;低频电子目录摘要 (I)ABSTRACT ................................... 错误!未定义书签。

目录 (II)图表目录 (IV)第一章绪论 (1)1.1概述 (1)1.2项目要求............................. 错误!未定义书签。

1.3汽车电子钟简介 (1)第二章系统的硬件设计 (5)2.1系统的总体设计 (5)2.2 系统设计的方案分析 (5)2.2.1电子信号的发生 (6)2.2.2 电子信号的处理 (7)2.3 系统硬件设计 (7)2.3.1汽车主控电路 (7)2.3.2 人机接口电路设计 (8)2.3.3 正弦波电子信号产生电路 (9)2.3.4 1M低通滤波电路 (12)2.3.5 系统稳压电源电路 (13)第三章软件系统分析与设计 (14)3.1 软件的基本结构 (14)3.2 人机对话模块 (15)3.3 正弦信号电子模块 (17)第四章结论 (19)参考文献 (20)致谢 ....................................... 错误!未定义书签。

图表目录图1. 1 简易频率特性测试仪方框图 (4)图1. 2 传统的电子仪原理 (2)图1. 3 传统电子信号发生器 (2)图1. 4 超外差接收机原理 (3)图2. 1 汽车电子钟的总体设计图 (5)图2. 2 DDS正弦波发生器框图 (6)图2. 3 微处理器控制接口框图 (7)图2. 4汽车主控电路框图 (8)图2. 5 液晶接口电路 (9)图2. 6 键盘接口电路 (9)图2. 7 AD9851内部结构图 (10)图2. 8 单双极性变换电路 (12)图2. 9 1M低通滤波电路 (13)图2. 10 ±5V电源电路 (13)图3. 1 主程序流程图 (14)图3. 2 主菜单界面 (16)图3. 3 并行通信时序图 (17)第一章绪论1.1(概述)当今世界,电子科技飞速发展,数字化、网络化、信息化,影响着人们的衣、食、住、行。

但现有电子科研实验室缺少频率在1MHz以下的电子仪器,严重阻碍了科研人员的创作速度。

传统汽车电子钟的不足主要是获得低频信号的手段是通过频谱搬移的方法,这造成了系统复杂,性能不佳,价格昂贵等缺点。

为此,本文设计提出了一种新颖的汽车电子钟,该汽车电子钟的特点是频带足够宽,可覆盖超低频和低频段,并能保证幅度稳定,线性良好。

而且把智能仪器的概念引入设计中,使其操作简单,易于使用。

本文针对传统电子仪在低频段的缺陷,在电子源部分抛弃了频谱搬移的方法,采用了直接产生低频超低频信号的器件,可获得性能优异的低频、超低频的电子信号:在峰值采样部分利用数字方法代替模拟方法,并借鉴逐次比较型A/D的思路,解决了高频段和低频段在进行峰值采样时所发生的矛盾。

在进行总体设计时,把智能仪器的概念引入该项目,利用微处理器的强大功能进行系统管理,使智能型电子仪的操作简单易用,减少了人为误差发生的可能性。

显示部分采用液晶显示仪,降低了功耗,便于携带。

频率范围:0.2Hz-200KHz 。

幅度要求:在整个频率范围内,幅度保持不变。

智能要求:操作方便,能够进行较复杂的数据处理[1]。

1.2(汽车电子钟简介)由信号与系统的理论可知,每一个系统给予某一种的激励(输入),它将完成某一种既定的功能(输出)。

对于线性时不变系统(现实情况大多基本满足或近似满足),它的既定功能是确定的,并具有以下性质:当某一频率的信号通过某个线性时不变系统时,频率不受系统的影响,幅度和相位根据系统对此频率的而交化,这种幅度和相位的交化我们称其为该系统的频率响应。

当将一变频信号输入某一系统,根据其频率响应我们可获得该系统的很多有用信息。

电子测量技术是根据以上原理而发展起来的。

对于某个系统,我们用某种方法测出所关心频段的频率响应,则对此系统在此频段的性质也就一清二楚了。

电子测量技术应运而生,我们把能够实现电子测量功能的设备或仪器成为电子仪。

电子测量技术的发展,是和电子装置、电子方式的发展有很大的关系。

在最初,电子测量时采用点截法(离散法或静态法)测量时,采用电压表作为接收信号指示器,把频率由低调高,由电压表读出数值,然后手工画出曲线。

在五十年代出现连续的(动态法)电子测量技术。

使信号的频率在某一个频段内连续周期性变化,然后取出包络,在显示器件(一般为示波器)上显示[1]。

其基本原理为如图1.2所示。

扫频源被测网络峰值检波示波器扫描电压Y X图1. 1传统的电子仪原理动态法最早的测量装置所使用的电子方式是机械电子,用一个小马达带动振荡器振荡回路中可变电容器或带动机械调谐的速调管,以改变振荡器的振荡频率实现电子。

到了六十年代则以铁氧磁电子为主,在微波电子测量中,电压调谐的返波管代替了机械调谐的速调管。

七十年代初期,电子方式已转向变容二极管电子,出现了固态微波电子信号源。

返波管因其寿命有限,己经很少采用。

现在电子测量所使用的电子方式,基本上是变容管电子和高导磁率的YIG 小球磁电子。

现在电子测量装置,已向着一机多能的方向发展。

如兼有电子仪和频谱仪功能的电子频谱仪。

超低频、低频网络或部件在航天、航空、地震、生物医疗等方面有着较广泛的应用,如医疗上,低频脉冲治疗机频率可低至0.1Hz 以下,心电图机的频率响应需在0.1Hz-40Hz 左右,并且对于甚低频标准信号有着更广泛的应用。

因此,汽车电子钟显得十分重要。

汽车电子钟电子范围要求电子仪的电子信号振荡器必须有良好的性能。

传统的汽车电子钟采用频谱搬移的方法,电子源低端频率很难达到0.2Hz ,电路结构复杂。

其电子信号发生器如图1.3所示。

固定高频振荡器扫频高频振荡器混频低通滤波器扫描电压低频扫频信号输出图1. 2传统电子信号发生器图中的固定振荡器和电子振荡器都工作在高频,为了得到性能良好的低频电子信号,对这两类信号和低通滤波器的性能指标为:(1) 定频信号:对ω0 的稳定度指标非常严格,基本要求不变;(2) 可变频信号:ω的变化范围要求非常小,并且ω的中心频率要求等于ω0;(3) 低通滤波器要求导通段频率响应变化很小,导通段和截止段的过渡变化很快 。

以上要求是非常苛刻的,两高频振荡器的频率很接近,没有特殊措施的情况下,容易产生频率牵引,造成频率精度差,电子宽度也受到限制。

并且此方法的后级显示也很复杂,因为低频载波信号的包络频率与载波频率接近,很难用常规方法检波,必须采用超外差接收机形式[2]。

原理如图1.4所示。

被测网络检波显示中频放大器混频扫频振荡器低频扫频信号图1. 3 超外差接收机原理 综上所述,传统的汽车电子钟的电路结构极其复杂、造价高且性能差、精度低。

按照此思路,即使采用先进数字集成电路和频率合成技术也难使其结构简化、性能提高。

1.3 项目研究内容与章节安排一、 基本要求1、基本测试频率范围1KHz —10KHz ,能测出±3dB 带宽。

LED(或LCD)显示,测量精度大于10% 。

2、能够测量被测电路的电压传输增益(所测电压增益范围为-20—+20dB 之间),并显示该增益数字,测量精度大于10% 。

(注:被测量电路输入信号是周期正弦波信号、幅度通常在100mV 到1V 之间选择,增益测试通常在电路的中心频率上进行)发挥部分:1、能够测试出被测电路频率响应图形并用LCD 液晶显示;2、测试频率范围扩大至20KHz —50KHz 。

二、项目设计基本思想设计一个简易电路频率特性测试装置,参考示意图如图1.1所示:需要进一步描述图1. 4简易频率特性测试仪方框图三、章节安排每章内容简单介绍 电子信号 发生器被测试 A/D 处理 显示和输出 输入调理 电路第二章系统的硬件设计2.1系统的总体设计汽车电子钟的总体设计如图2.1所示。

由图可见,汽车电子钟分为三大功能块:数控电子仪、微处理器和人机界面。

整个系统实现的功能为:(1) 用户从人机界面的键盘处输入指令对电子仪进行设置。

(2) 微处理器在获取指令之后,对指令进行处理,首先判断指令是否输入正确,如不正确,回到(1)。

如正确,进行计算以获取测量所需数据。

(3)微处理器根据计算所得数据,对数控电子仪进行电子控制,并获取电子测量的结果。

(4)在完成测量之后,微处理器对测量结果进行处理,并把处理结果送入人机界面中的液晶显示仪中进行图形显示。

单片机C8051F020扫频源DDS芯片AD9851峰值采样键盘及显示被测网络控制数据传输低频扫频仪数控扫频仪图2. 1汽车电子钟的总体设计图2.2 系统设计的方案分析对智能型汽车电子钟而言,数控电子仪为智能型汽车电子钟的核心。

它由电子源、峰值采样、输入输出三个部分构成。

根据第一章的系统分析可知,传统电子仪的电子源采用频谱搬移的方法,低频段的性能不佳。

按频谱搬移的思路设计,由于器件的物理特性的关系,改进的余地不大。

并且按此思路构造的电路结构复杂,器件众多,系统误差大,不利于数字化控制。

我们抛弃了频谱搬移的方法,利用DDS 芯片AD9851可直接产生低频信号,此举可使低频信号稳定,并且精度很高。

如要满足测量仪器部分可控化的要求,则需要转换电子源的模拟设计思路,由模拟设计方式转换为数字设计方式。

即电子仪的频率变化不是连续的,而是离散的(对应于第一章中的点测法)。

由于微处理器的介入,使得点测法中的手工调整频率和手工绘制频谱图改为机器操作,大大的减小了人为误差。

此举可能会带来部分系统误差,但只要频率间隔足够小,这部分系统误差是非常小的;虽然此处付出的系统误差增大的代价,但可以使输入输出部分和峰值采样部分的系统误差大幅度降低,导致整个仪器的系统误差减小[3]。

相关文档
最新文档