




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)毕业设计(论文) 设计(论文)题目:设计(论文)题目: 液晶万年历的显示液晶万年历的显示 指指 导导 教教 师师: 学学 生生 专专 业业: 班班 级级: 学学 生生 姓姓 名名: 教教 研研室室主主任任: 信信息息工工程程学学院院 二二 一一 年年 1 11 1 月月 1 10 0 日日 摘摘 要要 随着电子技术的迅速发展,特别是大规模集成电路的出现,人类生活发 生了根本性的变化。以单片机技术为核心的产品已走进了千家万户,数字万 年历的出现更是给人们的生活带来诸多方便,本文就实现了基于 AT89C52 单 片机的多功能数字万年历的设计。 本设计以 AT89C52 单片机技术为核心,以各种硬件电路为基础,软件 采用 C 语言进行编写,为了便于扩展和更改,采用模块化的程序设计方法, 使程序设计的逻辑关系更加简洁明了,系统升级更加简单方便。系统以 LCD1602 液晶模块为载体显示数据,所以具有人性化的操作界面和美观的页 面效果;可以显示公历日期、时间、农历日期、星期、温度。用户可以通过 按键调节系统时间、设定时间。左后完成了组装与调试。 关键词:AT89C52 LCD1602 AbstractAbstract With the rapid development of electronic technology, especially the emergence of large-scale integrated circuits, human life there has been a fundamental change. The products have entered tens of thousands of household whose core is single-chip technology, the emergence of digital calendar is to bring a lot of peoples lives easy, This article worked out a design of multi- functional digital calendar based on the single chip AT89S52. The design of single-chip AT89S52 technology as the core, based on a variety of hardware circuitry and used assembly language for the preparation of software, In order to facilitate the expansion and changes to the design ,procedures for the used of modular design method so that the logic of the relationship between program design more concise, the system more simple and convenient to upgrade. System use dot-matrix LCD Module 1602 font display as the data ,time ,Chinese data, week ,temperature, and has alarm functions. User can adjust the system time or set the alarm time through the button . I completed the assembly and commissioning finally. Keywords:AT89C51chip LCD1602 目录 第一章第一章 绪论绪论 .1 1.11.1单片机的发展单片机的发展 .1 1.21.2设计任务设计任务 .1 1.31.3设计意义设计意义 .1 1.41.4设计方案思路:设计方案思路: .2 1.51.5 系统原理系统原理.2 第二章第二章 硬件电路设计硬件电路设计 .3 2.12.1 芯片芯片 DS1302:DS1302:.3 2.1.1、 、DS1302 简简介:介:.3 2.1.2、 、DS1302 工作原理:工作原理:.4 2.22.2 温度传感器:温度传感器:.4 2.2.1、温度、温度传传感器(感器(DS18B20 芯片)芯片)简简介:介: .4 2.2.2、 、DS18B20 的主要特征的主要特征: : .5 2.2.3、引脚定、引脚定义义: :.5 2.2.4、 、DS18B20 工作原理及工作原理及应应用:用: .6 2.32.3 液晶显示器液晶显示器.6 2.3.1 引脚引脚说说明:明:.6 2.3.2 液晶液晶显显示器的工作原理:示器的工作原理:.8 2.42.4 AT89C52AT89C52 主控模块:主控模块:.8 2.4.1 引脚功能特性:引脚功能特性:.9 2.4.2 AT89S52 的的总线结总线结构构.10 2.4.3 AT89C51 的功能描述的功能描述.11 2.52.5硬件原理框图硬件原理框图 .11 2.5.1 系系统统硬件概述硬件概述.12 2.5.2 主要主要单单元元电电路路.12 第三章第三章 系统软件设计系统软件设计 .14 3.13.1 软件开发流程软件开发流程.14 3.1.1 系系统统的程序流程的程序流程图图.14 3.1.2 时钟设时钟设定模定模块设计块设计流程流程图图.15 3.1.3 温度温度设设定模定模块设计块设计流程流程图图: :.22 第四章第四章 设计调试设计调试 .27 4.1 开开发环发环境介境介绍绍: :.27 4.2 PROTEUS调试调试与仿真与仿真.27 致谢致谢 .30 附录:附录: .31 液晶液晶显显示部分子程序:示部分子程序:.31 按按键键部分子程序:部分子程序:.34 第一章 绪论 1 第一章第一章 绪论绪论 1.11.1 单片机的发展单片机的发展 单片机是单片微型计算机的简称,也就是把微处理器(CPU) 、一定容量的程序存储 器(ROM)和数据存储器(RAM) 、输入/输出接口(I/O) 、时钟及其他一些计算机外围电 路,通过总线连接在一起并集成在一个芯片上构成的微型计算机系统。 单片机经过几十年的发展,在功能、体积、功耗、价格等各个方面已经达到非常优 异的水平。在未来的发展中,单片机将趋向实现性能化、存储器大容量化、接口多样化、 集成化、低功耗化等特点。 1.21.2 设计任务设计任务 万年历是我们日常生活中非常常用的功能。在液晶上显示:年、月、日、时、分、 秒及星期信息,并具有可调整日期和时间,闹钟等功能。 (1).电路图的设计 (2).在 proteus 软件下进行系统仿真,实现要求功能。 (3).在软件仿真完成后,进行实物制作与调试,实现题目要求的功能。 (4).在电路图中可以校正时间和温度的准确性。 1.31.3 设计意义设计意义 随着电子技术的迅速发展,特别是随着大规模集成电路的出现,给人类生活带来了根 本性的改变。尤其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给 人们的生活带来的诸多方便。 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系 统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序 的各个模块和实现过程。 第一章 绪论 2 本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软 硬件相结合,以硬件为基础,来进行各功能模块的编写。本系统以单片机的汇编语言进 行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用 模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过 LED 数码管为载体显示数 据,所以具有人性化的操作和美观的页面效果。数字万年历可以实现对,年,月,日等 时间显示的准确性,稳定性。并且实现年,月,日等的自动显示与校正,数据掉电保存 等功能及时间与阴、阳历能够总动关联。整点报时,闹铃等功能。 1.41.4 设计方案思路:设计方案思路: 方案一:万年历的单片机芯片选用 AT89C51 作主控制芯片,显示模块采用 LCD1602,温度检测模块采用 DS18B20 温度传感器,时钟芯片选用 DS1302 芯片。 方案二:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星 期、时、分、秒计数。采用此种方案减少芯片的使用,节约成本,但是,实现的时间误 差较大。 此次设计选择方案一,主要是因为 AT89C51 片内 ROM 全都采用 Flash ROM,能以 超低电压工作,具有在线编程可擦除技术。DS18B20 温度传感器,它具有耐磨耐碰、体 积小、使用方便、封装形式多样的优点。DS1302 芯片具有高性能、低功耗、可以对年、 月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V,满 足设计所需。 1.51.5 系统原理系统原理 本系统是由 AT89C51 单片机为控制核心:时钟电路由 DS1302 提供,它可以对年、 月、日、周日、时、分、秒进行计时,具有闰年补偿功能;温度的采集由 DS18B20 构成; LCD1602 用来显示数据;键盘输入电路可以调整日期,时间等的转换。通过用 C 语言编 程,从 DS1302 寄存器中读取年、月、日、周日、时、分、秒等数据信息;从 DS18B20 寄 存器中读取温度信息,再编程将以上信息送到 LCD1602 显示出来。同时,通过键扫描, 编程实现调整日期,时间等的转换。 第二章 硬件电路设计 3 第二章第二章 硬件电路设计硬件电路设计 2.12.1 芯片芯片DS1302:DS1302: 2.1.1、 、Ds1302简简介:介: 实时时钟可提供秒、分、时、星期、月和年,一个月小与 31 天时可自动调整,且具 有闰年自动调整。工作电压 2.55.5v。ds1302 内部结构:移位寄存器、控制逻辑、振荡 器、实时时钟以及 RAM. RST 5 SCLK 7 I/O 6 X1 2 X2 3 VCC1 8 VCC2 1 U1 DS1302 图 2-1 DS1302 是由 DS1202 改进而来,增加了以下的特性:双电源管脚用于主电源和备份 电源供应,Vcc1 为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传 真、便携式仪器以及电池供电的仪器仪表等产品领域。主要的性能指标: 实时时钟具有能计算 2100 年之前的秒、分、时、日、日期、星期、月、年 的能力,还有闰年调整的能力 318 位暂存数据存储 RAM 串行 I/O 口方式使得管脚数量最少 宽范围工作电压:2.0 5.5V 工作电流:2.0V 时,小于 300nA 第二章 硬件电路设计 4 读/写时钟或 RAM 数据时,有两种传送方式:单字节传送和多字节传送字符 组方式 8 脚 DIP 封装或可选的 8 脚 SOIC 封装根据表面装配 简单 3 线接口 与 TTL 兼容 Vcc=5V 可选工业级温度范围:-40 +85 与 DS1202 兼容 在 DS1202 基础上增加的特性 对 Vcc1 有可选的涓流充电能力 双电源管用于主电源和备份电源供应 备份电源管脚可由电池或大容量电容输入 附加的 7 字节暂存存储器 2.1.2、 、Ds1302工作原理:工作原理: DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线: (1)RST(复位),(2)I/O(数据线),(3)SCLK(串行时钟),其中 RST 从低电平变成高 电平启动一次数据传输过程;SCLK 一般数据写入有效是在上升沿,读出有效是在下降沿, 平时 SCLK 保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总 是在 SCLK 保持为低电平的时候,相邻的操作之间间隔一个上升沿和一个下降沿。 2.1.3、管脚描述、管脚描述 X1 X2 32.768KHz 晶振管脚 GND 地 RST 复位脚 I/O 数据输入/输出引脚 SCLK 串行时钟 Vcc1,Vcc2 电源供电管脚 2.22.2 温度传感器:温度传感器: 2.2.1、温度、温度传传感器(感器(DS18B20芯片)芯片)简简介:介: DS18B20 是美国 DALLAS 半导体公司继 DS1820 之后最新推出的一种改进型智能温度 第二章 硬件电路设计 5 传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简 单的编程实现 912 位的数字值读数方式。DS18B20 具有耐磨耐碰,体积小,使用方便, 封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的温度报 警触发器 TH 和 TL、配置寄存器。 图 2-2 2.2.2、 、DS18B20的主要特征的主要特征: : 全数字温度转换及输出。 先进的单总线数据通信 最高 12 位分辨率,精度可达0.5 摄氏度 12 位分辨率时的最大工作周期为 750 毫秒 可选择寄生工作方式 检测温度范围为-55+125(-67+257) 内置 EEPROM,限温报警功能 64 位光刻 ROM,内置产品序列号,方便多机挂接 多样封转形式,适应不同硬件系统 2.2.3、引脚定、引脚定义义: : DQ(4 脚)为数字信号输入/输出端; GND(5 脚)为电源地 VDD(3 脚)为外接供电电源输入端(在寄生电源接线方式时接地) 。 第二章 硬件电路设计 6 NC(1、2、6、7、8 脚):空引脚,悬空不使用; 2.2.4、 、DS18B20工作原理及工作原理及应应用:用: DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因分辨率 不同而不同,且温度转换时的延时时间由 2S 减为 750ms。低温度系数晶振的振荡频率受 温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变 化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。计数器 1 和温度寄存器 被预置在-55所对应的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号减法计 数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被 装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计 数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 2.32.3 液晶显示器液晶显示器 采用 LM016L 作为显示器件输出信息。与传统的 LED 数码管显示器件相比,液晶显示 模块具有体积小、功耗小、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶 显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602 可以显示 2 行 16 个字 符,具有 8 位数据总线 D0-D7H,和 RS、R/W、E 三个控制端口,工作电压为 5V,并且带 有字符对比度调节和背光设置。液晶显示的分类方法很多,通常可按显示方式分为段式、 字符式、点阵式等。 2.3.1 引脚引脚说说明:明: 第二章 硬件电路设计 7 表2-1 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最 高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写控制端,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读 忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:BLA 背光源正极。 第 16 脚:BLK 背光源负极。 第二章 硬件电路设计 8 1602 液晶显示模块可以和单片机 AT89C52 直接接口图 图 2-3 2.3.2液晶液晶显显示器的工作原理:示器的工作原理: 液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就 有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接 驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、 PDA 移动通信工具等众多领域。 2.42.4 AT89C52AT89C52主控模块:主控模块: 第二章 硬件电路设计 9 图 2-4 2.4.1 引脚功能特性:引脚功能特性: P0 口(32 脚39 脚):P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位 能驱动 8 个 TTL 逻辑电平。 P1 口(1 脚8 脚):P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓 冲器能驱动 4 个 TTL 逻辑电平。 引脚号第二功能 P1.0 T2(定时器/计数器 T2 的外部计数输入) ,时钟输出 P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) 表 2-2 P2 口(21 脚28 脚):P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出 缓冲器能驱动 4 个 TTL 逻辑电平。 P3 口(10 脚17 脚):P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P3 输出 缓冲器能驱动 4 个 TTL 逻辑电平。P3 口同时为闪烁编程和编程效验接受一些控制信号。 引脚号第二功能 第二章 硬件电路设计 10 P3.0RXD(串行输入) P3.1TXD(串行输出) P3.2INT0(外部中断 0) P3.3INT0(外部中断 0) P3.4T0(定时器 0 外部输入) P3.5T1(定时器 1 外部输入) P3.6WR(外部数据存储器写选通) P3.7RD(外部数据存储器读选通) 表 2-3 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG: 地址锁存控制信号:在系统扩展时,ALE 用于控制把 P0口输出低 8 位地 址锁存起来,以实现低位地址和数据的隔离。此外由于 ALE 是以晶振六分之一的固定频 率输出的正脉冲,因此可作为外部时钟或外部定时脉冲作用。 PSEN外部程序存储器读选取通信号:在读外部 ROM 时PSEN有效(低电平) ,以实 现外部 ROM 单元的读操作。 XTAL1和 XTAL2外接晶体引线端:当使用芯片内部时钟时,此二引线端用于外接石英 晶体和微调电容;当使用外部时钟时,用于拉外部的时钟脉冲信号。 EA访问程序存储器控制信号:当EA信号为低电平时,对 ROM 的读操作限 定在外部程序存储器;而当EA信号为高电平时,则对 ROM 的读操作是从内部程序存 储器开始,并可延至外部程序存储器。 VSS:地线 VCC:+5V 电源 2.4.2 AT89S52的的总线结总线结构构 AT89S52 的管脚除了电源、复位、时钟接入、用户 I/O 口部分 P3 外,其余管脚都是为实 现系统扩展而设置的。这些管脚构成了三总线形式,即: (1)地址总线(AB):地址总线宽度为 16 位,因此,其外部存储器直接地址外围为 64K 字节。16 位地址总线由 P0 经地址锁存器提供低 8 位地址(A0A7) ;P2 口直接提供 高 8 位地址(A8A15) 。 (2)数据总线(DB):数据总线宽度为 8 位,由 P0 口提供。 (3)控制总线 (CB):由部分 P3 口的第二功能状态和 4 根独立控制线 RESET、EA、ALE、PSE组成。 第二章 硬件电路设计 11 2.4.3 AT89C51的功能描述的功能描述 AT89C51是一种低功耗、高性能、CNOS八位微处理器,片内有4K字节的在线课重复 编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。 它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCA-51系列单片 机,而且能使系统具有许多MCA-51系列产品没有的功能。 AT89C51 可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低 系统的成本。只要程序长度小于 4K,四个 I/O 全部提供给用户。可用 5V 电压编程,而 且擦写时间仅需 10 毫秒,仅为 8751/87C51 的擦除时间看的百分之一,与 8751/87C51 的 12V 电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合 许多嵌入式控制领域,工作电压范围(2.76V) ,全静态工作,工作频率宽在 0HZ24MHZ 中间,比 8751/87C51 等 51 系列的 6MHZ12MHZ 更具有灵活性,系统能快能慢。AT89C51 芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序 或系统不被仿制。P0 口是三态双相口,通称数据总线口,因为只有该口能直接对外部存 储器的读/写操作。 2.52.5硬件原理框图硬件原理框图 主主 控控 芯芯 片片 液晶显示电液晶显示电 路路 时钟电路时钟电路 Ds1302Ds1302 时时 钟控制电路钟控制电路 DS18B20DS18B20 温度温度 检测系统检测系统 复位电路复位电路 按键按键 第二章 硬件电路设计 12 原理框图 2-5 模块说明: DS1302 时钟模块可以输出其当前日期、时间及星期 键盘输入电路可以调整日期,时间等的转换 DS18B20 温度模块可以测量当前室内的温度 显示电路则显示当前的系统运行情况 2.5.1 系系统统硬件概述硬件概述 本电路是由 AT89C52 单片机为控制核心,具有在线编程功能,低功耗,能在 3v 超低 压下工作;时钟电路由 DS1302 提供,它是一种高性能、低功耗、带 RAM 的实时时钟电路, 它可以对年、月、日、每周、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.55.5v。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的 时钟信号或 RAM 数据。DS1302 内部有一个用于临时性存放数据的 RAM 寄存器。可产生年、 月、日、时、分、秒,具有实用寿命长,精度高和低功耗等特点,同时具有掉电自动保 存功能;显示部分由 LM016L 液晶显示屏显示。 2.5.2 主要主要单单元元电电路路 第二章 硬件电路设计 13 单片机最小系统图2-6 显示模块电路 2-7 第三章 系统软件设计 14 第三章第三章 系统软件设计系统软件设计 3.13.1 软件开发流程软件开发流程 3.1.1 系系统统的程序流程的程序流程图图 万年历的程序主要包括:延时程序、键盘调整、温度显示模块程序、时钟显示模块程序、液晶 数据显示程序等。 读取温度、时间 LCD 关闭 LCD 显示 扫描按键 NOYES 图3-1 开始 初始化 LCD、1302、18B20 允许 LCD 显 示? 时间设定 第三章 系统软件设计 15 3.1.2 时钟设时钟设定模定模块设计块设计流程流程图图 DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能。设 计时不需要加电容,只需加一个晶振就可以了。 DS1302 初始化 从 DS1302 中读出数据,放入 RAM 调用显示程序 LCD 显示时间 时间设置 图3-2 相关程序:typedef struct _SYSTEMTIME_ unsigned char Second; unsigned char Minute; unsigned char Hour; unsigned char Week; unsigned char Day; 开始 数据写回 DS1302 保存 返回 第三章 系统软件设计 16 unsigned char Month; unsigned char Year; unsigned char DateString11; unsigned char TimeString9; SYSTEMTIME; /定义的时间类型 SYSTEMTIME CurrentTime; #define AM(X)X #define PM(X)(X+12) / 转成24小时制 #define DS1302_SECOND0 x80 /时钟芯片的寄存器位置,存放时间 #define DS1302_MINUTE0 x82 #define DS1302_HOUR0 x84 #define DS1302_WEEK0 x8A #define DS1302_DAY0 x86 #define DS1302_MONTH0 x88 #define DS1302_YEAR0 x8C void DS1302InputByte(unsigned char d) /实时时钟写入一字节(内部函数) unsigned char i; ACC = d; for(i=8; i0; i-) DS1302_IO = ACC0; /相当于汇编中的 RRC DS1302_CLK = 1; DS1302_CLK = 0; ACC = ACC 1; 第三章 系统软件设计 17 unsigned char DS1302OutputByte(void) /实时时钟读取一字节(内部函数) unsigned char i; for(i=8; i0; i-) ACC = ACC 1; /相当于汇编中的 RRC ACC7 = DS1302_IO; DS1302_CLK = 1; DS1302_CLK = 0; return(ACC); void Write1302(unsigned char ucAddr, unsigned char ucDa)/ucAddr: DS1302地址, ucData: 要写的数据 DS1302_RST = 0; DS1302_CLK = 0; DS1302_RST = 1; DS1302InputByte(ucAddr); / 地址,命令 DS1302InputByte(ucDa); / 写1Byte数据 DS1302_CLK = 1; DS1302_RST = 0; unsigned char Read1302(unsigned char ucAddr) /读取DS1302某地址的数据 unsigned char ucData; DS1302_RST = 0; 第三章 系统软件设计 18 DS1302_CLK = 0; DS1302_RST = 1; DS1302InputByte(ucAddr|0 x01); / 地址,命令 ucData = DS1302OutputByte(); / 读1Byte数据 DS1302_CLK = 1; DS1302_RST = 0; return(ucData); void DS1302_GetTime(SYSTEMTIME *Time) /获取时钟芯片的时钟数据到自定义 的结构型数组 unsigned char ReadValue; ReadValue = Read1302(DS1302_SECOND); Time-Second = (ReadValue ReadValue = Read1302(DS1302_MINUTE); Time-Minute = (ReadValue ReadValue = Read1302(DS1302_HOUR); Time-Hour = (ReadValue ReadValue = Read1302(DS1302_DAY); Time-Day = (ReadValue ReadValue = Read1302(DS1302_WEEK); Time-Week = (ReadValue ReadValue = Read1302(DS1302_MONTH); Time-Month = (ReadValue ReadValue = Read1302(DS1302_YEAR); Time-Year = (ReadValue 第三章 系统软件设计 19 void DateToStr(SYSTEMTIME *Time) /将时间年,月,日,星期数据转换成液晶 显示字符串,放到数组里DateString if(hide_yearDateString0 = 2; Time-DateString1 = 0; Time-DateString2 = Time-Year/10 + 0; Time-DateString3 = Time-Year%10 + 0; else Time-DateString0 = ; Time-DateString1 = ; Time-DateString2 = ; Time-DateString3 = ; Time-DateString4 = /; if(hide_monthDateString5 = Time-Month/10 + 0; Time-DateString6 = Time-Month%10 + 0; else Time-DateString5 = ; Time-DateString6 = ; Time-DateString7 = /; 第三章 系统软件设计 20 if(hide_dayDateString8 = Time-Day/10 + 0; Time-DateString9 = Time-Day%10 + 0; else Time-DateString8 = ; Time-DateString9 = ; if(hide_weekWeek%10 + 0; /星期的数据另外放到 week_value数组里,跟年,月,日的分开存放,因为等一下要在最后显示 else week_value0 = ; week_value1 = 0; Time-DateString10 = 0; /字符串末尾加 0 ,判断结束字符 void TimeToStr(SYSTEMTIME *Time) /将时,分,秒数据转换成液晶显示字符放到 数组 TimeString; if(hide_hourTimeString0 = Time-Hour/10 + 0; Time-TimeString1 = Time-Hour%10 + 0; 第三章 系统软件设计 21 else Time-TimeString0 = ; Time-TimeString1 = ; Time-TimeString2 = :; if(hide_minTimeString3 = Time-Minute/10 + 0; Time-TimeString4 = Time-Minute%10 + 0; else Time-TimeString3 = ; Time-TimeString4 = ; Time-TimeString5 = :; if(hide_secTimeString6 = Time-Second/10 + 0; Time-TimeString7 = Time-Second%10 + 0; else Time-TimeString6 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法律合规培训师考试试卷及答案
- 2025年出版物发行零售项目合作计划书
- 服饰品牌数字化运营师笔试试题及答案
- 2025年阳江市江城区招聘教师考试笔试试题【答案】
- 邵阳市武冈市事业单位选调笔试真题2024
- 2025年环保节能型冷却塔项目发展计划
- 2025年四氟丙醇项目发展计划
- 2025年液体管道运输服务项目合作计划书
- 项目实施方案(一)
- 小升初英语预测试题及答案
- 2025年农村经济与农业发展考试试题及答案
- 14.3角的平分线第1课时角的平分线的性质课件人教版数学八年级上册
- 2024年云南省文山州州属事业单位选调工作人员笔试真题
- 加油站气象灾害综合应急预案 2024
- 国家职业标准 -碳排放管理员
- 党支部书记培训考试题及答案
- GB/T 9144-2025普通螺纹优选系列
- 药厂车间员工管理制度
- 【物化生 山东卷】2025年山东省高考招生统一考试高考真题物理+化学+生物试卷(真题+答案)
- 2025安全生产法律法规专题知识培训
- SH0622-95乙丙共聚物粘度指数改进剂
评论
0/150
提交评论