带闹钟多功能电脑时钟设计

合集下载

多功能闹钟课程设计

多功能闹钟课程设计

多功能闹钟课程设计一、课程目标知识目标:1. 学生能够理解多功能闹钟的基本原理,掌握其构造和功能。

2. 学生能够运用所学的电子技术知识,分析并设计简单的多功能闹钟电路。

3. 学生能够解释闹钟中时间计算、显示和闹铃功能的基本电子学原理。

技能目标:1. 学生能够运用所学知识,进行闹钟的组装和调试,培养动手操作能力。

2. 学生能够通过小组合作,培养团队协作和沟通技巧,共同完成多功能闹钟的制作。

3. 学生能够运用问题解决策略,分析并解决在制作过程中遇到的技术问题。

情感态度价值观目标:1. 学生通过学习多功能闹钟的制作,培养对电子技术的兴趣,激发创新意识。

2. 学生在实践过程中,体验成功的喜悦,增强自信心,培养积极的学习态度。

3. 学生能够关注生活中的实际问题,认识到科学技术的应用价值,提高社会责任感。

本课程针对五年级学生,结合电子技术学科特点,注重知识与实践相结合。

课程旨在培养学生的动手能力、创新意识和团队协作精神,通过多功能闹钟的制作,使学生将所学知识应用于实际生活中,提高学生的综合素养。

二、教学内容本章节教学内容主要包括以下三个方面:1. 多功能闹钟的基本原理:- 闹钟的计时原理与时间计算方法。

- 闹钟的显示技术,如LED数码管、LCD显示等。

- 闹钟的闹铃功能实现,如蜂鸣器、振动器等。

教学内容关联课本第十五章“计时器与闹钟”相关内容。

2. 多功能闹钟的电路设计与组装:- 介绍闹钟电路的基本组成,包括时钟芯片、显示模块、控制模块等。

- 教学学生如何设计简单的闹钟电路。

- 引导学生进行闹钟的组装、调试与优化。

教学内容关联课本第十六章“电子电路设计与制作”相关内容。

3. 小组合作与技术创新:- 分组进行多功能闹钟的制作,培养学生团队协作能力。

- 鼓励学生进行技术创新,优化闹钟功能,提高实用性。

- 组织学生进行成果展示,分享制作过程中的经验与收获。

教学内容关联课本第十七章“小组合作与科技创新”相关内容。

本章节的教学内容安排和进度如下:第1周:学习多功能闹钟的基本原理。

多功能数字钟-电子设计

多功能数字钟-电子设计

多功能数字钟-电子设计
第一步实现多功能数字钟的基本功能,包括显示当前时间和设置定时
功能。

为了实现这一功能,我们需要使用一个定时器,以实现每秒钟更新
一次时间并显示在LCD屏上,同时实现定时功能。

第二步用一个按钮来切换显示当前时间和定时时间。

为了实现这一功能,我们需要在LCD屏上显示当前时间和定时时间,当按钮按下时,可以
改变当前时间和定时时间的显示。

第三步加入计时功能,使用者可以设置一个计时时间,当计时结束时,会有一个提醒和发出报警声。

为了实现这一功能,我们需要使用一个计数器,计算出时间差,当到达设定的计时时间时,发出报警声或者显示一个
提醒。

第四步增加闹钟功能,使用者可以设置一个闹钟时间,当达到闹钟时
间时,会有一个提醒和发出报警声。

为了实现这一功能,我们需要在指定
的时间段内,获取当前时间,通过一个实时检查程序,来实现闹钟功能,
当到达时间时,发出报警声或者显示一个提醒。

第五步加入天气预报功能,使用者可以查询当前城市的天气情况,以
及未来三天的天气预报。

为了实现这一功能,我们需要使用一个API来获
取天气情况,并将获取的信息在LCD屏上显示出来,方便使用者查询。

多功能闹钟设计课程设计

多功能闹钟设计课程设计

多功能闹钟设计课程设计一、课程目标知识目标:1. 学生能理解闹钟的基本原理和功能,掌握多功能闹钟的设计要素。

2. 学生能运用所学的电子技术知识,设计并制作一个具备基本时间显示、闹铃提醒、附加功能(如温度、日期显示)的多功能闹钟。

