基于51单片机的多功能电子钟设计

合集下载

基于51单片机的多功能数字钟设计

基于51单片机的多功能数字钟设计

电子电路设计与方案0 引言在当今社会,时间就是金钱,做任何事情都需要对时间进行掌控和衡量。

因此,一款多功能数字钟对于所有人而言都是必不可少的。

随着科技的进步与发展,基于单片机设计的多功能数字钟已经十分流行,因其成本低、功能多、资源丰富等优点,深受人们喜爱[1]。

为了使人们的生活更加方便,本文基于STC89C52单片机设计了一款多功能数字钟,并在Keil环境中采用C语言开发了相应的控制程序,能实现钟表的所有基本功能以及一些附加功能。

1 总体方案设计本文设计的多功能数字钟的总体方案结构如图1所示,主要包括9个模块:主控模块、显示模块、时钟模块、数据存储模块、电源模块、语音模块、网络模块、按键模块和蜂鸣器模块,并能实现以下功能:(1)设置时间功能,可正常显示时、分、秒。

(2)定时功能和闹钟功能。

(3)秒表功能和倒计时功能。

(4)语音报时功能。

(5)接入电子日历功能,即能显示年、月、日。

(6)能够接入网络并自己校准显示某地时间。

图1 数字钟总体方案结构在主控模块的控制下,电源模块实现对整个系统的供电,显示模块实现年、月、日、时、分、秒的显示,数据存储模块用于存储各种设置数据等,按键模块、时钟模块、网络模块实现时间调整、万年历、闹钟设置、秒表设置与倒计时、网络校时等功能,语音模块、蜂鸣器模块实现语音报时、闹钟等功能。

2 硬件电路设计■2�1 主控制器电路设计主控制器选用的单片机型号为STC89C52。

STC89C52单片机具有成本低、功能强、资源丰富等优点,适合作为数字钟的主控制器。

若选用比STC89C52单片机更高端的单片机,不仅成本会有所提高,还会造成一定程度上的资源浪费。

■2�2 电源电路设计采用5V直流电源为整个系统供电,采用纽扣电池为时钟模块DS1302芯片稳定供电,确保主电源关闭后时钟的正常运行。

语音芯片ISD4004需要3�3V电源,通过AMS1117-3�3芯片搭建电路,可以提供稳定的3�3V电源。

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计
摘要:本文论述了基于51单片机的电子时钟设计,包括硬件设计与软件编程。

其中,硬件设计包括基本指示灯、DS1302时钟芯片等的选择与连接,时钟电路、晶振电路的设计等。

软件编程包括时钟显示的实现,时钟校准、闹钟等功能的实现等。

本设计具有精度高、操作简便、易于实现等特点,可广泛应用于各种场合。

关键词:51单片机;电子时钟;硬件设计;软件编程
前言
随着人们生活水平的提高,电子时钟已经成为人们生活中必不可少的物品,目前市场上各种类型的电子时钟层出不穷。

本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟,采用DS1302时钟芯片作为时钟驱动芯片,实现了时钟的准确显示、校准、闹钟等功能。

硬件设计
硬件设计主要包括控制器、时钟驱动、显示装置以及电源。

本设计采用了AT89C51单片机作为控制器,一块DS1302时钟芯片作为时钟驱动,LED数字管作为显示装置。

同时,本设计采用了USB供电方式,其电源电压为5V。

软件编程
软件编程主要包括时钟显示、时钟校准、闹钟功能的实现等。

时钟显示采用了动态显示方式,实现了时间的精确定位。

同时,本设计还具有时钟校准功能,在程序接通时,可自动对时钟进行校准,保证时钟的精确度。

此外,本设计还具有设置闹钟的功能,用户可在指定时间响起闹钟。

结论本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟。

通过对硬件设计、软件编程的设计与实现,使得该产品能够准确显示时间,保证了时钟的稳定性,满足了时间的要求,目前已
得到广泛应用。

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计

基于51单片机的电子时钟设计51单片机是一种广泛应用于嵌入式系统的微控制器,由于其性能稳定、易于编程和成本相对较低的特点,被广泛应用于各种电子设备中。

在现代社会,电子时钟已经成为人们日常生活中不可或缺的工具。

随着科技的不断发展,电子时钟在功能和外观上都得到了极大的提升,如今的电子时钟不仅可以显示时间,还能设置闹钟、定时、显示温湿度等功能。

