多功能时钟方案报告(免费)
多功能数字时钟的设计报告

多功能数字时钟的设计引言现代社会科技飞速发展,人们生活节奏加快,时间就是金钱,时间就是生命。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
20世纪末,电子技术得到飞速发展,各类电子产品相继出现在市场,电子产品主要朝着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
数字化电子产品已渗入到人类生活的方方面面。
单片计算机即单片微型计算机(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多输入输出口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而52 单片机是51单片机的升级版,功能更强大。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
基于以上发展与现实需要本次设计课题就是基于单片机的设计-----基于单片机的多功能数字钟。
数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
一、设计目的:1.了解数字时钟的组成及工作原理2.熟悉数字钟的设计与制作:1).由晶振电路产生1HZ标准秒信号。
多功能电子时钟数字系统课程设计设计实验报告

多功能电子时钟数字系统课程设计设计实验报告数字系统课程设计设计实验报告———多功能电子时钟目录一、电子时钟的功能及工作介绍 01、本设计电子时钟具有的功能 02、本设计电子时钟工作介绍 0二、设计思路 0三、各模块具体介绍 (1)计数器模块: (1)控制模块: (3)四、仿真 (6)五、实验成果 (6)六、实验总结和感想 (6)1、实验错误排查和解决 (6)2、实验感想 (7)七、各模块代码 (8)1、计数器模块 (8)2、控制模块 (20)一、电子时钟的功能及工作介绍1、本设计电子时钟具有的功能1)具有显示时、分、秒的功能,能准确显示时间2)能够手动设置时间3)具有闹钟功能,可以设置闹钟的时间,然后再实际时间与设定时间相等是闹钟响,并有闹钟开关,可控制其是否响4)具有秒表功能,可以累计计时2、本设计电子时钟工作介绍此电子时钟开机后即会显示时间,其中后两位数码管显示秒,前两位数码管显示分,还可以通过拨盘开关S1来使得前两位数码管显示小时。
(开机后,按下按键1一次,会继续显示时间。
)此后,每按下按键1一次,会显示设置小时界面,按下按键1两次会显示设置分钟界面,按下按键1三次会显示闹钟设置小时界面,按下按键1四次会显示闹钟设置分钟界面,按下按键1五次会显示秒表界面。
而在每一个界面,按下按键2相应的位会开始跳动,在按下按键2时,跳动停止,此时按下按键3,即确认键,则会返回时间显示状态。
二、设计思路设计一个电子时钟,必然要用到计时器,而需要设置时间和闹钟,又需要控制器来控制系统所处的状态。
我们采用外部一个按键来切换系统的状态,用另一个按键来调整时间和启动秒表,再有一个按键来确认操作,并返回显示状态,继续等待命令。
在控制器中,需要接受外部信号,并给出信号给计时器,使其做出相应的动作。
多功能数字钟毕业设计报告

多功能数字钟毕业设计报告第一章多功能数字钟的概述1.1应用背景21世纪,我们将进入信息时代,在新技术和市场需求的共同作用下电子技术及其产业必将有高速的发展;电子技术分为数电电路和模拟电路,数电研究数字信号,比如像逻辑门等等,模拟电路主要讲的是各种功率放大电路等。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。
数字钟适用于自动打铃、自动广播,也适用于节电、节水及自动控制多路电器设备。
它是由数子钟电路、定时电路、放大执行电路、电源电路组成。
为了简化电路结构,数字钟电路与定时电路之间的连接采用直接译码技术。
具有电路结构简单、动作可靠、使用寿命长、更改设定时间容易、制造成本低等优点。
数字钟的技术实现时、分、秒计时的钟表。
与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。
数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。
这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。
数字钟广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义,深受人们欢迎。
因此,我们此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法.1.2数字钟的功能近年来随着计算机在社会领域的渗透和大规模集成电路的发展,数字钟的应用越来越普及了,并且由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,使数字钟的技术在电子和一些自动化行业中应用也越来越广泛了。
多功能数字钟的设计报告

