![基于单片机的多功能电子钟课程设计说明书_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/3365fc71-1ec7-4603-9b95-4f91b00990ab/3365fc71-1ec7-4603-9b95-4f91b00990ab1.gif)
![基于单片机的多功能电子钟课程设计说明书_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/3365fc71-1ec7-4603-9b95-4f91b00990ab/3365fc71-1ec7-4603-9b95-4f91b00990ab2.gif)
![基于单片机的多功能电子钟课程设计说明书_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/3365fc71-1ec7-4603-9b95-4f91b00990ab/3365fc71-1ec7-4603-9b95-4f91b00990ab3.gif)
![基于单片机的多功能电子钟课程设计说明书_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/3365fc71-1ec7-4603-9b95-4f91b00990ab/3365fc71-1ec7-4603-9b95-4f91b00990ab4.gif)
![基于单片机的多功能电子钟课程设计说明书_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/3365fc71-1ec7-4603-9b95-4f91b00990ab/3365fc71-1ec7-4603-9b95-4f91b00990ab5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书题目基于单片机的多功能电子钟课程:单片机原理及应用 B 课程设计山东建筑大学信息与电气工程学院课程设计说明书I目录摘要. II1 设计目的. 12 设计要求. 23 设计内容. 33.1 电子时钟的工作原理 . 33.2 系统硬件电路设计及元件. 43.2.1 AT89C51 芯片. 43.2.2 DS1302 芯片. 83.2.3 LCD1602 液晶显示. 123.3 系统软件电路设计 . 153.3.1 系统流程图及源代码设计 . 15总结与致谢. 18参考文献. 19附录一 . 20山东建筑大学信息与电气工程学院课程设计说明书II摘要单片机,是集 CPU ,RAM ,RO
2、M ,定时器,计数器和多种接口于一体 的微控制器。自 20 世纪 70 年代问世以来,以其极高的性能价格比,受 到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、 价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和 工业自动化上。本系统为基于 DS1302 的多功能电子钟, 以 AT89C51单片机作为主 控芯,采用实时时钟芯片 DS1302 使用 1602 液晶作为显示输出。该系 统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、 日期等多种功能。本文将详细介绍 AT89C5 仲片机和 DS1302 时钟芯片的 基本原理,从软件和硬件电路的实现两大
3、方面进行分析。关键词:AT89C51 单片机;液晶屏;时钟芯片;蜂鸣器山东建筑大学信息与电气工程学院课程设计说明书11 设计目的基于 51 单片机设计一个能够支持年、月、日、星期、时、分、秒的 电子时钟。并且支持闹钟功能,及整点报时功能。在设计过程中,学习利 用 DXP软件进行硬件电路设计或者利用仿真软件进行仿真,进行单片机的 软件编程。学习芯片的选择及方案选择,熟悉单片机的 I/O 口原理;掌握 LCD 显示的原理;掌握定时计数器的使用;要求设计出程序流程图和程序。山东建筑大学信息与电气工程学院课程设计说明书22 设计要求1 设计能支持年、月、日、星期、时、分、秒的时钟,时钟有时间 调整功能
4、及闹钟功能;2 时钟具有装卸电池时掉电保护功能,保护时间大于5 分钟;3.时钟功耗小于 0.5MA/5V。4能够提供生日提醒指示;能够每天提供 3 个时间点的闹钟报时功5.非易失定时闹铃6.整点报时山东建筑大学信息与电气工程学院课程设计说明书33 设计内容3.1 电子时钟的工作原理本次设计时钟电路,使用了 AT89C51 单片机芯片控制电路,单片机控 制电路简单且省去了很多复杂的线路, 使得电路简明易懂,用 C 语言程序 来控制整个时钟的显示,使得编程变得更容易,这样通过五个模块:芯片、 显示屏、看门狗、电源、时钟即可满足设计要求。此设计原理图框图如图 3.1 所示,此电路包括以下五个部分:单
5、片机、 时钟电路、看门狗、液晶屏、电源模块、时钟振荡电路。图 3.1 主电路设计框图本设计采用 C 语言程序设计,使单片机控制液晶显示年、月、日、时、 分、秒,当秒计数满 60 时就向分进位,分计数器计满 60 后向时计数器进 位,小时计数器按“ 23 翻 0”规律计数。时、分、秒的计数结果经过数据 处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校 正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在LCD 上显示。山东建筑大学信息与电气工程学院课程设计说明书43.2 系统硬件电路设计及元件321 AT89C51 芯片AT89C51 是美国 ATMEL 公司生产的 8 位
6、 Flash ROM 单片机。其最突出的优点是片内 ROM 为 Flash ROM 可擦写 1000 次以上,应用并不复杂的通 用ROM 写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序 ROM 二级保密系统。因此可灵活应用于各种控制领域。AT89C51 包含以下一些功能部件:(1) 一个 8 位 CPU;(2) 一个片内振荡器和时钟电路;(3) 4KB Flash ROM ;(4) 128B 内 RAM(5) 可寻址 64KB 的外 ROM 和夕卜 RAM 控制电路;(6) 两个 16 位定时/计数器;(7) 21 个特殊功能寄存器;(8) 4 个 8 位并行 I/O 口;(9) 一
7、个可编程全双工串行口;(10)5 个中断源,可设置成 2 个优先级。AT89C51 单片机一般采用双列直插 DIP 封装,共 40 个引脚,图 3.2 为 其引脚排列图。40 个引脚大致可分为 4 类:电源、时钟、控制各 I/O 引 脚。山东建筑大学信息与电气工程学院课程设计说明书5(1)控制线控制线共有 4 根,其中 3 根是复用线。所谓复用线是指具有两种功 能,正常使用时是一种功能,在某种条件下是另一种功能。1、ALE/ PROG地址锁存允许/片内 EPROM程脉冲。(1) ALE 功能:用来锁存 P0 口送出的低八位地址。AT89C51 在并行扩展外存储器时,P0 口用于分时传送低 8
8、位地址和 数据信号,且均为二进制数。当 ALE 信号有效时,P0 口传送的是低 8 位 地址信号;ALE 信号无效时,P0 口传送的是低 8 位地址信号。在 ALE 信 号的下降沿,锁定 P0 口传送的内容,即低 8 位地址信号。需要指出的是,当 CPU 不执行访问外 RAM 指令,ALE 以时钟振荡频 率 1/6的固定频率输出, 因此 ALE 信号也可作为外部芯片 CLK 时钟或其 他需要。 但是,当 CPU 执行 MOVXt 令时,ALE 将跳过一个 ALE 脉冲。(2) PROG 功能:片内 EPROM 勺芯片,在 EPROMS 程期间,此引脚 输入编程脉冲。2、PSEN外 ROM 读选
9、通信号89C51 读外 ROM 时,每个机器周期内 PSEN 两次有效输出。PSEN 可 作山东建筑大学信息与电气工程学院课程设计说明书6为外 ROM 芯片输出允许 OE 的选通信号。在读内 ROM 或读外 RAM 时,PSEN无效。3、RST/VPD 复位/备用电源。(1)正常工作时,RST 端为复位信号输入端,只要在该引脚上连续 保持两个机器周期以上高电平,AT89C51 芯片即实现复位操作,复位后一 切从头开始,CPU 从 0000H 开始执行指令。(2)VPD 功能:在 VCC 掉电情况下,该引脚可接上备用电源,由 VPD向片内 RAM 供电,以保持片内 RAM 中的数据不丢失。4、E
10、A /VPP内夕卜 ROM 选择/片内 EPROMS 程电源。(1) EA 功能:正常工作时,EA 为内外 ROM 选择端。AT89C51 单 片机 ROM 寻址范围为 64KB 其中 4KB 在片内,60KB 在片外。当 EA 保持 高电平时, 先访问内 ROM 但当 PC 值超过 4KB 时, 将自动转向执行外 ROM 中的程序。当 EA 保持低电平时,则只访问外 ROM 不管芯片内有否内 ROM(2)VPP 功能:片内有 EPROM 勺芯片,在 EPROM程期间,此引脚用于施加编程电源。I/O 引脚AT89C51 有 P0 P1、P2、P3 4 个 8 位并行 I/O 端口,共 32 个
11、引脚。P0 口是一组 8 位漏级开路型双向 I/O 口,也即地址/数据总线复用 口。作为输出口用时,每位能以吸收电流的方式驱动8 个 TTL 逻辑门电路,对端口写 1 时,又可作高阻抗输入端用。在访问外部程序和数据存 储器时,它是分时多路转换的地址(低 8 位)/数据总线,在访问期间激 活了内部的上拉电阻。在 Flash 编程时,P0 端口接收指令字节;而在验 证程序时,则输出指令字节。验证时,要求外接上拉电阻。P1 口是带内部上拉电阻的双向 I/O 口,向 P1 口写入 1 时 P1 口被内部 上山东建筑大学信息与电气工程学院课程设计说明书7拉为高电平,可用作输入口。当作为输入脚时被外部信号
12、拉低的P1 口会因为内部上拉而输出一个电流。Flash 编程和程序校验期间,P1 接收低 8 位地址。P2 口是带内部上拉电阻的双向 I/O 口,向 P2 口写入 1 时 P2 口被内部 上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P2 口会因为内部上拉而输出电流。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行 MOVX DP令)时,P2 口送出高 8 位地址数据,当使用8 位寻址方式(MOVXRJ 问外部数据存储器时,P2 口发送 P2 特殊功能寄 存器的内容,在整个访问期间不改变。Flash 编程和程序校验时,P2 也接 收高位地址和一些控制信号。P3 口是带内部上拉
13、电阻的双向 I/O 口,向 P3 口写入 1 时 P3 口被内部 上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3 口会因为内部上拉而输出电流。P3 口除了作为一般的 I/O 口线外,更重要的是它 的第二功能,如表 3-1 所示:表 3-1 P3 端口的特殊功能端口引脚兼用功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断 0P3.3/INT1外部中断 1P3.4T0定时器 0 的外部输入P3.5T1定时器 1 的外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通山东建筑大学信息与电气工程学院课程设计说明书8322 DS1302 芯
14、片DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟日 历芯片,附加 31 字节静态 RAM 采用 SPI 三线接口与 CPU 进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于 31 天时可以自动调整, 且具有闰年补偿功能。工作电压宽达 2.55.5V。采用双电源供电(主电 源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细 电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量 电容( 1F)来替代。需要强调的是,DS1302 需要使用 32.768KHZ 的晶 振
15、。DS1302 包含以下一些功能部件:(1) 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年 进行计数;(2) 用于高速数据暂存的 31X8 位 RAM(3) 最少引脚的串行 I/O ;(4) 2.55.5V 电压工作范围;(5) 2.5V 时耗电小于 300nA(6) 用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据 传送方式;(7) 简单的 3 线接口;(8) 可选的慢速充电(至 VCC1 的能力。(1) DS1302 数据操作原理DS1302 在任何数据传送时必须先初始化, 把 RST 脚置为高电平,然后 把8 位地址和命令字装入移位寄存器,数据在 SCLK 勺上升
16、沿被输入。无 论是读周期还是写周期,开始 8 位指定 40 个寄存器中哪个被访问到。在 开始 8 个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在 读操作时输出数据,山东建筑大学信息与电气工程学院课程设计说明书9在写操作时写入数据。时钟脉冲的个数在单字节方式 下为 8 加 8,在多字节方式下为 8 加字节数,最大可达 248 字节数。DS1302 的内部结构图如图 3.3 所示。AD BUS图 3.3 DS1302 内部结构图DS1302 的引脚图及功能DS1302 的引脚图如图 3.4 所示图 3.4 DS1302 引脚图DS1302 各引脚功能:Vcc1:主电源;Vcc2:备份电
17、源。当 Vcc2Vcc1+0.2V 时,由 Vcc2 向 DS1302 供 电, 当Vcc2 Vcc1 时,由 Vcc1 向 DS1302 供电。SCLK 串行时钟,输入,控制数据的输入与输出;I/O :三线接口时的双向数据线;CE 输入信号,在读、写数据期间,必须为高。该引脚有两个功能: 第一,CE 开始控制字访问移位寄存器的控制逻辑;其次 CE 提供结束单字 节或多字节山东建筑大学信息与电气工程学院课程设计说明书10数据传输的方法。引脚功能如表3-2 所示:表 3-2 DS1302 引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHZ 晶振输入3X232.768KHZ
18、晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入DS1302 的控制字DS1302 的控制字如表 3-3 所示:表 3-3 控制字(即地址及命令字节)765432101RAMA4A3A2A1A0RDCKWR控制字的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302 中。位 6:如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 (A4A0):指示操作单元的地址;位 0 (最低有效位):如为 0,表示要进行写操作,为 1 表示进行读操 作。控制字总是从最低位开始输出。在控制
19、字指令输入后的下一个 SCLK 时钟的山东建筑大学信息与电气工程学院课程设计说明书11上升沿时,数据被写入 DS1302,数据输入从最低位(0 位)开始。 同样,在紧跟 8 位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302 的数据,读出的数据也是从最低位到最高位。DS1302 时序CE 输入驱动高启动所有的数据传输。CE 输入有两个功能。首先,CE 打开控制逻辑,允许访问的移位寄存器的地址/命令序列。其次,CE 提供 了一个终止单字节或多字节数据传输方法。一个时钟周期是由一个下降沿之后的上升沿序列。对于数据传输而 言,数据必须在有效的时钟的上升沿输入,在时钟的下降沿输出。如
20、果 CE 为低,所有的 I/O 引脚变为高阻抗状态,数据传输终止。对于数据输入:开始的 8 个 SCLK 周期,输入写命令字节,数据字节 在后 8个 SCLK 周期的上升沿输入。数据输入位 0 开始。对于数据输出:开始的 8 个 SCLK 周期,输入一个读命令字节,数据 字节在后 8 个 SCLK 周期的下降沿输出。注意,第一个数据字节的第一个 下降沿发生后,命令字的最后一位被写入,命令字节的最后一位被写入。 当 CE 仍为高时。如果还有额外的 SCLK 周期,DS1302 将重新发送数据字 节,这使 DS1302具有连续突发读取的能力。DS1302 数据读写时序如图 3.5 所示:单宇节读n
21、nmmirLmRrummn_AO AI A2 A3 A4 R/C t U DO DI D2 D3 D4 I DS D6 D7-車宇节写rmHnnHnHnHrurinnmiRWA0A23 A4D1D203D405D607 山东建筑大学信息与电气工程学院课程设计说明书12图 3.5 数据读写时序3.2.3 LCD1602 液晶显示LCD1602 是一种用 5x7 点阵图形来显示字符的液晶显示器模块,它显 示的容量为 2 行 16 个字共 32 个字符。它由若干个 5X7 或者 5X11 点阵 字符位组成,每个点阵字符位都可以显示一个字符。模块采用数字式接口, 能够方便地与单片机等控制类芯片进行通信
22、。由于其具有体积小、重量轻、 显示质量高、功耗低等诸多优点而被广泛用于智能化仪器仪表的显示器 件。(1)LCD1602 引脚及功能LCD1602 的引脚如图 3.6 所示:1VSS 电源地。2VDD 接电源正极。3VL:液晶显示偏压信号。4RS 数据/命令选择端(H/L )。5RW:读/写选择端(H/L)山东建筑大学信息与电气工程学院课程设计说明书136E:使能端。当 E 端由高电平跳变成低电平时,液晶模块执行命令。7D1D8: 8 位双向数据线。8BLA 背光源正极;9BLK 背光源负极。LCD 1602Nu硏占 一小忖寸 49 尸QC二图 3.6 LCD1602 引脚图LCD1602 引脚
23、功能表如下表 3-4 所示:表 3-4 LCD1602 引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定 要确认模块的忙标志位是不是为低电平,是低电平则表示不忙,否则 此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块 在哪里显示字符。表 3-5 为 LCD1602 的内部显示地址。山东建筑大学信息与电气工程学
24、院课程设计说明书14表 3-5 LCD1602 的内部显示地址123141516第一行80H81H82H8DH8EH8FH第二行0C0H0C1H0C2H0CDH0CEH0CFH山东建筑大学信息与电气工程学院课程设计说明书153.3系统软件电路设计331 系统流程图及源代码设计(1)主程序流程图设计3.7 主程序流程图山东建筑大学信息与电气工程学院课程设计说明书16(2)子程序流程图设计图 3.8 DS1302 中断流程图山东建筑大学信息与电气工程学院课程设计说明书17程序主要实现对 DS1302 写保护、充电,对年、月、日、时、分、秒 等寄存器的读写操作。在读写操作子程序中都执行了关中断指令,
25、因为在串行通信时对时序要求比较高,而且在此是用 I/O 口软件模拟串行时钟脉 冲,所以在通信过程中最好保证传输的连续性,不要允许中断,如图3.8所示。2、LCD1602 流程图程序主要实现对信息的显示,包括年、月、日、时、分、秒等信息, 在这里要注意它的读写控制指令。其流程图如图3.9 所示。开始图 3.9 LCD1602 初始化流程图山东建筑大学信息与电气工程学院课程设计说明书18总结与致谢通过这次对基于单片机的电子时钟设计的设计与制作过程, 加强了我们动手、思考和解决问题的能力。在设计过程中我们利用 Altium 软件进行原理图及 PCB 图的绘制, 最后再利仿真软件进行检查,看程序是否能
26、显示其功能。在设计过程 中让我进一步深刻的学习各种软件的利用以及各种软件给我们带来 的便利。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只 有理论知识是远远不够的,只有把所学的理论知识与实践相结合起 来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际 动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是 困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现 了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不 够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问 题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上 我们学也到很多
27、实用的知识,在次我们表示感谢!同时,对给过我帮 助的所有同学和各位指导老师再次表示忠心的感谢!山东建筑大学信息与电气工程学院课程设计说明书19参考文献1马潮.AVR 单片机嵌入式系统原理与应用实践M.北京:北京航空航天大学出版社,2007.2杨欣,王玉凤,刘湘黔 51 单片机应用从零开始M.北京:清华大学出版社,2008.3陈在平.现场总线及工业控制网络技术M.北京:电子工业出版社,2008.4沈建华,杨艳琴.MSP430 系列 16 位超低功耗单片机原理与实践M.北北京航空航天大学出版社,2008.张成伟基于嵌入式 Linix 的 GSM/GPR 无线通信模块的设计与实现D.华中科技大学赵亮
28、 GPRS 无线网络在远程数据采集中的应用计算机工程与设计.2005. 26(9).7马忠梅.单片机的 C 语言应用程序设计M.北京:北京航空航天大学出版社,2003.8胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,2004.9雷霖.现场总线及工业控制网络技术M.北京:电子工业出版社,2004.10 许洪华.现场总线与工业以太网技术M.北京:电子工业出版社,2007.山东建筑大学信息与电气工程学院课程设计说明书20附录一#in elude #i nclude/*#defi ne uchar un sig ned char#defi ne uint un sig ned int#def
29、i ne TIME (0X10000-50000)#defi ne FLAG 0XEF闹钟标志/*II 引脚连接图sbit CLK=P1A2;sbit DAT=P3;sbit RST=P1A4;sbit RS=P1A5;sbit RW=P1A6;sbit E=P1A7;sbit P33=P3A3;sbit KEY1 = P2A0;sbit KEY2 =卩2人1;sbit KEY3 =卩2人2;sbit KEY4 =卩2人3;/*/II 全局变量及常量定义uchar i=20,j;uchar DataBuf16 = ;/ 日期uchar TimeBuf16 = ;/ 时间uchar alarm2
30、,time3;uchar code Day=31,28,31,30,31,30,31,31,30,31,30,31;/12个月的最大日期(非闰年)II 闰年月星期表const un sig ned char WeekTab = (3 5) + 31,/1 月(6 5) + 29,/2 月(0 5) + 31,/3 月(3 5) + 30,/4 月(5 5) + 31,/5 月(1 5) + 30,/6 月山东建筑大学信息与电气工程学院课程设计说明书21(3 5) + 31,117 月(6 5) + 31,/8 月(1 5) + 30,/9 月(4 5) + 31,/10 月(0 5) + 30
31、,/11 月(2 5) + 31 /12 月;/音律表uint code table1=64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217;/发声部分的延时时间uchar code table2=0 x82,1,0 x81,0 xf4,0 xd4,0 xb4,0 xa4,0 x94,0 xe2,1,0 xe1,0 xd4,0 xb4,0 xc4,0 xb4,4,0;/闹钟中用的全局变量uchar th1,tl1;/*/延时 1ms 函数delay1ms(uchar t
32、ime)uchar i,j;for(i=0;itime;i+)for(j=0;j250;j+);/*/LCD 控制函数En able()RS=0;RW=0;E=0;delay1ms(3);E=1;山东建筑大学信息与电气工程学院课程设计说明书22/*/LCD1602 写入字符函数LCD1602_WriteSChr(uchar i)P0=i;RS=1;RW=0;E=0;delay1ms(2);E=1;/*/LCD1602 写入字符串函数/入口函数/uchar data *address :写入数据首地址/ucharm:写入字节数LCD1602_WriteStr(uchar *address,uch
33、ar m)uchar i,j;for(i=0;im;i+,address+)j=*address;LCD1602_WriteSChr(j);/*/LCD 显示void LCDShow(void)P0=0XC;/显示器开、光标关En able();P0=0 x80;/写入显示起始地址/E nable();LCD1602_WriteStr(DataBuf,16); / 写入日期显示缓存P0=0 xc1;/写入显示起始地址En able();山东建筑大学信息与电气工程学院课程设计说明书23LCD1602_WriteStr(TimeBuf,16);/ 写入时间显示缓存/*/DS1302 写入子程序vo
34、id DS1302_Write(uchar temp)uchar i;CLK=0; /将 DS1320 时钟脉冲拉低_n op_();延时一指令周期RST=1; /RST 置高电平_n op_();延时一指令周期for(i=0;i=1;/ 右移一位CLK=0;/拉低时钟脉冲/*/DS1302 读取子程序uchar DS1302_Read()uchar i,j=0;for(i=0;i=1;/右移一位_n op_(); /延时一指令周期CLK=0;/拉低时钟脉冲_n op_(); /延时一指令周期if(DA T) 判断接收该位数据是否为1j|=0 x80; 该位置 1_n op_(); /延时一指
35、令周期CLK=1;/拉高时钟脉冲山东建筑大学信息与电气工程学院课程设计说明书24return(j);/返回数值/*/部分显示数据初始化TimeStart()TimeBuf0=TimeBuf8=TimeBuf9=TimeBuf10=0 x20; / 不显示字符TimeBuf2=TimeBuf5=:; / 时间分隔显示DS1302_Write(0 xc1);alarm0=DS1302_Read();RST=0;DS1302_Write(0 xc3);alarm1=DS1302_Read();RST=0;DS1302_Write(0 xc5);DataBuf0=DS1302_Read();RST=0
36、;/*/读取时间ReadTime()uchar i,m ,n;for(m=0,i=0,n=0 x85;i7;i+=3,n-=2,m+)/ 连续读取时,分,秒DS1302_Write( n);/写入读取寄存器指令timem=DS1302_Read();/ 读取数据RST=0;/将 RST 电平拉低,停止传输TimeBufi=timem/16+0 x30;/将两位数据的十位转为字符格式TimeBufi+1=timem%16+0 x30; 将两位数据的个位转为字符格式/*/功能选择超时定时器time0() in terrupt 1 using 1山东建筑大学信息与电气工程学院课程设计说明书25山东建
37、筑大学信息与电气工程学院课程设计说明书26I-;if(i=O)if(j!=0)j-;i=20;TH0=TIME/256,TL0=TIME%256;/*/产生闹铃音调in time1() in terrupt 3TH1=th1,TL1=tl1;P32=!P32;/*/闹钟显示void AlarmShow(void)uchar i,j,a,b ,n;ET1=1;for(j=0;j=4;if(a=0)TR1=0;goto D1;山东建筑大学信息与电气工程学院课程设计说明书27a=(-a)1)/2;TH 仁 th 仁 table1a/256,TL 仁 tl 仁 table1a%256; TR1=1;D
38、1:dob-; for(n=0;n0 xc5)i=0 xc2;else if(KEY2 = 1)year=(DataBuf4&0 xf)*10+(DataBuf5 &0 xf);/ 将字符格式的年份转换为数值格式mo nth=(DataBuf7&0 xf)*10+(DataBuf8&0 xf);/ 将字符格式的月份转换为数值格式day=(DataBuf10&0 xf)*10+(DataBuf11&0 xf);/ 将字符格式的日数转换为数值格式if(i=0 x85)/ 设置年份year+;if(year99)year=0;if(year%4)!=0
39、)if(mo nth=2&day=29)day=28;山东建筑大学信息与电气工程学院课程设计说明书29else if(i=0 x88)设置月份山东建筑大学信息与电气工程学院课程设计说明书30mon th+;if(mo nth12)mon th=1;if(dayDaymo nth-1)day=Day mon th-1;if(mo nth=2&( year%4)=0) / 计算是否闰年 day=29;else if(i=0 x8b) / 设置日期day+;if(dayDaymo nth-1)if(mo nth=2&( year%4)=0) / 计算是否闰年if(day29)
40、day=1;if(mo nth!=2)day=1;else if(i=0 xc2) / 设置小时n=(TimeBuf0&0 xf)*10+(TimeBuf1&Oxf);n+;if(n 23)n=0;TimeBuf0=n/10+0 x30;TimeBuf1=n%10+0 x30;else/设置分钟n=(TimeBuf3&0 xf)*10+(TimeBuf4&0 xf);n+;if(n 59)山东建筑大学信息与电气工程学院课程设计说明书31n=0;TimeBuf3=n/10+0 x30;TimeBuf4=n%10+0 x30;DataBuf4=year/10+0 x
41、30;将数值格式的日期转换为字符形式DataBuf5=year%10+0 x30;DataBuf7=m on th/10+0 x30;DataBuf8=m on th%10+0 x30;DataBuf10=day/10+0 x30;DataBuf11=day%10+0 x30;LCDShow();else if(KEY3 = 1)/按保存退出键后,向 DS1302 写入设置后的日期时间DS1302_Write(0 x8c);DS1302_Write(DataBuf4&0 xf)*16+(DataBuf5&0 xf);RST=0;DS1302_Write(0 x8a);DS130
42、2_Write(SetWeek();RST=0;for(i=7, n=0 x88;i11;i+=3, n-=2)DS1302_Write( n);DS1302_Write(DataBufi&0 xf)*16+(DataBufi+1&0 xf);RST=0;for(i=0;i7;i+=3, n-=2)DS1302_Write( n);DS1302_Write(TimeBufi&0 xf)*16+(TimeBufi+1&0 xf);RST=0;TR0=0;return;elseTR0=0;山东建筑大学信息与电气工程学院课程设计说明书32return;山东建筑大学信息
43、与电气工程学院课程设计说明书33if(j=0)TRO=O;return;/*/设置闹钟void SetAlarm(void)uchar i,n;for(i=1;i0 xc5)i=0 xc2;else if(KEY2 = 1)if(i=0 xc2)n=(TimeBufO&0 xf)*10+(TimeBuf1&Oxf);n+;if(n 23)n=0;TimeBuf0=n/10+0 x30;TimeBuf1=n%10+0 x30;elsen=(TimeBuf3&0 xf)*10+(TimeBuf4&0 xf);n+;if(n 59)n=0;TimeBuf3=n/10+
44、0 x30;TimeBuf4=n%10+0 x30;LCDShow();else if(KEY3 = 1)DS1302_Write(0 xc0);DS1302_Write(TimeBuf0&0 xf)*16+(TimeBuf1&0 xf);RST=0;DS1302_Write(0 xc2);DS1302_Write(TimeBuf3&0 xf)*16+(TimeBuf4&0 xf);RST=0;DataBuf0=FLAG;DS1302_Write(0 xc4);山东建筑大学信息与电气工程学院课程设计说明书35DS1302_Write(DataBuf0);RST=O;TRO=O;TimeStart(); return;elseTR0=0;TimeStart(); return;if(j=0)TR0=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新能源储能项目落户保障合同
- 厨具设备购销合同(31篇)
- 教学工作总结英语2024(32篇)
- 2023-2024学年浙江省宁波市镇海中学高三下学期期中考试历史试卷
- 2025年业务提升合作谅解协议
- 2025年供应链管理公司合作项目协议书
- 2025年产品创新与生产协作协议
- 2025年农村医疗人员定向就业协议
- 2025年大数据项目规划申请报告模板
- 2025年远程医疗项目立项申请报告模板
- 员工节能环保培训课件
- 华为公司的内部审计制度
- 肿瘤医院病历书写培训课件
- 《蓄电池培训》课件
- 32软件测试报告GJB438C模板
- 合同移交登记表
- C++面向对象的程序设计课件
- 幼儿园大班数学PPT课件2、3、4的分解与组成
- 典籍里的中国
- 遥感图像的分析解译(共34张PPT)
- 中国专业学位文字案例评审标准框架
评论
0/150
提交评论