本文通过对51单片机的应用和实践,设计了一款功能丰富的电子时钟,旨在探讨如何利用51单片机实现电子时钟的设计与制作过程。

首先,我们将介绍51单片机的基本原理和特点。

51单片机是一种8位微控制器,由Intel公司于1980年推出,至今已有数十年的历史。

它采用哈佛结构,具有较高的工作速度和稳定性,适合用于各种嵌入式系统。

51单片机的指令系统简单,易于学习和掌握,因此被广泛用于各种嵌入式应用中。

除此之外,51单片机的外围设备丰富,可以通过外部扩展模块实现各种功能,如串口通信、定时器、数模转换等,这也为我们设计电子时钟提供了便利。

其次,我们将详细介绍基于51单片机的电子时钟的设计和实现过程。

电子时钟主要由时钟模块、显示模块、闹钟模块等部分组成,通过合理的接线和程序设计实现各种功能。

首先,我们设计时钟模块,通过外部晶振产生时钟信号,并利用51单片机的定时器模块实现时间的精确计算和显示。

同时,我们还设计了显示模块,采用数码管或液晶屏显示时间和日期信息,通过数字或字符的组合,使信息直观清晰。

此外,闹钟模块也是电子时钟的重要功能之一,我们可以设置闹钟时间,并在设定时间触发闹钟功能,提醒用户。

通过合理的程序设计,我们可以实现电子时钟的各种功能,并提升用户体验。

最后,我们将讨论基于51单片机的电子时钟在实际生活中的应用前景和发展趋势。

随着智能家居的快速发展,电子时钟作为家庭必备的电子设备,其功能和外观需求也在不断提升。

未来,基于51单片机的电子时钟将会更加智能化,可以与手机、电视等智能设备联动,实现更多个性化的功能。

基于51单片机电子时钟设计

基于51单片机电子时钟设计

基于51单片机的电子时钟设计摘要本电子时钟以STC89C52单片机作为主控芯片,采用DS12C887时钟芯片,使用1602液晶作为显示输出。

该时钟走时精确,具有闹钟设置,以及可同时显示时间、日期等多种功能。

本文将详细介绍该电子时钟涉及到的一些基本原理,从硬件和软件两方面进行分析。

