闹钟设计报告
- 格式:doc
- 大小:223.50 KB
- 文档页数:7
概要:本文通过对OPhone内置闹铃功能的简单介绍,来让开发者朋友们了解基于OPhone 平台下客户/服务模式的编程模型,以及如何使用OPhone系统提供的闹铃唤醒功能。
与此同时,本文还对PendingIntent做一些简单的介绍,并通过实例程序来演示如何通过PendingIntent将闹钟应用程序和系统闹铃服务联系起来。
关键字:闹钟;一、闹铃功能闹钟应用程序作为人们日常常用的基本应用程序之一,其重要性不言而喻。
在OPhone 系统中闹铃服务功能不仅仅对闹钟应用程序服务,最重要的是可以利用该闹铃服务功能提供的唤醒能力来做定时器。
这样即便应用程序没有运行或者是没有启动的情况下,只要其注册过闹铃,那么该闹铃到时间后,OPhone系统可以自动将该应用程序启动,这就是所谓的闹铃“唤醒“功能。
在OPhone系统中,底层系统提供了两种类型的时钟,软时钟与硬时钟,软时钟就是我们常说的Timer,硬时钟就是RTC。
系统在正常运行的情况下,Timer工作提供时间服务和闹铃提醒,而在系统进入睡眠状态后,时间服务和闹铃提醒由RTC来负责。
对于上层应用来说,我们并不需要关心是timer还是RTC为我们提供服务,因为OPhone系统的Framework层把底层细节做了封装并统一提供API。
这个API他的名字就叫AlarmManager。
在OPhone系统中有意思的是对应AlarmManage有一个AlarmManagerServie服务程序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在OPhone系统中,linux实现的设备名为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列表找到相应的注册闹铃并发出广播。
该服务程序在系统启动时被系统服务程序system_service启动并初始化闹铃设备(/dev/alarm)。
单片机闹钟设计程序报告1. 引言闹钟作为人们日常生活中的常用物品,不仅有叫醒人们起床的功能,还可以作为提醒的工具。
随着科技的进步,单片机闹钟逐渐取代了传统的机械闹钟,成为人们生活中不可或缺的一部分。
本报告旨在介绍一个基于单片机的简单闹钟设计程序。
2. 设计方案本设计方案使用了单片机和数码管作为主要硬件,通过对单片机的编程,实现了闹钟的基本功能,包括时间设置、闹钟时间设置、闹钟触发、蜂鸣器报警等。
2.1 硬件设计硬件方面,本设计基于某型号的单片机和数码管。
单片机通过相关的引脚与数码管相连,通过控制引脚的电平来显示不同的数字。
2.2 软件设计软件方面,本设计使用C语言编程实现。
主要的功能包括获取当前时间、显示时间、设置时间、设置闹钟时间、闹钟触发检测、蜂鸣器报警等。
3. 程序实现3.1 初始化设置在程序的开始部分,需要对单片机进行初始化设置。
包括设置引脚的输入输出模式、设置计时器、设置中断等。
3.2 时间显示为了实现时间显示的功能,我们需要通过单片机的计时器来不断获取当前时间,并将其转换为时、分、秒的格式。
然后通过数码管显示出来。
3.3 时间设置通过给单片机的某个引脚接入按钮,实现时间设置功能。
当按钮被按下时,单片机进入时间设置模式。
此时,用户可以通过另外的按钮来逐个调整时、分、秒的数值。
3.4 闹钟时间设置类似于时间设置,闹钟时间设置也需要通过按钮来实现。
用户可以按下对应的按钮来设置闹钟的时、分,设置完毕后,单片机会将设置的时间保存起来。
3.5 闹钟触发检测在每一次时间显示的循环中,程序都会检测当前时间是否与闹钟时间相符。
如果相符,则触发闹钟,蜂鸣器开始报警。
3.6 蜂鸣器报警通过单片机的一个输出引脚,连接到蜂鸣器,实现蜂鸣器的报警功能。
当闹钟触发时,单片机会给对应的引脚输出一个高电平,从而使蜂鸣器发声。
4. 总结通过对单片机闹钟设计程序的实现,我们成功实现了闹钟的基本功能,包括时间设置、闹钟时间设置、闹钟触发、蜂鸣器报警等。
中国电子科技大学实习总结报告实习类型生产实习实习单位电子科学学院实习基地实习起止时间 201X年7月X日至202X年6月X日指导教师所在院(系)电子科学学院班级电信X班学生姓名学号202X年 6月 20日定时闹钟设计一、课题目的现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
首基、典花、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
单片机作为应用最广泛的控制系统之一,具有体积小,易于控制,价格便宜,安全可靠等等优良的性能而被广泛的关注。
无论是小到儿童玩具,到工业控制系统,大到航天航空系统的设计与操作之中,随处可见单片机的踪影。
大学电子专业,电气专业,通信等专业开设单片机课程,对人才的培养无疑是有着重大的意义的。
本次课程设计的题目是定时闹钟设计,通过课程设计使学生更进一步掌握单片机原理与应用课程的有关知识,提高用C语言编程的能力,并将所学的内容加以综合;通过查阅资料,了解所学知识的应用情况;通过课程设计全面系统的了解单片机的设计方法及设计步骤,了解微机系统的基本组成及开发设计过程中需要注意的问题。
1、设计目的及意义(1)设计目的1)掌握52系列单片机的基本硬件结构及工作原理;2)掌握52系列单片机的汇编语言及基本程序设计方法;3)学习并掌握使用52系列单片机开发控制系统的基本步骤及方法。
(2)设计意义学习单片机最重要的方法就是实现理论与实践相结合的学习方法。
有些工程师说过,能利用单片机设计并实现电子时钟,技能基本上掌握单片机的使用。
所以设计电子时钟的真正目的不在于设计出成品而投入使用,而是在于熟悉单片机的基本功能与编程来实现单片机的控制。
作为大学生,以后出去就业或是继续学业,都要有一定的动手能力和实践能力,而这,便是电子计时器设计的另一个目的。
编号:基础工程设计说明书题 目: 院 (系): 专 业: 学生姓名:学 号:指导教师:职 称:2015年 9 月18日简易电子闹的钟设计电子工程与自动化学院光电信息科学与工程李朝庭 1300820112 汪杰君 副教授摘要20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
简易电子闹钟是一个用于在一定时间后通过发出闹铃声而唤醒用户的简单电子电路,是用来防止午觉睡过头的仪器起定时唤醒用户的作用。
本系统主要由555 定时器构成的方波信号发生器和通过按键输入控制的两位计数器延时定时电路构成成的能够输入任意时间进行倒计时的电子时钟,模拟且定时时间间隔可在99秒范围内连续可调。
关键词:定时电路;555 定时器;多谐振荡器;定时闹钟AbstractAt the end of twentieth Century, the electronic technology has developed rapidly. In the promotion, the modern electronic products have penetrated almost all areas of the society. It has greatly promoted the development of social productive forces and the improvement of social information. Time is always so valuable to people, the work of the busy and complicated and easy to make people forget the current time. Forget to do, when it is not very important, this not hurt the important essentials. Simple electronic alarm clock is a used to after a certain period of time through the alarm sounds and wakes up the user a simple electronic circuit and is used to prevent nap sleep overdo the instrument from time to time to wake up the user's role. This system mainly consists of 555 timer square wave signal generator and the input control through the key input control of the two bit counter timing circuit can be input to the input of a time of the electronic clock, simulation and time interval can be within 99 seconds of continuous adjustable.Key words: timing circuit; 555 timer; multi harmonic oscillator; time clock目录引言 (1)1 设计任务 (2)1.1 设计题目 (2)1.2 设计要求 (2)2 系统的组成 (3)2.1 系统的组成总体框图 (3)2.2 各部分系统的功能 (3)2.3 方案可行性分析与仿真调试 (3)2.3.1时钟信号发生系统 (3)2.3.2按键输入系统 (5)2.3.3 倒计时与响铃系统 (6)2.3.4各系统的衔接与总原理图 (9)3 硬件设计 (10)3.1 元器件选择的依据以及元件参数的确定 (10)3.2 PCB原理图与电路图布线设计 (10)3.3硬件制作 (11)4 系统调试 (12)4.1 信号发生器的调试 (12)4.2 计数器以及数码管显示的调试 (12)4.3 响铃系统调试 (12)4.4 按键输入电路的调试 (12)5 结论 (14)谢辞 (16)参考文献 (17)附录一元件清单 (18)附录二电路总原理图 (19)附录三PCB图 (20)附录四实物图 (21)引言随着电子技术的飞速发展,电子控制电路在日常生活中有着大量的应用并广泛地应用于工农业的生产和电子新产品的开发应用之中。
数字闹钟设计报告目录1. 设计任务与要求 (2)2. 设计报告内容2.1实验名称 (2)2.2实验仪器及主要器件 (2)2.3实验基本原理 (3)2.4数字闹钟单元电路设计、参数计算和器件选择…………………………3-72.5数字闹钟电路图 (8)2.6数字闹钟的调试方法与过程 (8)2.7设计与调试过程的问题解决方案 (8)3.实验心得体会……………………………………………………………………9、101. 设计任务与要求数字闹钟的具体设计任务及要求如下:(1) 有“时”、“分”十进制显示, “秒”使用发光二极管闪烁表示。
(2) 以24小时为一个计时周期。
(3) 走时过程中能按预设的定时时间(精确到小时)启动闹钟, 以发光二极管闪烁表示, 启闹时间为3s~10s。
2. 设计报告内容2.1实验名称数字闹钟2.2实验仪器及主要器件(1)CD4511( 4片)、数码管(4片)(2)74LS00(6片)(3)74LS138(2片)(4)74LS163(6片)(5)LM555(1片)(6)电阻、电容、导线等(若干)(7)面包板(2片)、示波器等2.3数字闹钟基本原理要想构成数字闹钟, 首先应选择一个标准时间源——即秒信号发生器。
可以采用LM555构成多谐振荡器, 通过改变电阻来实现频率的变化, 使之产生1HZ的信号。
计时的规律是: 60秒=1分, 60分=1小时, 24小时=1天, 就需要对计数器分别设计为60进制和24进制的, 并发出驱动信号。
各计数器输出信号经译码器到数字显示器, 按“时”、“分”顺序将数字显示出来, 秒信号可以通过数码管边角的点来显示。
数字闹钟要求有定时响闹的功能, 故需要提供设定闹时电路和对比起闹电路。
设时电路应共享译码器到数字显示器, 以便使用者设定时间, 并可减少电路的芯片数量;而对比起闹电路提供声源, 应具有人工止闹功能, 止闹后不再重新操作, 将不再发生起闹等功能。
数字电子钟的逻辑框图如图所示。
多功能数字闹钟电路设计实验报告
实验目的:设计一个多功能数字闹钟电路,能够显示时间、设定并响起闹铃。
实验原理:本实验采用数字集成电路实现数字显示和闹铃功能。
数字显示部分采用BCD到七段数码管解码器74LS47和共阴
七段数码管进行实现,闹铃部分采用555定时器集成电路作为发生器,通过驱动蜂鸣器发出声音。
实验仪器:多功能数字闹钟电路实验箱、数字集成电路
74LS47、七段数码管、555定时器集成电路、蜂鸣器、电源、
示波器等。
实验步骤:
1. 按照电路图连接电路。
将74LS47连接到七段数码管,将
555定时器连接到蜂鸣器和电路中相应的电源和地线。
2. 上电并调节电路供电电压。
3. 设定时间。
通过拨动开关和按钮进行时间的设定。
4. 切换闹钟状态。
通过开关切换闹钟的开启和关闭状态。
5. 监测闹钟时间。
借助示波器调整闹钟时间的精度。
6. 监测闹钟声音。
确认蜂鸣器发出的声音符合要求。
实验结果:实验中,我们成功设计并调试出了一个多功能数字闹钟电路。
通过拨动开关和按钮可以设定时间,并且可以通过切换开关来设置闹钟的开启和关闭状态。
实验中监测到的闹钟时间和声音都符合预期要求。
结论:通过本次实验,我们成功设计了一个多功能数字闹钟电路,实现了时间显示和闹铃功能。
实验结果显示该电路的性能良好,具有实用价值。
在实验中我们也学到了关于数字集成电路和定时器集成电路的使用和调试方法。
单片机做闹钟综合设计报告1. 引言闹钟是人们日常生活中常见的用于定时提醒的设备,而使用单片机来设计一款智能闹钟更加便捷和实用。
本设计报告将介绍如何使用单片机进行闹钟设计并具备一定的智能化功能。
2. 设计原理2.1 硬件设计本设计使用了一块单片机开发板、一块液晶显示屏、一个蜂鸣器和几个按键进行硬件设计。
- 单片机开发板:使用STC89C52单片机作为核心处理器,具有较高的稳定性和可靠性。
- 液晶显示屏:用于显示当前时间、闹钟设置和其他相关信息。
- 蜂鸣器:用于发出闹钟提醒的声音。
- 按键:用于设置闹钟时间和关闭闹钟。
2.2 软件设计软件设计主要基于C语言编写的程序,通过单片机的IO口来控制硬件设备。
- 系统初始化:设置单片机的时钟、IO口和外部中断等。
- 时间设置:通过按键实现对当前时间的设置,包括小时、分钟和秒钟。
- 闹钟设置:通过按键实现对闹钟时间的设置,并保存到EEPROM中,以便断电后依然能够记住设置的闹钟时间。
- 闹钟提醒:当当前时间和闹钟时间匹配时,发出蜂鸣器的声音提醒用户。
- 其他功能:包括显示当前时间、闹钟时间和提醒信息等。
3. 设计流程本次设计主要分为硬件设计和软件设计两个部分。
3.1 硬件设计流程1. 搭建电路连接,将单片机、液晶显示屏、蜂鸣器和按键连接在一起。
2. 使用示波器测试电路连接的正常性和稳定性,保证电路连接无误。
3. 按照电路图逐步搭建实验电路。
4. 将电路连接好后,用万用表和示波器等测试仪器对电路进行检测,确保硬件连接正确。
3.2 软件设计流程1. 编写初始化函数,对单片机进行必要的初始化设置。
2. 编写时间设置函数,通过调用按键函数实现时间的增加和减少,并将设置后的时间显示在液晶显示屏上。
3. 编写闹钟设置函数,通过按键设置闹钟时间,并将设置的闹钟时间保存在EEPROM中,以备断电后读取。
4. 编写闹钟提醒函数,通过对比当前时间和已设置的闹钟时间,当条件满足时,发出蜂鸣器的声音提醒用户。
数字电路实验课程设计报告数字闹钟第一部分设计任务1.1设计任务设计、制作一个带有校时功能、可定时起闹的数字闹钟。
1.2设计指标1、有“时”、“分”十进制显示,“秒”使用分个位数码管上的DP点显示。
2、计时以24小时为周期。
(23:59→00:00)3、具有校时电路,可进行分、时较对。
4、走时过程能按预设的定时时间(精确到小时)启动闹钟产生闹铃,闹铃响时约3s。
第二部分设计方案2.1总体设计方案说明系统组成:秒信号发生器:由LM555构成多谐振荡器走时电路:计数器和与非门组成校时电路:秒信号调节闹钟电路:跳线的方法由计数器、译码器、组合逻辑电路、单稳态电路组成显示电路:译码器数码管模块结构与方框图第三部分电路设计与器件选择3.1秒信号发生器3.1.1模块电路及参数计算提供秒脉冲取R1=1.5K,R2=2.4KC=220uF T≈1S3.1.2工作原理和功能说明CR T C R R T PL PH 2217.0)(7.0=+=z11H Tf ==CR R T T T PL PH )2(7.021+=+=3.1.3器件说明内部电路组成:(1)分压器(3个R)(2)电压比较器(A1、A2)(3)RS 触发器(4)反相器(5)晶体管T1端2端3端4端5端6端7端8端3.2走时电路设计3.2.1模块电路及参数计算包括秒计时器、分计时器、时计时器,每一部分由两片计数器级联构成。
(1).秒计时器:十进制与六进制级联而成,由两片74LS163和与非门实现。
(2).分计时器:同秒计时器。
(3).时计时器:模24,计数显示00~23。
由两片74LS160和与非门实现。
3.2.2工作原理及功能说明秒分计时器原理时计数器原理74LS160其清零方式通常称为“异步清零”,即只要清零端有效,不管有无时钟信号,输出端立即为0。
译码显示电路用译码器74LS48对计数结果进行译码,译码后在共阴极数码管上显示。
3.2.3器件说明74LS163结构图74LS160结构图3.3时间校对电路3.3.1模块电路及参数计算用555输出信号加至分,时计时器使其快速计数3.3.2工作原理和功能说明将所需要校对的时或分计数电路的脉冲输入端切换到秒信号,使用快脉冲计数,到达标准时间后再切换回正确的输入信号。
多功能闹钟设计实验报告
一、实验目的
1、熟悉实验装置,学会选用其功能电路,连接成实验需要的系统。
2、DS18b20温度传感器,DS1302时钟芯片,LCD1602的应用
二、实验内容
实验要求:1)设计能支持年、月、日、星期、时、分、秒的时钟,时钟有时间调整功能
2)提供固定时间点的闹钟报时功能;
3)具有温度测温及显示功能
4)以上数据要求液晶显示
三、流程图
初始化液晶,定时器 获取温度和时间
初始化18b20,并转化温度,存入数组
初始化1302并用RAM 存取定时时间 蜂鸣器响
按下S4键
否
正常显示年月日,时间,温度 蜂鸣器停止
是 根据S1按键次数选择要更改的数字 闹钟到时 S4按八次 按下S2 数字加一 键盘扫描
S1是否按下 是
否 按下S3
数字减
一。
阿坝师专电子信息工程系单片机与接口技术课程设计总结报告设计题目:带有LCD的定时闹钟学生姓名:翟华学号:20113043系别:电子信息工程系专业:计算机控制技术指导教师:莫建麟2012年12月16日题目带有LCD的定时闹钟专业计算机控制技术学号 20113043 姓名翟华主要内容:设使用89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD 时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可以使用。
基本要求:.字符型LCD(16*2)显示器.显示格式“时时分分”。
.由LED闪动来做秒计数表示。
.一旦时间到侧发动声响,同时继电器启动,可以扩充控制家电开启和关闭。
.程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00 00”,按下操作键K1-k4动作如下:(1)K1—设置现在的时间。
(2)K2—显示闹钟设置的时间。
(3)K3—设置闹铃的时间。
(4)K4—闹铃ON/OFF的状态设置,设置ON时连续三次发出“哗”的一声,off置为哗的一声。
设置当前时间或闹铃时间如下:(1)K1—时的调整。
(2)K2—分的调整。
(3)K3—设置完成。
(5)OFF发出“哗”K4---闹铃时间到时,发出一阵声响,按下本键可以停止声响。
除了显示当前时间的功能外,还可以扩充如下功能; .增加秒表计数。
.闹铃时间到侧产生音乐声。
.增加减计数功能。
.增加多组计数的功能。
参考文献郭天祥 51单片机C语言教程-入门。
余发山单片机原理及应用技术。
中国矿业大学出版社。
涂世亮,张友德。
单片微机控制技术。
清华大学出版社。
一.设计本电子定时闹钟的目的和意义以单片机为核心的数字时钟是很有社会意义和社会价值的。
钟表原先的报时功能已经原不能满足人们日益增长的要求,现代的电子时钟多带有类似自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、通断动力设备、甚至各种定时电气的自动启用等功能。
1.1 本LCD电子闹钟的特点和功能介绍数字钟介绍时钟是将小时、分钟、秒钟显示于人的肉眼的计时装置。
闹钟设计实验报告院系: 计算机与通信学院专业: 计算机科学与技术班级: 01154 班姓名: 伍晨曦(13号)指导老师: 杨华一.实验目的:1.学会VHDL语言的并发执行的特点;2.熟悉VHDL的一些语法;3.初步了解VHDL的编程思路;二.内容实验:一个电子钟.能用数码管显示时间.可以更改时间.可以闹铃.. 具有电子钟得功能.即可以正确的显示时间,可以更改时间.可以在规定的时间内闹铃,闹铃的时间为1分钟.闹铃的时间可调.三.实验原理根据VHDL语言编制底层模块,采用基本的图像法来完成顶层的布线,利用VHDL语言编制模块可以省去很多复杂的连线及列写复杂的逻辑函数关系。
其中的时间模块用计数器来模拟.一个24位计数器来模拟小时,两个60位计数器来模拟分钟和秒.其中闹铃里要加一个寄存器来存贮闹铃的设定.显示模块用数码管来显示.按照本课程设计要求及提供的数字逻辑系统EDA实验设备,思路如下:设计好小时、分钟、秒钟、按键、寄存器、扫描、闹铃、七段码、二选一、顶层电路的设计。
这些模块采用VHDL语言设计,然后生成模块存放在库中供以后调用。
采用图形法来设计顶层模块并编译、仿真并下载,生成大模块已完成课程要求。
四:源程序的实现1.小时的模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(clk :in std_logic;ho2,ho1 :out std_logic_vector(3 downto 0));end hour;architecture structure of hour issignal h2_temp :std_logic_vector(3 downto 0);signal h1_temp :std_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(h2_temp="0010" and h1_temp="0011")thenh2_temp<="0000";h1_temp<="0000";elsif(h1_temp="1001")thenh1_temp<="0000";h2_temp<=h2_temp+1;elseh1_temp<=h1_temp+1;end if;end if;ho2<=h2_temp;ho1<=h1_temp;end process;end structure;波形图2.分钟的模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport(clk :in std_logic;cn :out std_logic;ho2,ho1 :out std_logic_vector(3 downto 0));end minute;architecture structure of minute issignal h2_temp :std_logic_vector(3 downto 0); signal h1_temp :std_logic_vector(3 downto 0); beginprocess(clk)beginif(clk'event and clk='1') thenif(h2_temp="0101" and h1_temp="1001")thenh2_temp<="0000";h1_temp<="0000";cn<='1';elsif(h1_temp="1001")thenh1_temp<="0000";h2_temp<=h2_temp+1;elseh1_temp<=h1_temp+1;cn<='0';end if;end if;ho2<=h2_temp;ho1<=h1_temp;end process;end structure;波形图3.秒钟的模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport(clk :in std_logic;cn :out std_logic;ho2,ho1 :out std_logic_vector(3 downto 0));end second;architecture structure of second issignal h2_temp :std_logic_vector(3 downto 0);signal h1_temp :std_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(h2_temp="0101" and h1_temp="1001")thenh2_temp<="0000";h1_temp<="0000";cn<='1';elsif(h1_temp="1001")thenh1_temp<="0000";h2_temp<=h2_temp+1;elseh1_temp<=h1_temp+1;cn<='0';end if;end if;ho2<=h2_temp;ho1<=h1_temp;end process;end structure;波形图和分钟的一样.4.按键设计的模块:library ieee;use ieee.std_logic_1164.all;entity set isport(clk :in std_logic;hour,minute,second,bar:in std_logic;c1,c2 :in std_logic;sett :in std_logic;setring,setb :out std_logic;seth1,setm1,sets1 :out std_logic;seth,setm,sets :out std_logic);end set;architecture structure of set isbeginprocessbeginif(sett='0')thenseth1<=c2;setm1<=c1;sets1<=clk;seth<=bar and clk and hour;setm<=bar and clk and minute;sets<=bar and clk and second;setring<=bar and clk;setb<=bar;elsesets1<=second and clk;seth1<=hour and clk;setm1<=minute and clk;end if;end process;end structure;5.寄存器模块:library ieee;use ieee.std_logic_1164.all;entity regist isport(hour1,hour2,minute1,minute2,second1,second2 :in std_logic_vector(3 downto 0);set:in std_logic;outh1,outh2,outm1,outm2,outs1,outs2 :out std_logic_vector(3 downto 0) --output :out std_logic);end regist;architecture structure of regist isbeginprocess(set)beginif(set'event and set='1')thenouth1<=hour1;outh2<=hour2;outm1<=minute1;outm2<=minute2;outs1<=second1;outs2<=second2;end if;end process;end structure;波形图:6.闹铃模块:library ieee;use ieee.std_logic_1164.all;entity ring isport(hour1,hour2,minute1,minute2,second1,second2 :in std_logic_vector(3 downto 0);set :in std_logic;h1,h2,m1,m2,s1,s2 :in std_logic_vector(3 downto 0);output :out std_logic;oh1,oh2,om1,om2,os1,os2 :out std_logic_vector(3 downto 0));end ring;architecture structure of ring isbeginprocessbeginoh1<=hour1;oh2<=hour2;om1<=minute1;om2<=minute2;os1<=second1;os2<=second2;if(set='1')thenoutput<='0';elsif(hour1=h1 and hour2=h2 and minute1=m1 and minute2=m2)thenoutput<='1';elseoutput<='0';end if;end process;end structure;波形图:7.扫描电路:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity m1 isport(clk :in std_logic;hour1,hour2,minute1,minute2,second1,second2:in std_logic_vector(3 downto 0);q :out std_logic_vector(5 downto 0);output :out std_logic_vector(3 downto 0));end m1;architecture structure of m1 istype state is(s0,s1,s2,s3,s4,s5);signal presentstate :state;signal nextstate :state;beginswitchtonextstate :process(clk)beginif clk'event and clk='1' thenpresentstate<=nextstate;end if;end process switchtonextstate;changestate :process(presentstate)begincase presentstate iswhen s0=>nextstate<=s1;q<="000001";output<=hour2;when s1=>nextstate<=s2;q<="000010";output<=hour1;when s2=>nextstate<=s3;q<="000100";output<=minute2;when s3=>nextstate<=s4;q<="001000";output<=minute1;when s4=>nextstate<=s5;q<="010000";output<=second2;when s5=>nextstate<=s0;q<="100000";output<=second1;when others=>nextstate<=s0;q<="100000";output<=second1;end case;end process;end structure;波形图:8.二选一电路:library ieee;use ieee.std_logic_1164.all;entity twotoone isport(a,b :in std_logic_vector(3 downto 0);e,f :in std_logic_vector(5 downto 0);set :in std_logic;m :out std_logic_vector(5 downto 0);c :out std_logic_vector(3 downto 0));end twotoone;architecture structure of twotoone isbeginprocessbeginif(set='1')thenc<=a;m<=e;elsec<=b;m<=f;end if;end process;end structure;波形图:9.七段码:library ieee;use ieee.std_logic_1164.all;entity seg_7 isport(input :in std_logic_vector(3 downto 0);segment :out std_logic_vector(6 downto 0));end seg_7;architecture structure of seg_7 isbeginprocess(input)begincase input iswhen "0000" => segment <= "0111111";when "0001" => segment <= "0000110";when "0010" => segment <= "1011011";when "0011" => segment <= "1001111";when "0100" => segment <= "1100110";when "0101" => segment <= "1101101";when "0110" => segment <= "1111101";when "0111" => segment <= "0100111";when "1000" => segment <= "1111111";when "1001" => segment <= "1101111";when others => segment <= "0000000";end case;end process;end structure;10.顶层模块:library ieee;use ieee.std_logic_1164.all;entity clock isport(clk :in std_logic;hour1,minute1,second1 :in std_logic;bar,cp,sett :in std_logic;ring1 :out std_logic;e :out std_logic_vector(5 downto 0);segment :out std_logic_vector(6 downto 0));end clock;architecture structure of clock iscomponent setport(clk :in std_logic;hour,minute,second,bar:in std_logic;c1,c2 :in std_logic;sett :in std_logic;setring,setb :out std_logic;seth1,setm1,sets1 :out std_logic;seth,setm,sets :out std_logic);end component;component hourport(clk :in std_logic;ho2 :out std_logic_vector(3 downto 0);ho1 :out std_logic_vector(3 downto 0));end component;component minuteport(clk :in std_logic;cn :out std_logic;ho2,ho1 :out std_logic_vector(3 downto 0));end component;component secondport(clk :in std_logic;cn :out std_logic;ho2,ho1 :out std_logic_vector(3 downto 0));end component;component registport(hour1,hour2,minute1,minute2,second1,second2 :in std_logic_vector(3 downto 0);set :in std_logic;outh1,outh2,outm1,outm2,outs1,outs2 :out std_logic_vector(3 downto 0));end component;component ringport(hour1,hour2,minute1,minute2,second1,second2 :in std_logic_vector(3 downto 0);set :in std_logic;h1,h2,m1,m2,s1,s2 :in std_logic_vector(3 downto 0);output :out std_logic;oh1,oh2,om1,om2,os1,os2 :out std_logic_vector(3 downto 0));end component;component m1port(clk :in std_logic;hour1,hour2,minute1,minute2,second1,second2:in std_logic_vector(3 downto 0);q :out std_logic_vector(5 downto 0);output :out std_logic_vector(3 downto 0));end component;component twotooneport(a,b :in std_logic_vector(3 downto 0);e,f :in std_logic_vector(5 downto 0);set :in std_logic;m :out std_logic_vector(5 downto 0);c :out std_logic_vector(3 downto 0));end component;component seg_7port(input :in std_logic_vector(3 downto 0);segment :out std_logic_vector(6 downto 0));end component;signal w1,w2,cn2,cn1,cn0 :std_logic;signal h2,h1,a2,a1,s2,s1 :std_logic_vector(3 downto 0);signal h20,h10,m20,m10,s20,s10 :std_logic_vector(3 downto 0);signal h21,h11,m21,m11,s21,s11 :std_logic_vector(3 downto 0);signal h22,h12,m22,m12,s22,s12 :std_logic_vector(3 downto 0);signal q0,q1 :std_logic_vector(5 downto 0);signal p0,p1 :std_logic_vector(3 downto 0);signal c :std_logic_vector(3 downto 0);signal c1,c2 :std_logic;signal sh,sm,ss :std_logic;signal cnm,cns :std_logic;beginu0: set port map(clk,hour1,minute1,second1,bar,c1,c2,sett,w1,w2,cn2,cn1,cn0,sh,sm,ss);u1: hour port map(sh,h20,h10);u2: hour port map(cn2,h2,h1);u3: minute port map(cn1,c2,a2,a1);u4: minute port map(sm,cnm,m20,m10);u5: second port map(cn0,c1,s2,s1);u6: second port map(ss,cns,s20,s10);u7: regist port map(h10,h20,m10,m20,s10,s20,w1,h11,h21,m11,m21,s11,s21);u8: ring port map(h11,h21,m11,m21,s11,s21,w2,h1,h2,a1,a2,s1,s2,ring1,h12,h22,m12,m22,s12,s22);u9: m1 port map(cp,h12,h22,m12,m22,s12,s22,q0,p0);u10: m1 port map(cp,h1,h2,a1,a2,s1,s2,q1,p1);u11: twotoone port map(p0,p1,q0,q1,w2,e,c);u12: seg_7 port map(c,segment);end structure;顶层电路图:五.心得体会:1.进一步熟悉了VHDL的编程思想.2.做实验细心,发挥想象,充分运用所学知识。
单片机数字闹钟/电子表设计报告一、设计意义随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。
现代的数字钟不仅需要模拟电子技术,而且需要数字电路技术和单片机技术,增加了数字显示等的功能。
单片机电子钟表电路可以由单片机模块、实时时钟电路模块、人机接口模块、报警模块等部分组成,硬件电路简单稳定,并可以利用软件编程减小电磁干扰和其他环境干扰的影响,减小因元器件精度不够引起的误差等优点,与机械式时钟相比具有更高的准确性和直观性,电路简单,使用寿命长,应用范围广,被广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字钟表的精度远远超过老式机械钟表,给人们生产生活带来了极大的方便。
另一方面,由于单片机技术的使用,大大扩展了钟表原先的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。
因此,研究数字钟表及扩大其应用,有着非常现实的意义。
二、本设计功能描述1、采用STC89C52单片机作为主控芯片,实现数字钟表主控功能。
2、采用液晶屏显示当前年、月、日、时、分、秒,闹铃时间及状态等信息。
3、采用六键键盘设定时间初始值,具体方法是按时间设定键依次进入年、月、日、时、分、秒设定状态,然后通过向上、向下键修改设定值。
正在设定的变量以闪烁状态突出显示。
4、采用六键键盘设定闹铃时间,具体方法是按闹铃设定键依次进入时、分设定状态,然后通过向上、向下键修改设定值。
正在设定的变量以闪烁状态突出显示。
5、采用 DS1302 实时时钟芯片完成后台计时功能,要求具有后备电源,即使主电源掉电时间仍然保持运行。
6、可设定闹铃使能,具体方法是按闹铃使能键,按一次打开,再按一次关闭。
闹铃使能关闭时不报警。
7、当闹铃使能打开,且当前时间到达闹铃设置时间,则蜂鸣器和LED 红灯同时报警,如不按取消键,报警时间为 1 分钟。
*********大学********学院电子闹钟设计报告专业:******学号:******姓名:*******一.仿真电路图:二. 器件30P电容2个12MHZ晶振1个喇叭1个38译码器1个89c52单片机1个按键4个5V电源300欧电阻7个8位共阴数码管1个三.流程图:电子闹钟主流程图:调时、调日期、调星期流程图:倒计时结束流程图:音乐播放流程图:闹铃功能流程图:四.功能介绍:有计时,计日期,计星期,调时、调日期、调星期、闹钟、调闹钟、音乐闹铃、秒表、99秒倒计时、60秒倒计时、5秒倒计时、倒计时结束播放提醒音乐、直接按键播放音乐共计15个小的功能,分为四个功能模块,用四个按键来实现1.调时,查看日期以及调日期,查看星期以及调星期按键1进入该模块后,显示该模块的界面“1234”,分别代表在该界面中要用到的按键编号。
此时按1即进入调时界面,显示当前时间,按1秒加1,按2分加1,按3时加1,按4退出该界面而回到模块界面。
此时按2即进入查看日期以及调日期的界面,显示当前日期,按1天加1,按2月加1,按3年加1,按4退出该界面而回到模块界面。
此时按3即进入查看星期以及调星期的界面,显示当前星期,按1星期加1,按4退出该界面而回到模块界面。
此时按4则退出功能模块1而回到主界面。
2.调闹钟进入该模块时,显示闹钟时间,按1秒加1,按2分加1,按3时加1,按4退出调闹钟模块而回到主界面3.秒表,倒计时进入该模块后,显示界面“12 4”,分别代表在该界面中要用到的按键编号。
此时按1进入秒表计时状态,按4退出,回到模块界面。
此时按2进入99秒倒计时状态,按1切换到60秒倒计时,按1切换到5秒倒计时,在倒计时进行中,按4可以回到模块界面。
此时按4,可以回到主界面4.音乐进入该界面后,显示界面“00-00-00”,按1播放歌曲1,按2播放歌曲2,按3播放歌曲3,按4播放歌曲4,在播放歌曲时,按4可以结束播放音乐并且回到主界面。
一、实验目的1. 理解定时闹钟的基本原理和工作流程。
2. 掌握定时闹钟的电路设计方法。
3. 熟悉定时闹钟的关键元件及其功能。
4. 学会使用定时闹钟进行时间管理和任务提醒。
二、实验器材1. 集成电路:555定时器、计数器、比较器等。
2. 电阻、电容、二极管等电子元件。
3. 电源:直流电源。
4. 电路板、焊锡、电烙铁等焊接工具。
5. 数字多用表、示波器等测试设备。
三、实验原理定时闹钟的核心部件是555定时器,它可以通过外部电路设置产生精确的定时信号。
结合计数器和比较器,可以实现定时闹钟的定时功能。
1. 555定时器:555定时器是一种通用的时基电路,可以产生方波、三角波、锯齿波等波形信号。
通过外部电路设置,可以调整其定时时间。
2. 计数器:计数器用于对555定时器产生的脉冲信号进行计数,实现定时功能。
3. 比较器:比较器用于比较计数器的计数值与预设的闹钟时间,当计数值达到预设时间时,触发报警电路。
四、实验步骤1. 电路设计:根据实验要求,设计定时闹钟电路图。
电路图包括555定时器、计数器、比较器、报警电路等部分。
2. 元件选择:根据电路图,选择合适的电子元件。
注意选择具有较高精度和稳定性的元件。
3. 电路焊接:按照电路图,将选定的元件焊接在电路板上。
4. 电路调试:使用数字多用表测试电路各部分的电压和电流,确保电路正常工作。
5. 设置闹钟时间:通过调整外部电路,设置定时闹钟的闹钟时间。
6. 测试与验证:使用示波器观察定时闹钟产生的信号波形,确保定时闹钟的定时功能正常。
五、实验结果与分析1. 定时功能:通过实验验证,定时闹钟可以按照预设的时间进行定时,触发报警电路。
2. 闹钟时间设置:实验表明,通过调整外部电路,可以方便地设置定时闹钟的闹钟时间。
3. 报警功能:实验验证,定时闹钟的报警电路可以发出明显的报警声,提醒用户。
六、实验总结1. 掌握定时闹钟的基本原理和工作流程:通过本次实验,我们对定时闹钟的原理有了更深入的了解,掌握了其工作流程。
闹钟设计调研报告1. 引言闹钟作为人们日常生活中不可或缺的物品,一直以来都是设计领域的研究热点。
如何设计出一款功能齐全、易于使用且具有美观外观的闹钟,是本次调研的目标。
本报告将从市场调研、用户调研和竞品分析三个方面对闹钟设计进行调研,并提出一些建议。
2. 市场调研在市场调研中,我们收集了来自闹钟产品的数据和消费者反馈。
根据数据显示,越来越多的人开始依赖手机来当做闹钟使用,而传统的闹钟逐渐失去市场份额。
然而,对于需要频繁旅行的用户来说,手机闹钟并不方便。
因此,设计一款便携且易于使用的闹钟对这一用户群体非常有吸引力。
3. 用户调研为了更好地了解用户的需求和偏好,我们进行了一系列用户调研。
通过面对面的访谈和问卷调查,我们总结出以下用户需求:- 易于使用:用户希望闹钟的设置简单明了,使用起来不需要太多复杂的操作。
- 多功能:用户希望闹钟不仅仅具备闹铃功能,还能提供时间、天气、温度等实用功能。
- 美观外观:用户希望闹钟能够具备时尚、简约的外观,与现代家居环境相适配。
- 便携设计:用户希望闹钟能够轻便易携带,方便旅行使用。
4. 竞品分析我们对市场上主流的闹钟进行了竞品分析,其中包括传统的机械闹钟、电子数字闹钟和智能闹钟。
- 传统机械闹钟:传统机械闹钟的外观较为朴素,功能相对简单,主要以发出响亮的声音来唤醒用户。
然而,设置起来比较繁琐,而且由于机械件的存在,容易受到物理力学的限制。
- 电子数字闹钟:电子数字闹钟通过数字显示时间和设置按钮来操作,设置起来相对方便,功能较传统机械闹钟更加丰富。
但是部分产品操作界面复杂、外观平庸,无法满足用户对美观外观的需求。
- 智能闹钟:智能闹钟具备与手机和网络连接的功能,可以通过手机应用进行远程操控。
除了时间和闹铃功能外,还可以提供多媒体播放、天气预报、语音控制等功能。
然而,智能闹钟的售价较高,且复杂的设置和操作不适合所有用户。
5. 设计建议基于市场调研、用户调研和竞品分析的结果,我们提出了以下设计建议:- 简约易用:设计一个简洁明了、操作方便的界面,用户能够轻松设置闹钟并使用其他功能。
成都信息工程学院第五届嵌入式创新技术大赛基于MCS51的智能电子闹钟设计报告姓名学院班级实物图目录1.电子时钟的设计原理和方法 (1)1.1设计原理 (1)1.2 硬件电路的设计 (1)1.2.1 STC89C51RC简介 (1)1.2.2 键盘电路的设计 (2)1.2.3蜂鸣器驱动电路 (3)1.2.4 数码管驱动电路 (3)1.2.5 电源电路 (4)1.3软件部分的设计 (4)1.3.1主程序部分的设计 (4)1.3.2中断计时器及时间进位 (5)1.3.3 闹钟子函数 (7)1.3.4 按键扫描 (8)1.3.5 时钟闹钟设置 (9)1.3.6 显示数字函数 (10)1.3.7 显示界面函数 (10)1.3.8 闹钟记录及读取 (11)2.硬件调试 (13)附录A:电路原理图 (15)附录B:电路PCB图 (16)附录C:源程序 (17)1.电子时钟的设计原理和方法1.1设计原理系统框图1.2硬件电路的设计1.2.1 STC89C51RC简介STC89C52R CSTC89C51RC是一种带8K闪烁可编程可擦除只读存储器(FPETOM-FlashProgrammabalandErasableReadOnlyMemory )的低电压、高性能CMOS8位微型处理器,即单片机芯片。
单片机的可擦除只读存储器可以反复擦除1000次,内部FLASH 擦写次数为100000次以上。
该芯片使用高密度非易失存储制造技术,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器集成在单个芯片中,使得STC89C51RC 成为了一种性价比极高的微型处理器芯片,在许多电路设计中都得到了应用。
STC89C51RC 单片机特点:工作电压:5.5V-3.4V 工作频率:0-40MHz 用户应用程序空间:8K 片上集成128*8RAMISP (在系统可编程)/IAP (在应用可编程),无需专用编程器/仿真器可通过串口(P3.0/P3.1)直接下载用户程序EEPROM 功能共3个16位定时器/计数器,其中定时0还可以当成2个8位定时器使用外部中断4路通用异步串行口(UART ),还可用定时器软件实现多个UART 工作温度范围:0-75℃引脚说明:VCC:供电电压 GND :接地P0:P0是一个8位漏级开路双向I/O 口,低8位地址复用总线端口。
数字式闹钟设计报告摘要数字式闹钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字式闹钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
目前,数字式闹钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。
数字式闹钟适用于自动打铃、自动广播,也适用于节电、节水及自动控制多路电器设备。
它是由闹钟电路、定时电路、放大执行电路、电源电路组成。
为了简化电路结构,闹钟电路与定时电路之间的连接采用直接译码技术。
具有电路结构简单、动作可靠、使用寿命长、更改设定时间容易、制造成本低等优点。
关键词:数字式闹钟;组合逻辑电路;时序逻辑电路。
一、设计任务和要求数字式闹钟的具体要求如下:(1) 时钟功能:具有24小时计时方式,显示时、分、秒。
(2) 能设定起闹时刻,响闹时间为1min,超过1min自动停止,具有人工止闹功能;止闹后不再重新操作,将不再发生起闹。
(3) 整点报时功能:要求整点差10S开始每隔1S鸣响一声,共5声。
每次持续时间为1S,前四次500HZ声音,最后一次1000HZ声音。
(4) 具有快速校准时、分、秒的功能。
二、方案设计与论证方案一:秒信号发生器:由LM555与RC组成的构成多谐振荡器。
走时电路:由计数器和与非门组成,秒、分计时器:十进制与六进制联而成,由两片74LS160和与非门实现。
时计时器:模24,计数显示00~23。
由两片74LS160和与非门实现。
校时电路:利用开关将所需要校对的时或分计数电路的脉冲输入端切换到秒信号,用555输出10HZ信号加至分,时计时器使其快速计数,到达标准时间后再切换回正确的输入信号。
闹钟电路:由数值比较器74LS85控制起闹点,当走时时间与设定的起闹时间相等时,闹钟将会起闹,整点时也会起闹报时。
显示电路:将计数器的输出直接与共阴极数码管相接,直接控制显示。
一、课程设计目的及目标
1.1、课程设计目的
1、掌握数字系统的分析和设计方法
2、能够熟练的、合理的选用集成电路器件
3、熟悉EWB软件的使用。
1.2、课程设计目标
带调时功能的电子闹钟,具体功能:进行24小时制的时、分、秒计时,实现时间和闹钟LED数码管显示,具有手动输入的时间功能调整,具有闹钟设置功能,能发出相应的闹钟提示。
1.3、主要器件,软件环境
74LS160芯片,简单逻辑门芯片,四段数码显示管。
EWB——虚拟电子工作平台。
74ls160的功能:74LS160芯片是一个具有清零、置数、保持、十进制计数等功能的计数器。
其引脚图如下:
CLR是清零端,低电平有效;
CLK是脉冲输入端口,高电平有
效;
ABCD数据输入端,
当LOAD低电平有效时,输入脉冲信号,
数据置入;
QaQbQcQd数据输出端;
ENP,ENT使能控制端,当
ENP*ENT=0时,计数器为保持
状态;
RCO为进位输出端。
二、设计方案
为了实现进行24小时制的时、分、秒计时,实现时间和闹钟LED数码管显示,具有手动输入的时间功能调整,具有闹钟设置功能,能发出相应的闹钟提示(本次设计中用灯代替)的电子闹钟。
主要用到的芯片有74LS160以及各种逻辑门芯片。
设计原理及电路图:
首先1秒是用一个可以产生1hz的脉冲信号来实现,74160的四个引脚输出DCBA
接入四引脚数码显像管就可以实现数字的显示。
60进制模块原理:60进制的分、秒模块可以通过74160的计数功能来实现。
当分、秒模块的个位数计数到9时,它的RCO端会有一个输出信号,我们可以通过这个信号来进行十位数的计数(因为此信号是跳到9时就输出的,所以我用了一个非门进行对十位数脉冲输入的延时),而十位数我们需要它从1跳到6,此时可以利用一个与非门接到其BC端来实现芯片的置0。
这样一个由74160构成的60进制的模块就实现了,其仿真电路图如下:
24小时计时模块原理:对于24小时的计时模块,我只需要通过改变60进制模块中的置0方式就可以,由于其计时到24时,十位数芯片和个位数芯片的四个输出端分别为:0010 0100,所以我通过一个与非门连接个位数芯片的c输出端和十位数芯片的b输出端来控制两
个芯片的置0即可。
其仿真电路图如下:
分、秒、时三个模块的连接:对于时与分、分与秒之间的连接,我们可以通过当上一个模块芯片的十位数跳到6时来进行一个进位,便可实现当60秒时进1分,60分时进1小时的功能。
调时模块原理:对于调时模块的实现,只需要通过开关(s、f、m)来控制脉冲输入即可,当然,当电路为调时模块时,需要切断三个模块之间的进位连接(通过开关space来实现),方便调时。
调时功能的分模块仿真电路图如下:
已经具有调时功能的电子钟仿真电路图:
闹钟模块原理:闹钟模块主要是通过分别与时钟模块的对比来实现,我是用同或门(芯片4077)来实现对比,通过与门来实现判断是否所有输出端口都一样,当闹钟模块的时间和时钟模块的输出时间完全一致时,闹钟则会响(闹钟的启动和关闭我用一个开关n来实现)。
闹钟的调时模块我是用4块74160芯片来实现的,闹钟的调试模块通过开关1 2 3 4分别控制闹钟的时和分的十位和个位。
闹钟对比模块和调时模块仿真电路图如下(报告中都只取一个显像管示例,其它原理相同):
为了实现闹钟模式和时钟模式可以在同一个数码显像管显示,我用了数据缓冲器74241和开关来进行切换,其原理是:时钟的输入和闹钟的输入分别输入到两块不同的数据缓冲器中,用开关0控制数据缓冲器的电源端来实现切换功能。
不过由于数码显像管不可以同时接两个芯片的输出端,所以我增加了一个或门芯片4071。
其电路如下:
上面所有的电路已经实现了电子钟的调时、闹钟功能。
接下来还有一些细节的设置,如闹钟模式和时钟模式的切换时的提示、闹钟是否开启等。
这些我主要是通过开关和灯来实现的,例如当我是时钟模式时,提示灯是蓝灯,时钟模式下的调时为蓝灯闪烁,闹钟模式为绿灯,而切换到闹钟模式时蓝灯不闪烁也不亮等。
其电路为:
最终的仿真电路图和数字电子闹钟的显示界面如下:。