多功能数字钟的设计报告目录1.实验目的 (2)2.实验题目描述和要求 (2)3.设计报告内容 (2)3.1实验名称 (2)3.2实验目的 (2)3.3实验器材及主要器件 (2)3.4数字钟基本原理和电路设计 (3)3.5数字电子钟单元电路设计、参数计算和器件选择..............................3-8 3.6数字电子钟电路图 (9)3.7数字电子钟的组装与调试 (9)4.实验结论 (9)5.实验心得 (10)参考文献 (10)1.实验目的※掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;※提高电路布局﹑布线及检查和排除故障的能力;※培养书写综合实验报告的能力。
2. 实验题目描述和要求1、基本要求(1)能进行正常的时,分,秒计时的功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数显示。
(2)、具有清零功能。
(3)、具有开、关功能。
2、发挥部分(1)能实现“校时”“校分”功能:当按下“SA”“校时”键时,计时器迅速递增,并按24小时循环,计满23小时后返回00;按下“SB”“校分”键时,计分器迅速递增,并按60分钟循环,计满59分钟后返回00;但不向“时”进位。
(2)能利用扬声器做整点报时:整点自动报时。
(参考:在离整点10s内,便自动发出鸣叫声,步长1s,每隔1s鸣叫一次,前四响是低音,最后一响为高音,最后一响结束为整点,报时频率可定为1KHz。
)能进行整点报时:当计时到达59分50秒后,每隔2秒钟发出一次低音“嘟”信号(其声音频率为500HZ),连续5次到达整点,发出一次高音“嘀”信号(其声音频率为1000HZ)3、对电路进行逻辑功能仿真。
3.设计报告内容3.1实验名称: 数字电子钟3.2实验目的·掌握数字电子钟的设计、组装与调试方法;·熟悉集成电路的使用方法。
多功能电子时钟实训报告

一、实训目的本次实训旨在通过学习单片机技术,设计并实现一个基于单片机的多功能电子时钟系统。
通过实训,使学生掌握以下知识和技能:1. 熟悉单片机的基本原理和编程方法;2. 掌握电子时钟系统的硬件设计、软件编程和调试方法;3. 提高动手能力和实际应用能力。
二、实训内容1. 系统硬件设计(1)核心控制器:选用AT89C51单片机作为系统的核心控制器。
(2)时钟芯片:使用DS1302实时时钟芯片,提供精确的时间信号。
(3)液晶显示屏:选用1602液晶显示屏,用于显示时间、日期、温度等信息。
(4)按键模块:设计包含时间设置键、日期设置键、闹钟设置键等的按键模块。
(5)温度传感器:使用DS18B20温度传感器,用于检测环境温度。
(6)电源模块:为整个系统提供稳定的工作电压。
2. 系统软件设计(1)主程序:负责系统初始化、时钟显示、闹钟提醒、温度检测等功能。
(2)中断程序:负责时钟中断、闹钟中断、温度中断等。
(3)显示程序:负责液晶显示屏的显示内容更新。
(4)按键处理程序:负责按键扫描、按键消抖、按键功能处理等。
三、实训过程1. 硬件搭建(1)根据设计图纸,焊接电路板。
(2)连接单片机、时钟芯片、液晶显示屏、按键模块、温度传感器和电源模块。
(3)检查电路连接是否正确,确保系统硬件正常工作。
2. 软件编程(1)编写主程序、中断程序、显示程序和按键处理程序。
(2)使用C语言进行编程,并利用Keil软件进行编译。
(3)将编译好的程序烧录到单片机中。
3. 调试与优化(1)在Proteus仿真软件中,对系统进行仿真调试。
(2)检查程序运行是否正常,优化程序代码。
(3)对硬件电路进行调整,确保系统稳定运行。
四、实训结果1. 系统功能实现(1)显示当前时间、日期和温度。
(2)设置闹钟时间,并在设定时间响起。
(3)计时器功能,可以记录时间。
(4)温度检测功能,实时显示环境温度。
2. 系统稳定性通过仿真和实际测试,系统稳定运行,满足设计要求。
多功能数字时钟设计报告