3. 学生能解释闹钟中各个电子元件的工作原理及其在整体设计中的作用。

技能目标:1. 学生通过实践操作,提高电子电路的搭建和调试技能,培养动手能力和问题解决能力。

2. 学生能够运用绘图软件或手工绘制设计图,形成清晰的设计思路和表达自己的设计意图。

3. 学生通过团队协作,学会项目管理和分工合作,提高沟通协调能力。

情感态度价值观目标:1. 学生在课程中培养对电子科技的兴趣和探究精神,增强创新意识和实践欲望。

2. 学生在设计过程中树立环保意识,注重选材的可持续性和产品的节能环保。

3. 学生通过成果展示,增强自信心和成就感,培养分享和反思的良好习惯。

课程性质:本课程为信息技术与电子技术的融合课程,旨在通过实际操作,让学生将理论知识与实践相结合,提高学生的创新设计能力和实际操作技能。

学生特点:考虑到学生所在年级的特点,课程内容设计将注重基础知识与进阶技能的结合,难度适中,确保学生能够接受并乐于参与。

教学要求:教学内容需与教材紧密结合,确保学生在学习过程中能够巩固课本知识,同时注重学生的个性化发展和团队合作能力的培养。

通过分解课程目标为具体的学习成果,使教学设计和评估具有针对性和实效性。

二、教学内容1. 闹钟原理及其电子元件介绍:包括时钟芯片、显示屏幕、按钮、蜂鸣器等基本元件的功能和工作原理。

- 相关教材章节:第三章 电子元件及其功能2. 多功能闹钟设计思路与流程:讲解设计图绘制、电路图分析、程序编写等步骤,明确设计过程中的关键环节。

- 相关教材章节:第五章 电子设计流程3. 实践操作指导:指导学生进行电路搭建、程序烧录、功能调试等实际操作,确保学生掌握操作要领。

- 相关教材章节:第六章 实践操作与调试4. 闹钟附加功能拓展:引导学生思考并实现闹钟的附加功能,如温度、日期显示等。

多功能电子钟毕业设计

多功能电子钟毕业设计

多功能电子钟毕业设计本文主要介绍了一款多功能电子钟的设计方案,其中包括时钟、定时器、闹钟、日历、温度显示等多种功能。

通过硬件和软件的相结合,实现了这种多功能的电子钟,具有易操作、准确显示、功能多样等特点。

本设计可用于家庭、实验室、工作室等多种场合。

一、设计目标随着现代科技的发展,电子钟成为人们生活中不可缺少的一部分。

因此,本文设计了一款多功能电子钟,集时钟、定时器、闹钟、日历、温度显示等多种功能于一身,方便人们的日常生活。

二、设计原理该电子钟的各项功能均用单片机控制实现。

电子钟的控制部分是基于51单片机进行设计。

时钟的原理是通过一个晶振来控制芯片的工作频率,从而达到时钟的准确显示。

使用DS1302进行存储和控制时间。

定时器的原理是通过定时器中断进行实现,通过设定定时器的计数值即可实现定时器的功能。

闹钟的原理是通过设定一个“警报时间”来实现,当时间到达“警报时间”时,闹钟就会开始响铃。

日历的原理是通过读取DS1302中存储的日期信息进行实现。

温度显示的原理是通过使用DS18B20传感器实现对温度的检测。

三、硬件设计本设计的硬件主要由以下部分组成:显示部分、按键部分、计时器部分、DS1302时钟芯片、DS18B20温度传感器、单片机及其外设(如LCD12864液晶屏等)。

1.显示部分本设计采用LCD12864液晶屏进行显示。

2.按键部分本设计采用4个按键T1~T4,T1键用于切换时间制式;T2键用于设定时间和日期等;T3键用于设定闹钟;T4键用于定时器的设定。

3.计时器部分本设计采用计时器555进行固定时间的计时。

4. DS1302时钟芯片DS1302时钟芯片是一种用于实现实时时钟的芯片,本设计将其用于控制电子钟的时间。

5. DS18B20温度传感器DS18B20温度传感器是一种用于测量温度的芯片,本设计将其用于温度显示功能。

6. 单片机及其外设本设计采用AT89C52单片机进行控制,其外设包括LCD12864液晶屏、DS1302时钟芯片、DS18B20温度传感器等。