【关键词】STC89C52单片机DS12C887时钟芯片1602液晶蜂鸣器目录一、绪论 (4)1.1 电子时钟功能 (4)1.2设计方案 (4)二、硬件设计 (4)2.151单片机部分设计 (4)2.2USB供电电路设计 (5)2.3 串行通信电路设计 (6)2.4DS12C887时钟芯片电路的设计 (6)2.51602LCD液晶屏显示电路设计 (7)2.6蜂鸣器电路设计 (8)2.7按键调整电路设计 (8)三、软件设计 (9)3.1系统程序流程图设计 (9)3.2程序设计 (11)四、心得体会 (22)参考文献 (23)一、绪论1.1电子时钟功能(1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。

(2)具有闹铃设定即到时报警功能,报警响起时按任意键可取消报警。

(3)能够使用实验板上的按键随时调节各个参数,四个有效键分别为功能选择键、数值增大键、数值减小键和闹钟查看键。

(4)每次有键按下时,蜂鸣器都以短“滴”声报警。

(5)利用DS12C887自身掉电可继续走时的特性,该时钟可实现断电时间不停、再次上电时时间仍准确显示在液晶上的功能。

1.2设计方案DS12C887时钟芯片+1602LCD液晶屏DS12C887时钟芯片功能丰富、价格适中,能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部含有世纪寄存器,从而利用硬件电路解决“千年”问题。

DS12C887中自带锂电池,外部掉电时,其内部时间信息还能保持10年之久。

1602LCD液晶屏可以输出2行,每行显示16个字符。

1602LCD液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。

基于51单片机的电子时钟的设计

基于51单片机的电子时钟的设计

基于51单片机的电子时钟的设计电子时钟已经成为我们日常生活中不可或缺的设备之一。

随着科技的不断发展,电子时钟也越来越智能化,功能也越来越强大。

然而,简单的电子时钟也非常实用,可以帮助我们准确地把握时间,安排生活。

本文将基于51单片机,介绍一个简单的电子时钟的设计。

第一步,硬件设计。

要实现电子时钟,我们需要用到一个时钟模块,它可以为我们提供一个准确的时间基准。

同时,我们还需要将时间显示在一个数码管上,所以在硬件设计中我们需要使用数码管。

此外,为了方便调试,我们需要一个串口模块,它可以将调试信息输出到PC端,供我们观察。

具体的硬件设计如下:1.时钟模块我们使用的是DS1302时钟模块,它可以提供准确的时间计算。

DS1302时钟模块有六个引脚,分别是:VCC、GND、CLK、DAT、RST、DS。

其中,VCC和GND分别连接电源正负极,CLK是时钟,DAT是数据,RST是复位,DS是时钟数据存储器。

2.数码管我们使用共阴数码管,它有12个引脚,其中11个引脚是段选线,另外一个引脚是位选线。

为了方便连接,我们可以使用数码管驱动芯片,如74HC595。

它可以将51单片机的串行数据转为并行数据,以驱动数码管。

3.串口模块串口模块是用于通信的模块,它有4个引脚,分别是:VCC、GND、TX、RX。

其中,VCC 和GND连接电源正负极,TX是发送端口,RX是接收端口。

第二步,软件设计。

软件设计主要包括三个部分,分别是时钟模块的驱动程序、数码管的驱动程序和主程序。

我们需要编写一个DS1302时钟模块的驱动程序。

通过驱动程序,我们可以读取当前时间,并将其设置为时钟模块的初始时间。

同时,我们还需要实现定时器中断,以更新时钟显示。

数码管驱动程序是通过74HC595芯片实现的。

我们需要编写一个函数,将当前时间转换为段选数据,再通过74HC595芯片输出到数码管上。

3.主程序主程序主要包括时钟的初始化、时钟的设置、时钟的显示等功能。

51单片机的电子时钟设计

51单片机的电子时钟设计

51单片机的电子时钟设计一、引言随着科技的发展和人们对时间的准确度的要求日益提高,电子时钟成为了人们生活中不可缺少的一部分。

本文将介绍一种基于51单片机的电子时钟设计。

二、硬件设计1.主控部分本设计使用了51单片机作为主控芯片,51单片机具有丰富的接口资源和强大的处理能力,非常适合用于电子时钟的设计。

2.显示部分采用了数码管显示屏作为显示部分。

为了提高显示的清晰度,我们选用了共阳数码管。

使用4位数码管即可显示时、分和秒。

3.时钟部分时钟部分由振荡器和RTC电路构成。

振荡器提供时钟脉冲信号,RTC 电路实现对时钟的准确计时。

4.按键部分按键部分采用矩阵按键,以实现对时间的设置和调整。

三、软件设计1.系统初始化在系统初始化阶段,需要对硬件进行初始化设置。

包括对I/O口的配置,定时器的初始化等。

2.时间设置用户可以通过按键设置当前的时间。

通过矩阵按键扫描,检测到用户按下了设置键后,进入时间设置模式。

通过按下加减键,可以增加或减少时、分、秒。

通过按下确认键,将设置的时间保存下来。

3.时间显示在正常运行模式下,系统将会不断检测当前的时间,并将其显示在数码管上。

通过对时钟模块的调用,可以获取当前的时、分、秒并将其显示出来。

4.闹钟功能在时间设置模式下,用户还可以设置提醒闹钟的功能。

在设定时间到来时,系统会发出蜂鸣器的声音,提醒用户。

四、测试与验证完成软硬件设计后,进行测试与验证是必不可少的一步。

通过对硬件的连线接触检查和软件的功能测试,可以确保整个设计的正确性和可靠性。

五、总结通过本次设计,我对51单片机的使用和原理有了更清晰的认识,同时也对电子时钟的设计和制作有了更深入的了解。

电子时钟作为一种常见的电子产品,在我们的日常生活中发挥了重要的作用。

这次设计过程中,我遇到了许多问题,但通过查阅资料并与同学一起探讨,最终解决了问题。

相信通过不断的学习和实践,我可以在未来的设计中取得更好的成果。

(完整)基于51单片机电子时钟设计

(完整)基于51单片机电子时钟设计编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机电子时钟设计)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机电子时钟设计的全部内容。

基于51单片机的电子时钟设计摘要本电子时钟以STC89C52单片机作为主控芯片,采用DS12C887时钟芯片,使用1602液晶作为显示输出.该时钟走时精确,具有闹钟设置,以及可同时显示时间、日期等多种功能。

本文将详细介绍该电子时钟涉及到的一些基本原理,从硬件和软件两方面进行分析.【关键词】STC89C52单片机 DS12C887时钟芯片 1602液晶蜂鸣器目录一、绪论 (4)1.1 电子时钟功能 (4)1.2设计方案 (4)二、硬件设计 (4)2。