题目:多功能数字钟设计学校:广东石油化工学院学院:机电工程学院班级:装控09--2姓名:黄亚冲学号:16一、设计任务多功能数字钟电路设计二、设计条件74LS00 4片,74LS48 6片,74LS74 1片,74LS90 5片,74LS92 2片,74LS191 1片,555 1个,数码显示器202 6片,电阻器 6个,电容器 4个,开关 2个三、设计要求①准确计时,以数字形式显示时、分、秒的时间。
②小时的计时要求为“12翻1”,分和秒的计时要求为60进制进位。
③校正时间。
4、课程设计工作量:1周内完成对多功能数字钟的设计、仿真、装配与调试。
四、设计内容1.设计思想:数字钟主要分为数码显示器、60进制和12进制计数器、频率振荡器和校时这几个部分。
该系统的工作原理是:振荡器产生的稳定高频脉冲信号,作为数字钟的时间基准,在经分频器输出标准秒脉冲。
秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位,小时计数器按照“12翻1”规律计数。
计数器的输出经译码器送显示器。
计时出现误差时可以用校时电路进行校时、校分、校秒。
图1、多功能数字钟系统组成框图2.电路结构与原理图(1)振荡器振荡器可由晶振组成,也可以由555定时器组成。
图3是由555定时器构成的1KHZ的自激振荡器,其原理是0.7(2R3+R4+R5)C4=1ms,f=1/t=1KHZ。
计时是1HZ的脉冲才是1S计一次数,所以需要分频才能得到1HZ的脉冲。
图2、晶体振荡器图3、555振荡器(2)分频器的设计分频器电路,是三个用十进制计数器74LS90串联而成的分频器,分频原理是在74LS90的输出端子中,从低位输入10个脉冲才从高位输出1个脉冲,这样一片74LS90就可以起十分频的作用,三个74LS90串联就构成了千分频的电路,输出的便是1HZ的信号,从而达到目的。
电路图见图4图4、分频器(3)小时计数器的设计——12进制计数器时计数器是一个“12翻1”的特殊进制计数器,即当数字钟运行到12时59分59秒,秒的个位计数器再输入一个秒脉冲是,数字钟应自动显示为01时00分00秒,实现日常生活中习惯用的计时规律。
多功能数字时钟设计报告

多功能数字时钟设计报告目录一.设计任务和要求 (2)二.设计的方案的选择与论证 (2)三.电路的设计计算与分析 (4)四.总结及心得 (12)五.附录 (14)六.参考文献 (15)一设计任务和要求:实现24小时的时钟显示、校准、整点报时、闹铃等功能。
具体要求:(1)显示功能:具有“时”、“分”、“秒”的数字显示(“时”从0~23,分0~60,秒0~60)。
(2)校时功能:当刚接通电源或数字时钟走时有偏差,能动手对“时”、“分”、“秒”进行校时。
(3)整点报时:当时钟计时到整点时,能进行整点报时。
(4)闹铃功能:在24小时之内,可以设定定时时间,当数字时钟到定时时间时能进行.二设计的方案的选择与论证2.1.总体设计方案与思路系统用十进制的计数器分别构成一个二十四、两个六十进制的计数器,串联连接计数器、并加秒脉冲,使“秒”、“分”、“时”进位,从而数字时钟的显示显示功能;系统应用校时电路实现时钟的校时功能;系统应用译码电路将整点识别出来,同时进行报时;系统用寄存器先把闹铃响的时间存储起来,再用数值比较器,将寄存器存储的时间与实际时间点比较,如果相等,则闹铃工作,从而实现了时钟的闹铃功能。
多功能数字时钟的电路原理结构图如下图所示:图1.多功能数字时钟的电路原理结构图上图中:开关S2的作用,当S2置于左侧时数字时钟正常显示时间,当置于右侧时,数字时钟进行调时,此时若寄存电路的开关合闭则进行设置闹铃时间.2.2.方案的具体实现由于本电路的复杂性,电路图多的特点,本方案采用了子电路与主电路相结合的方案,这样易于调试和修改。
另外采用了总线的电路连线方式使电路图简洁美观。
1.总体电路的设计总体电路如图所示:DCD_HEX_BLUE DCD_HEX_BLUE DCD_HEX_BLUE DCD_HEX_BLUE DCD_HEX_BLUE DCD_HEX_BLUESONALERT600 Hz总体电路是由小时计时电路、分钟计时电路、秒钟计时电路、校时选择电路、整点译码电路、闹钟的寄存与比较电路、和由555定时器构成的秒脉冲电路等七个子电路模块连接在一起,和外接开关和数码管构成。
电子综合设计多功能数字钟报告