多功能数字闹钟电路设计实验报告

多功能数字闹钟电路设计实验报告

多功能数字闹钟电路设计实验报告
实验目的:设计一个多功能数字闹钟电路,能够显示时间、设定并响起闹铃。

实验原理:本实验采用数字集成电路实现数字显示和闹铃功能。

数字显示部分采用BCD到七段数码管解码器74LS47和共阴
七段数码管进行实现,闹铃部分采用555定时器集成电路作为发生器,通过驱动蜂鸣器发出声音。

实验仪器:多功能数字闹钟电路实验箱、数字集成电路
74LS47、七段数码管、555定时器集成电路、蜂鸣器、电源、
示波器等。

实验步骤:
1. 按照电路图连接电路。

将74LS47连接到七段数码管,将
555定时器连接到蜂鸣器和电路中相应的电源和地线。

2. 上电并调节电路供电电压。

3. 设定时间。

通过拨动开关和按钮进行时间的设定。

4. 切换闹钟状态。

通过开关切换闹钟的开启和关闭状态。

5. 监测闹钟时间。

借助示波器调整闹钟时间的精度。

6. 监测闹钟声音。

确认蜂鸣器发出的声音符合要求。

实验结果:实验中,我们成功设计并调试出了一个多功能数字闹钟电路。

通过拨动开关和按钮可以设定时间,并且可以通过切换开关来设置闹钟的开启和关闭状态。

实验中监测到的闹钟时间和声音都符合预期要求。

结论:通过本次实验,我们成功设计了一个多功能数字闹钟电路,实现了时间显示和闹铃功能。

实验结果显示该电路的性能良好,具有实用价值。

在实验中我们也学到了关于数字集成电路和定时器集成电路的使用和调试方法。

多功能数字时钟课程设计

多功能数字时钟课程设计

多功能数字时钟课程设计一、课程目标知识目标:1. 让学生掌握多功能数字时钟的基本知识,包括时分秒显示、闹钟设定、计时器等功能;2. 使学生了解数字时钟的工作原理,如晶振振荡、计数器等基本组成部分;3. 引导学生了解数字时钟在生活中的应用,提高对时间管理的认识。

技能目标:1. 培养学生动手操作、团队协作的能力,通过组装多功能数字时钟,提高实践操作技能;2. 培养学生运用已学知识分析问题、解决问题的能力,如调试数字时钟程序;3. 培养学生运用信息技术手段,如编程软件、仿真工具等,进行项目实践。

情感态度价值观目标:1. 培养学生对数字时钟的兴趣,激发学习电子技术的热情;2. 培养学生珍惜时间、合理规划生活的意识,增强时间观念;3. 培养学生勇于尝试、不断创新的精神,提高自信心。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程属于信息技术与电子技术的跨学科综合实践活动,注重理论与实践相结合;2. 学生特点:六年级学生对新鲜事物充满好奇,动手能力强,具备一定的信息技术素养,但需加强团队协作和问题解决能力的培养;3. 教学要求:结合学生特点,设计具有趣味性、实践性和挑战性的教学活动,注重引导学生主动探究、合作交流,提高综合素养。

1. 知识方面:掌握多功能数字时钟的基本知识和工作原理;2. 技能方面:具备组装、调试多功能数字时钟的能力;3. 情感态度价值观方面:增强时间观念,培养创新精神和团队协作意识。

二、教学内容1. 数字时钟基础知识:- 时分秒显示原理- 数字时钟的基本结构及功能- 晶振振荡器的原理与应用2. 数字时钟组装与调试:- 介绍所需材料、工具及使用方法- 按照步骤组装多功能数字时钟- 调试数字时钟程序,确保正常运行3. 数字时钟项目实践:- 设计并实现闹钟功能- 设计并实现计时器功能- 优化数字时钟功能,提高用户体验4. 教学内容的安排与进度:- 第一课时:数字时钟基础知识学习- 第二课时:数字时钟组装与调试- 第三课时:闹钟功能设计与实现- 第四课时:计时器功能设计与实现- 第五课时:项目优化与总结5. 教材章节及内容列举:- 第四章 电子技术应用:数字时钟的原理与制作- 4.1 数字时钟基础知识- 4.2 数字时钟的组装与调试- 4.3 数字时钟功能拓展6. 教学内容科学性与系统性:- 确保所选教学内容符合学生认知水平,注重知识点的衔接;- 教学内容注重实践操作,培养学生动手能力和创新能力;- 教学内容具有系统性,从基础知识到项目实践,逐步提高学生综合素养。