151单片机部分设计 (4)2.2 USB供电电路设计 (5)2.3 串行通信电路设计 (6)2.4 DS12C887时钟芯片电路的设计 (6)2。

5 1602LCD液晶屏显示电路设计 (7)2。

6蜂鸣器电路设计 (8)2。

7按键调整电路设计 (8)三、软件设计 (9)3.1系统程序流程图设计 (9)3。

2程序设计 (11)四、心得体会 (22)参考文献 (23)一、绪论1。

1电子时钟功能(1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。

(2)具有闹铃设定即到时报警功能,报警响起时按任意键可取消报警。

(3)能够使用实验板上的按键随时调节各个参数,四个有效键分别为功能选择键、数值增大键、数值减小键和闹钟查看键。

(4)每次有键按下时,蜂鸣器都以短“滴”声报警.(5)利用DS12C887自身掉电可继续走时的特性,该时钟可实现断电时间不停、再次上电时时间仍准确显示在液晶上的功能。

51单片机电子时钟设计


二、时钟的基本原理分析
利用单片机的定时器来完成定时功能。定时器0每隔0.01秒中断一次,并将其计为一个计数。一秒钟的中断计数初始值设为100,每次中断计数初始值减1。当它减少到0时,意味着它是1s,第二个变量增加1。同理判断是1min还是1h。
为了在LED数码管上显示时间,可以采用静态显示法和动态显示法。由于静态显示方法需要更多的硬件,如解码器和数据锁存器,动态显示方法可以用来实现LED显示。通过依次扫描每个数码管,相应的数码管被点亮,相应的字码被送到数码管显示数字。由于数码管的扫描周期短,加上人眼的余辉效应,数码管看起来总是很亮,从而实现各种显示。
AJMP MAIN
S_PD:
MOV A,R3;
JNZ MAINR4和R3的存储参数减少到0,并且计时长度已经达到。
JNB P0.6,升银2;当闹钟响铃功能开启时,进入闹钟程序。
AJMP TISHI如果闹铃没有再响,计时到了就跳转到提示程序。
转移到主程序
史策:
呼叫铃
转移到主程序
声引1号:;呼叫铃子程序
四个时钟的实现
A.电路设计
1.总设计
本设计主要利用单片机来设计电子钟。硬件部分主要分为以下几个电路模块:显示电路用8个普通阴极数码管分别显示周(年)、时、分(月)、秒(日),并通过动态扫描显示,避免了解码器的使用,节省了I/o口,使电路更加简单。采用AT89S51系列单片机,应用简单,适用于电子钟设计。
来电铃声
转移到主程序
声音2:
SETB F0;报警再响铃标志位的设置
LCALL RING门铃
CLR F0标志位复位
转移到主程序
NLTZZ:
AJMP NLTZ1进入警报调整程序
DSTZ:

基于51单片机的多功能电子时钟时间校对功能的设计

行点对点的通信 。红外遥控 技术利 用波长 为 0.76um一1.5um之间 的 近红外线来传递控制信号 ,它具备 以下特点 :①对环境 的影响很小 。② 有很强的保密性和隐蔽性。③有很好 的中远距离操控能力 ,便于各个方 面 的使用 。④红外线遥控设备结构 简单 、易 于制作 、造价低廉 、抗干扰 能力强 、可靠性高。⑤工作电压低 ,功耗小 ,外 围电路简单等优 点,也 使其广泛应用于 日常生活中。
王 红
摘 要 :单片机开发板 主要 由 STC89C52RC单 片机 、DS1302时钟芯片 、LCD1602字符液晶显示器等部件 构成 。本文主要研 究了单 片机 对 DS1302的 读 写操 作 以及 对 1602液 晶 的控 制 。 最 终 , 可 实现 4 x4矩 阵按 键 和 红 外 两 种 方 式 实现 时 间 和 日期 的调 整 。
做一个 系统设计 ,假如需 要多个按 键就会 占用 大量 10口,就要用 到矩 阵按键 。在独立按键 中需要掌握如何编写一个独立按键 的程序 。
(三 ) 按 键 消 抖 通常按键所用 的开关都 是机械 弹性开关 ,当机械触 电断开 闭合 时, 由于机械触点 的弹性作用 ,一个按 键 开关在 闭合 时不 会马 上就稳 定接 通 ,此时就会引起一 连 串的抖动 。抖 动 时间是 由按 键 的机械 特性 决定 的 ,一般会在 lOr es以内。为了确保程 序对按键 的一次 闭合或者 一次断 开只响应一次 ,必须进行按键 的消抖处理 。 按键消抖可分为硬件消抖和软件消抖 。硬件消抖是在按 键上并联一 个 电容 。利用 电容 的充放 电特性对抖动过程 中产生 的电压 毛刺进行平滑 处 理 .但 这 种 方 式 在 实 际 应 用 中增 加 了 成 本 和 电路 复 杂 度 ,所 以 当 检 测 到按键状态变化后 ,先等待 10ms左 右的延时 时间 ,让 抖动消失 后再进 行一次按键状态检测 ,如果与刚才测试到的状态相 同,就可 以确认按键 已经稳定动作 了,利用 肖抖程序 消抖 。所 以本 文 采用 了软件 消抖 的方 法 。 当 CPU检 测 到按 键 状 态 发 生 变 化 后 ,延 时 lOres后 再 对 改 按 键 状 态

基于单片机的多功能数字钟的设计

一、概述现代社会,时间被视为人们生活的重要组成部分。

而数字钟作为时间的一种展现形式,已经成为人们生活中不可或缺的一部分。

基于单片机的多功能数字钟设计,将为人们提供更加准确、便捷、多功能的时间展现方式,满足人们对时间的精准要求,同时也为人们的生活带来更多便利。

二、设计目标1. 实现精准的时间显示功能,包括时、分、秒的显示;2. 实现对日期的显示,包括年、月、日的显示;3. 实现多种报时功能,如定时报时、闹钟报时等;4. 实现多种显示效果,如渐变显示、闪烁显示等;5. 实现对时间的调整功能,包括校时、调整日期等;6. 实现对亮度的调节功能,适应不同环境下的使用需求。

三、设计思路1. 硬件设计1.1 硬件采用单片机作为核心控制器,通过外部晶振提供时钟信号;1.2 采用数码管作为显示设备,通过单片机控制数码管进行时间、日期的显示;1.3 通过按钮、旋钮等输入设备,实现时间调节、报时设置等操作;1.4 通过EEPROM等存储设备,实现时间、设置的存储和读取功能;1.5 通过光敏电阻等光敏传感器,实现对环境光强的检测,调节数码管显示亮度。

2. 软件设计2.1 设计合理的时钟系统,确保时间的准确显示;2.2 设计报时功能模块,实现定时报时、闹钟报时等功能;2.3 设计显示控制模块,实现数字、日期的显示效果控制;2.4 设计操作响应模块,实现对按钮、旋钮等输入设备的操作响应;2.5 设计存储管理模块,实现时间、设置数据的存储和读取功能;2.6 设计光敏控制模块,实现对数码管显示亮度的实时调节。

四、实现方法1. 硬件设计1.1 选择合适的单片机作为核心控制器,根据需要进行外围电路的设计;1.2 选择合适的数码管作为显示设备,设计驱动电路以及显示控制电路;1.3 选择合适的按钮、旋钮等输入设备,设计输入电路以及操作响应电路;1.4 选择合适的EEPROM芯片,设计存储管理电路实现数据的存储和读取;1.5 选择合适的光敏电阻或光敏二极管,设计光敏控制电路实现显示亮度的调节。

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

基于51单片机的多功能电子钟设计 1 主程序: #include #include #include Char miao,shi,fen,day=24,month=12,year1=20,year2=14,cmiao,cshi,cfen,cday,cmonth,cyear1,cyear2; char jhmiao,jmiao,jfen; uint s1num,s4num,s6num; uchar count,count1,count2; uint a1,b1,c1,d1,e1,f1,g1; uint su,tt,mm,m,n,flag=0,flag2=0,flag3=0,flag4=0; uchar buff[4]; char code dis[]={" mode "}; char code dis1[]={" time "}; char code dis2[]={" date "}; char code dis3[]={" stopwatch "}; char code dis6[]={"1234567"}; char code dis4[]={"033614625035"}; unsigned char pDat[7],pDat1[7]; sbit s1=P1^7; //选择位 sbit s2=P1^0; //数值加 sbit s3=P1^4; //数值减 sbit s4=P1^2; // 闹钟设置 sbit s5=P1^5; // 凤鸣器 sbit s6=P1^6; // 模式选择 sbit s7=P1^3; //闹钟停止鸣叫 sbit s8=P1^1; //启动 基于51单片机的多功能电子钟设计 2 sbit s9=P3^6; //温度报警 void main() { uint i; s5=1; s8=1; m=0; n=0; init(); EX0=1; //init_com(); //包含了对定时器0的设定 while(s8) //初始模式设置 { moshi(); lcd_pos(0x00); for(i=0;i<15;i++) { write_date(dis[i]); } lcd_pos(0x40); /* for(i=0;i<15;i++) { write_date(dis1[i]); } */ } jhmiao=0; jmiao=0; 基于51单片机的多功能电子钟设计 3 jfen=0; miao=0; shi=0; fen=0; while(1) { lcd_pos(0x02); write_date(0X2e); lcd_pos(0x04); write_date(0Xdf); lcd_pos(0x05); write_date(0X43); if(flag3==1) { lcd_pos(0x06); for(i=0;i<10;i++) { write_date(dis1[i]); } write_sfm(10,miao); if(miao%2==0) { lcd_pos(0x46); write_date(0X20); lcd_pos(0x49); write_date(0X20); } else{ 基于51单片机的多功能电子钟设计 4 lcd_pos(0x46); write_date(0X3a); lcd_pos(0x49); write_date(0X3a); } write_sfm(7,fen); write_sfm(4,shi); if(tt>310) { s9=0; } if(tt<310) s9=1; } if(flag3==2) { lcd_pos(0x40); for(i=0;i<15;i++) { write_date(dis2[i]); } lcd_pos(0x0a); write_date(0X2f); lcd_pos(0x0d); write_date(0X2f); write_sfm2(14,day); write_sfm2(11,month); write_sfm2(6,year1); 基于51单片机的多功能电子钟设计 5 write_sfm2(8,year2); if(tt>310) {s9=0;} else s9=1; } if(flag3==3) { lcd_pos(0x0a); write_date(0X2f); lcd_pos(0x0d); write_date(0X2f); count2=(dis4[month-1]+2+day)%7; lcd_pos(0x4e); write_date(dis6[count2]); if(dis6[count2]=='6'||dis6[count2]=='7') { lcd_pos(0x4d); write_date(0X57); } else{ lcd_pos(0x4d); write_date(0X20); } if(month==12&&day==24) { lcd_pos(0x4c); write_date(0X56); } else { 基于51单片机的多功能电子钟设计 6 lcd_pos(0x4c); write_date(0X20); } write_sfm(10,miao); if(miao%2==0) { lcd_pos(0x46); write_date(0X20); lcd_pos(0x49); write_date(0X20); } else{ lcd_pos(0x46); write_date(0X3a); lcd_pos(0x49); write_date(0X3a); } write_sfm(7,fen); write_sfm(4,shi); write_sfm2(14,day); write_sfm2(11,month); write_sfm2(6,year1); write_sfm2(8,year2); naozhong(); if(tt>310) {s9=0;} else s9=1; } if(flag3==4) 基于51单片机的多功能电子钟设计 7 { lcd_pos(0x06); for(i=0;i<10;i++) { write_date(dis3[i]); } lcd_pos(0x46); write_date(0X3a); lcd_pos(0x49); write_date(0X3a); write_sfm(10,jhmiao); write_sfm(7,jmiao); write_sfm(4,jfen); if(s7==0) { delay(5); if(s7==0) { flag4++; while(!s7); if(flag4==1) while(1) { TR0=0; if(s7==0) { delay(5); if(s7==0) 基于51单片机的多功能电子钟设计 8 while(!s7); break; } } flag4=0; TR0=1; } } } dis_temp(tt); // dis_temp1(mm); keyscan(); } } void int_0() interrupt 0 { EA=0; IRcvStr(0xa0,n,&pDat1[0],8); //mm=pDat1[0]; //mm<<=8; //两个字节组合为1个字 //mm=mm|pDat1[1]; mm=pDat1[0]*100+pDat1[1]*10+pDat1[2]; pDat1[0]=0; pDat1[1]=0; pDat1[2]=0; n=n+8; EA=1; } 基于51单片机的多功能电子钟设计 9 void moshi() { if(s6==0) { delay(5); if(s6==0) { s6num++; while(!s6); if(s6num==1) { flag3 = 1; lcd_pos(0x41); write_date(0X31); } if(s6num==2) { flag3 = 2; lcd_pos(0x41); write_date(0X32); } if(s6num==3) { flag3 = 3; lcd_pos(0x41); write_date(0X33); } if(s6num==4)

相关文档
最新文档