电子综合设计多功能数字钟报告报告内容如下:一、设计目的和原理多功能数字钟是一种能够显示时间,并具有闹钟、计时、倒计时等功能的电子设备。
本设计的目的是通过FPGA实现一个多功能数字钟的功能,以实现时间的显示和闹钟的设置功能。
二、设计方案和实现1.硬件设计方案:本设计使用FPGA作为主控芯片,使用七段数码管作为显示器,通过与FPGA的IO口连接来实现时间的显示功能。
同时,使用按键作为输入进行功能的选择和设置。
2.硬件连接:将FPGA的IO口连接到七段数码管的控制端,通过IO口输出相应的数字信号来控制数码管的亮灭。
将按键连接到FPGA的IO口,通过IO口输入按键的信号。
此外,还需要连接一个晶振电路来提供时钟信号。
3.软件设计方案:本设计使用VHDL语言进行程序设计,通过状态机来实现多功能数字钟的功能。
具体实现包括时间的显示、闹钟的设置和启动、计时和倒计时功能的实现。
通过按键的输入来切换不同的状态,实现不同功能的切换和设置。
4.软件实现具体步骤:(1)定义状态机的状态,包括时间显示、闹钟设置、计时和倒计时等状态。
(2)在时间显示状态下,通过FPGA的IO口输出相应的数字信号来控制七段数码管的亮灭,实现时间的显示。
(3)在闹钟设置状态下,通过按键的输入来设置闹钟时间,并将设置好的时间保存在寄存器中。
(4)在计时和倒计时状态下,通过按键的输入来实现计时和倒计时功能,并通过七段数码管的显示来实时显示计时和倒计时的时间。
以下为本设计的完整程序代码:```vhdl--时钟频率--定义状态signal state : state_type;--定义时钟、按键和数码管信号signal clk : std_logic;signal key : std_logic_vector(1 downto 0);signal seg : std_logic_vector(6 downto 0);--闹钟时间寄存器signal alarm_hour_reg : std_logic_vector(5 downto 0);signal alarm_min_reg : std_logic_vector(5 downto 0);--计时和倒计时寄存器signal count_up_reg : std_logic_vector(23 downto 0); signal count_down_reg : std_logic_vector(23 downto 0); signal count_down_flag : std_logic := '0';beginclock : processbeginwhile true loopclk <= '0';wait for 10 ns;clk <= '1';wait for 10 ns;end loop;end process;key_scan : process(clk)beginif rising_edge(clk) thenkey <= key_scan_func; -- 按键扫描函数end if;end process;fsm : process(clk, key)beginif rising_edge(clk) thencase state isif key = "10" then -- 第一个按键按下state <= set_alarm;elsif key = "01" then -- 第二个按键按下state <= count_up;end if;when set_alarm =>seg <= set_alarm_func; -- 闹钟设置函数if key = "00" then -- 两个按键同时按下elsif key = "01" then -- 第一个按键按下state <= count_up;end if;when count_up =>seg <= count_up_func; -- 计时函数if key = "00" then -- 两个按键同时按下elsif key = "10" then -- 第二个按键按下state <= count_down;count_down_flag <= '1';end if;when count_down =>seg <= count_down_func; -- 倒计时函数if key = "00" then -- 两个按键同时按下count_down_flag <= '0';elsif key = "01" then -- 第一个按键按下state <= count_up;count_down_flag <= '0';end if;end case;end if;end process;--数码管信号和显示模块的连接display : entity work.seg_displayport mapclk => clk,seg => segend architecture;```四、总结与展望通过FPGA实现多功能数字钟的设计,在硬件和软件的配合下,实现了时间的显示和闹钟的设置功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能数字钟设计报告中国计量学院2018年5月3日目录摘要1.设计任务1)基本要求2)发挥部分2.方案论证与比较1)显示部分2)数字时钟3)温度采集4)闹铃部分5)电源模块3.总体方案1)工作原理2)总体设计4.系统硬件设计1)STC89C52RC单片机最小系统2)测温模块3)时钟模块4)存储器模块5) LCD显示模块6)电源模块5.单片机程序部分1)程序编写6.测试与结果分析1)基本部分测试与分析2)发挥部分测试与分析3)创新部分测试与分析7.设计总结摘要本设计采用LCD液晶屏幕显示系统,以STC89C52RC单片机为核心,由键盘、温度采集、定时闹铃、日期提醒等功能模块组成。
基于题目基本要求,本系统对时间显示、闹铃方式进和温度采集系统行了重点设计。
此外,扩展了整点报时、非易失闹铃信息存储、国内外重要节日提醒等功能。
本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。
本系统不仅成功的实现了要求的基本功能,多数发挥部分也得到了实现,而且还具有一定的创新功能。
关键字:STC89C52RC单片机、LCD液晶显示、双电源供电、温度采集、非易失定时闹铃、生日提醒、重要节日提醒、整点报时1、任务设计1)基本要求<1)具有时间设置<小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。
<2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。
<3)利用键盘或其它方式切换,数字显示年、月、日、周次。
<4)利用键盘或其它方式切换,数字显示当前环境温度<0~60℃0.2℃)。
<5)利用手势或其它任意方式非接触停止闹钟。
2)发挥部分<1)220VAC供电,具有测量、显示电网频率、电压有效值功能。
<2)产生0-100k方波,频率10Hz步进可调,峰峰值〉20V<100欧姆负载),频率可以键盘控制。
<3)断电后,可保存电压、频率测量值,断电时间,闹钟设置值等参数,可自动保存20次,系统来电后,无需手动设置,即可恢复正常工作。
<4)遥控设置闹钟、时间等参数。
2、方案论证1)显示部分:显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,且可靠性也较低。
而对于动态显示方式,虽可以避免静态显示的问题,但设计上如果处理不当,易造成亮度低,有闪烁等问题。
方案二:采用LCD显示。
LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。
鉴于上述原因,我们采用方案二。
2)数字时钟数字时钟是本设计的核心的部分。
根据需要可采用以下两种方案实现:方案一:方案完全用软件实现数字时钟。
原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。
该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。
而且由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
方案二:方案采用Dallas公司的专用时钟芯片DS1302。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,可使系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
3)温度采集由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。
方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1摄氏度的信号是不适用的。
方案二:采用温度传感器DS18B20。
DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18B20的以上优点,我们决定选取DS18B20来测量温度。
4)闹铃部分一般的时钟都带有闹铃,实现闹铃方式可采用以下两种:方案一:将闹钟信息存放在单片机自带的存储器中。
该方案成本低而且易于实现,但是一但掉电会造成之前信息的丢失。
方案二:将闹钟信息存放在非易失储存器AT24C02中。
该方案即使在完全的掉电的情况下也不会造成闹钟信息的丢失,可避免方案一带来的麻烦。
5)电源模块方案一:采用干电池作为系统电源。
但需经常换电池,不符合节约型社会的要求。
方案二:采用直流稳压电源作为系统主电源,干电池作为辅助电源。
不仅不需要经常更换电源,并且当市电停止时能够采用干电池做为系统电源,使用更加安全可靠。
基于以上分析,我们决定采用方案二3、总体方案1)工作原理:本设计采用STC89C52RC单片机作为本系统的控制模块。
单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。
以LCD液晶显示器为显示模块,把单片机传来的数据显示出来,并且显示多样化。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
2)总体设计:总体框架图如图1设图1 总体框架4、系统硬件设计<单元电路设计及分析)1) STC89C52RC单片机最小系统:最小系统包括晶体振荡电路、复位开关和电源部分。
图2为STC89C52RC单片机的最小系统。
2)温度测量模块:温度测量传感器采用DALLAS 公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D 转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU 只需一根口线便能与DS18B20通信,占用CPU 口线少,可节省大量引线和逻辑电路。
接口电路如图3所示。
图3 DS18B20测量电路3)时钟模块:时钟模块采用DS1302芯片,DS1302是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM 通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:RST 复位、I/O 数据线、SCLK 串行时钟。
时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW ,其接线电路如4图4 时钟电路4)存储器模块:存储器采用Atmel公司的AT24C02芯片。
该芯片带有2KB的串行COMS EEPROM,内部含有256个8位字节,可通过I2C总线对其接口进行读写操作,而且带有写保护功能。
其接线图如图5所示。
图5 AT24C02存储器电路5) LCD液晶显示模块:LCD液晶显示模块采用LCD1602型号,具有很低的功耗,正常工作时电流仅2.0mA/5.0V。
通过编程实现自动关闭屏幕能够更有效的降低功耗。
LCD1602分两行显示,每行可显示多达16个字符。
LCD1602液晶模块内部的字符发生存储器<CGROM)已经存储了160个不同的点阵字符图形,通过内部指令可实现对其显示多样的控制,并且还能利用空余的空间自定义字符。
其接线如图6图6 LCD显示电路6)系统电源:双电源设计是本设计的重点。
220V交流转5V直流稳压电源会更加安全、实用。
当没有交流电时,系统采用干电池供电;当接通交流电时,则电路自动切换到交流电供电,并且对干电池进行慢性充电。
电路图如图7:图7 电源电路5、单片机程序部分1)程序编写#include<reg51.h>sbit led = P3^7。
//电源指示sbit key1 = P2^0。
sbit led6 = P2^1。
//模拟灯指示sfr smdis = 0x80。
sbit weishuang0 = P2^6。
//数码管第一个位选 sbit weishuang1 = P2^7。
//数码管第二个位选unsigned char shu0,shu1,tc=0。
unsigned int times。
unsigned char code md[]={0x7d,0x18,0xb5,0xb9,0xd8,0xe9,0xed,0x38,0xfd,0xf9, 0x7f,0x1a,0xb7,0xbb,0xda,0xeb,0xef,0x3a,0xff,0xfd,0x40,0x00}。
//0,1,2,3,4,5,6,7,8,9,1.,2.,3.,4.,5.,6.,7.,8.,9., -,灭, void delayt(unsigned int t> {unsigned int i,j。
for(i=t。
i>0。
i--> for(j=0。
j<10000。
j++> 。
}void int00(> interrupt 0 {EX0 = 0。
IE0 =0。
if(key1==0>{led = 1。
led6 = 0。
times = 3200。
while(times>{shu1 = (times/200>%10 。
shu0 = (times/200>/10 。
}delayt(2>。
shu0=shu1=21。
}//IE0 =0。
EX0 = 1。
}void int_t0(> interrupt 1{TR0 = 0。
times--。
tc++。
if(tc>=2> {tc=0。
}TH0 = 0xee。
TL0 = 0x00。
if(tc==0> { smdis=md[shu0]。
weishuang0 = 0。
weishuang1 = 1。
} else if(tc==1> { smdis=md[shu1]。
weishuang0 = 1。
weishuang1 = 0。
} TR0 = 1。
}void main(>{TMOD=0x01。