电子综合设计多功能数字钟报告

电子综合设计多功能数字钟报告报告内容如下:一、设计目的和原理多功能数字钟是一种能够显示时间,并具有闹钟、计时、倒计时等功能的电子设备。

本设计的目的是通过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.温度显示:设计一个温度传感器电路,并将当前温度显示在数字时
钟上。

4.日历功能:设计一个日历功能,可以显示当前的日期和星期。

5.定时器功能:设计一个定时器功能,可以设置一个特定的时间间隔,并在到达时间间隔时发出提示声音或闹铃。

6.闹钟休眠功能:设计一个闹钟休眠功能,可以设置一个特定的时间
间隔,在此时间间隔内按下按钮可以将闹钟功能暂时关闭。

7.闹钟重复功能:设计一个闹钟重复功能,可以设置一个特定的时间
间隔,使闹钟在每天相同的时间段重复响铃。

8.亮度调节功能:设计一个亮度调节功能,可以调整数字时钟的显示
亮度。

这些功能可以根据需求进行组合设计,可以使用逻辑门、计数器、显
示器驱动器、温度传感器、按钮等元件来完成电路设计。

多功能电子时钟设计

多功能电子时钟设计一、简介现代的电子时钟不仅仅具有显示时间的功能,还可以提供其他实用的功能,如闹钟、日历、温度显示等。

这种多功能电子时钟不仅在家庭中有广泛的应用,还在办公室、学校等场所发挥着重要的作用。

本文将设计一款具有多种功能的电子时钟。

二、主要功能1.时间显示:显示当前的小时、分钟和秒数。

2.闹钟功能:可以设置闹钟时间,并在设定的时间发出提示音。

3.日历功能:可以显示当前的日期和星期。

4.室内温度显示:可以测量当前的室内温度,并显示在屏幕上。

5.亮度调节:可以根据环境的光照情况调节屏幕的亮度。

6.背光功能:可以通过按钮控制屏幕的背光开关。

7.电池电量显示:可以显示当前电池的电量。

三、设计方案1.硬件设计(1)显示屏:选择一个大于7英寸的彩色液晶显示屏,用于显示时间、日期、温度等信息。

(2)CPU:选择一颗具有较快速度和较大内存的控制芯片,以确保系统的稳定运行。

(3)温度传感器:选择一个高精度的温度传感器,并将其与CPU连接,以实时获取室内温度。

(4)电池:选择一个高容量的可充电电池,以确保长时间使用时的续航能力。

(5)背光灯:选择一个高亮度且耗电量低的LED灯作为背光源。

(6)按钮:选择几个按钮用于调节时间、设置闹钟等操作。

2.软件设计(1)显示模块:设计一个显示模块,负责显示时间、日期、温度等信息。

(2)闹钟模块:设计一个闹钟模块,负责设置和触发闹钟。

(3)日历模块:设计一个日历模块,负责显示当前的日期和星期。

(4)温度模块:设计一个温度模块,负责测量并显示室内温度。

(5)亮度调节模块:设计一个亮度调节模块,负责根据环境光照情况调节屏幕的亮度。

(6)背光模块:设计一个背光模块,负责控制背光灯的开关。

(7)电池电量模块:设计一个电池电量模块,负责显示当前电池的电量。

四、功能实现1.时间的显示可以通过CPU和显示模块的协作实现,CPU读取当前的时间,并将其发送给显示模块,显示模块将时间显示在屏幕上。

电子行业多功能数字电子钟设计

电子行业多功能数字电子钟设计1. 引言电子钟是一种用于显示时间的设备,广泛应用于各个领域,包括办公室、学校、医院、银行等。

随着技术的不断进步,数字电子钟在功能上也得到了不断扩展和改进。

本文将介绍一种多功能的数字电子钟设计,旨在满足用户对于时间显示的更多需求。

2. 设计目标本设计的主要目标是开发一款数字电子钟,具备以下多种功能:•显示时间:精准显示小时、分钟和秒钟。

•日期显示:显示当前日期,包括年、月和日。

•闹钟功能:用户可设置闹钟时间,并在闹钟时间到达时发出提醒。

•温度显示:显示当前室内温度。

•天气预报:显示当日的天气情况,包括温度和天气状况。

•亮度调节:用户可根据需要调节显示屏的亮度。

•蜂鸣器:可以用于发出提醒音效或者报警。

3. 设计方案3.1 硬件设计本设计的硬件主要包括以下几个模块:•显示模块:采用7段数码管或者液晶显示屏,用于显示时间、日期、温度和天气预报等信息。

•按键模块:用于用户通过按键设置闹钟时间、调节亮度等功能。

•温度传感器:用于检测室内温度,并将数据传输给主控芯片。

•天气传感器:用于检测当前的天气情况,并将数据传输给主控芯片。

•蜂鸣器:用于发出提醒音效或者报警。

3.2 软件设计软件设计方面,本设计采用嵌入式系统的开发方式,主要包括以下几个模块:•时钟模块:用于获取当前的时间,并更新显示屏上的时间信息。

•日期模块:用于获取当前的日期,并更新显示屏上的日期信息。

•闹钟模块:用于设置闹钟时间,并在闹钟时间到达时触发蜂鸣器进行提醒。

•温度模块:用于获取温度传感器的数据,并将温度信息显示在显示屏上。

•天气模块:用于获取天气传感器的数据,并将天气情况显示在显示屏上。

•亮度模块:用于根据用户的调节要求,调节显示屏的亮度。

•蜂鸣器控制模块:用于控制蜂鸣器的开关和发声。

4. 性能测试为确保设计方案的可靠性和稳定性,本设计需要进行一系列的性能测试。

测试主要包括以下几个方面:•时间精准性:通过与标准时间进行对比,测试系统的时间显示是否准确。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
change_flag++;//change_flag等于1,设置闹钟分钟
while(!Change);
if(change_flag>1)
change_flag=0;
}
}
if(change_flag==0)//时分转换健未按下change_flag等于0,设置(调节)闹钟小时
{
if(DOWN==0)
if(hour==-1)
hour=23;
}
}
if(UP==0)
{
delay_10ms();
if(UP==0)
{
hour++;
while(!UP);
if(hour>=24)
hour=0;
钟改变函数
{
if(DOWN==0)
{
delay_10ms();
{
model_flag++;//模式标志位,1调小时;2调分钟;3秒表;4闹钟;5倒计时
while(!MODEL);//模式按键,按后检测是否断开
if(model_flag>5)//模式标志位,大于5清0
model_flag=0;
}
}
}
void model_zhixing()//模式执行函数
{
switch(model_flag)//模式标志位,选择执行以下的函数(功能)
{
delay_10ms();
if(DOWN==0)
{
clock_hour--;
while(!DOWN);
if(clock_hour==-1)
clock_hour=23;
}
}
if(UP==0)
{
delay_10ms();
if(UP==0)
{
clock_hour++;
while(!UP);
if(clock_hour>=24)
clock_hour=0;
}
}
}
if(change_flag==1)//时分转换健未按下change_flag等于1,设置(调节)闹钟分钟
{
if(DOWN==0)
{
delay_10ms();
if(DOWN==0)
{
clock_minute--;
while(!DOWN);
if(clock_minute==-1)
clock_minute=59;
}
}
if(UP==0)
{
delay_10ms();
if(UP==0)
{
clock_minute++;
while(!UP);
if(clock_minute>=60)
clock_minute=0;
}
}
}
hour1=clock_hour/10;//闹钟送显示
hour2=clock_hour%10;
说明3:按模式键(P32)3次,数码管全部闪烁(间隔时间0.5s),按UP键(P21)奇数次,秒表开始计时,按UP键(P21)偶数次,秒表暂停,当秒表暂停后,按DOWN键(P22)1次,秒表清0。()
说明4:按模式键(P32)4次,数码管第2位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,设定闹钟钟小时(数码管前两位);按MODE键(P20)奇数次,数码管第4位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,设定闹钟钟分钟(数码管后两位);按MODE键(P20)偶数次,调节闹钟小时(数码管前两位)
sbit M1=P1^2;//数码管从左至右第3位
sbit M2=P1^3;//数码管从左至右第4位
sbit BUZZ=P1^4;//蜂鸣器,低电平响
sbit MODEL=P3^2;//模式按键
sbit DOWN=P2^2;
sbit UP=P2^1;
sbit Change=P2^0;//用于闹钟,倒计时的时分转化按键
uchar code Duan[]={0x3F, 0x06, 0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uchar Data_Buffer[4]={0,0,0,0};
uchar count=0,second=0,minute=0,hour=0;
uchar second1=0,second2=0,minute1=0,minute2=0,hour1=0,hour2=0;
{
key_model();//模式按键函数
model_zhixing(); //模式执行函数
display();//数码管显示函数
}
}
void key_model()//模式按键函数
{
if(MODEL==0)//模式按键按下
{
delay_10ms();//按键消抖
if(MODEL==0)//确认模式按键按下
uint miaobiao_a=0,miaobiao_b=0,buzz_flag=0,buzz_star=0,shanshuo=0,daoji_flag=0,daoji_count=0;
void timer0_init();//定时器0初始化
void display();//数码管显示函数
void key_model();//模式按键函数
void model_zhixing(); //模式执行函数
void hour_change();//小时改变函数
void minute_change(); //分钟改变函数
void miaobiao(); //秒表函数
void clock();//闹钟函数
void daojishi();//倒计时函数
说明6:按模式键(P32)1次,则正常显示时钟。
程序功能:按模式键(P32)1次,调解时钟小时:按模式键(P32)2次,调解时钟分钟;按模式键(P32)3次,进入秒表模式;按模式键(P32)4次,进入闹钟模式;按模式键(P32)5次,进入倒计时模式
******************************************************************************/
}
}
if(zanting_flag!=0)//条件成立,则秒表启动
{
if(miaobiao_count>=10) //10个0.005s相加等于0.05s
{
miaobiao_count=0;
miaobiao_a++;
if(miaobiao_a>=20)//20个0.05s相加等于1s
{
miaobiao_a=0;
minute1=clock_minute/10;
minute2=clock_minute%10;
}
void daojishi()//倒计时函数,以秒计算(即倒计时9999秒)
{
if(Change==0)//P20用于倒计时的时分转换和变换模式
{
delay_10ms();
if(Change==0)
{
daoji_flag++;//daoji_flag==0(默认)调节前2位;daoji_flag==1调节后2位;daoji_flag==2开启倒计时;daoji_flag==3暂停倒计时
default:break;//(此语句以防万一)如果模式标志位的值,没有可执行的函数,则跳出switch()
}
}
void hour_change()//小时改变函数
{
if(DOWN==0)
{
delay_10ms();
if(DOWN==0)
{
hour--;//确认按键按下,小时减1
while(!DOWN);
{
case 1:hour_change();break;//小时改变函数
case 2:minute_change();break;//分钟改变函数
case 3:miaobiao();break;//秒表函数
case 4:clock();break;//闹钟函数
case 5:daojishi();break;//倒计时函数
void delay_10ms()//延时10毫秒的延时函数,用于按键消抖
{
uchar a,b;
for(b=151;b>0;b--)
for(a=29;a>0;a--);
}
void main()//主函数
{
timer0_init();//定时器0初始化
BUZZ=1;//关闭蜂鸣器
while(1)//大循环
说明5:按模式键(P32)5次,数码管第1位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,设定倒计时的前两位;按MODE键(P20)1次,数码管第3位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,设定倒计时的前后两位;按MODE键(P20)2次,数码管不闪烁,开始99秒倒计时;按MODE键(P20)3次,数码管第1位和第3位闪烁,倒计时暂停,在按DOWN键(P22)就可以实现倒计时清0
程序说明:
说明1:按模式键(P32)1次,数码管前两位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,调节时钟小时(数码管前两位)。
说明2:按模式键(P32)2次,数码管后两位闪烁(间隔时间0.5s),然后按UP键(P21)和DOWN键(P22)就可以分别加或减,调节时钟分钟(数码管后两位)。
}
}
if(DOWN==0)//秒表清0判断
相关文档
最新文档