1、 本科生毕业论文(设计)基于单片机的多功能数字时钟的设计与制作Design and Manufacture of Multi-function Digital Clock Based on Single Chip Microcomputer 专 业 电子信息工程 姓 名 学 号 5 指 导 教 师 完 成 时 间 2016. 6 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包括其他人已经发表或撰写过的研究成果,也不包含为获得商洛学院或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做
2、的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名: 日期: 关于论文使用授权的说明本人完全了解商洛学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。公开 保密(_年_月) (保密的学位论文在解密后应遵守此协议)签名: 导师签名: 日期: 基于单片机的多功能数字时钟的设计摘 要:本设计基于单片机技术原理,以AT89S52单片机芯片作为核心控制器,通过软件编程和硬件电路制作,设计集时间、周数、温度日历于一体的多功能数字时钟系统。该时钟系统主要由键盘控制及液晶显示两大
3、模块组成。该系统具有简单清晰的操作界面,能在3v-6v直流电源下正常工作。可以准确显示年、月、日、时、分、秒、周数、温度(时间显示格式为时时:分分:秒秒,24小时制),可随时进行日期、周数、时间调整,并具有闹铃时间设置。设计以软硬件结合,充分发挥单片机功能,通过软件编程来实现大部分功能,该系统稳定性高、电路简单、功耗小、成本低的特点,具有很强的实用性。 关键词:LCD显示;AT89S52单片机; 时钟芯片DS1302Design and Manufacture of Multi-function Digital Clock Based on Single Chip Microcomputer
4、Abstract: This design based on single chip microcomputer technology principle, AT89S52 single-chip microcomputer as the core controller, through software programming and hardware circuit production, design integrating calendar time, number of cycles, temperature of multi-function digital clock syste
5、m. The clock system is mainly controlled by the keyboard and LCD display of two modules. The system has simple and clear interface, can under 3 v to 6 v dc power supply to work properly. Can accurately display year, month, day, hours, minutes, seconds, number of cycles, temperature (display format f
6、or all the time: component: seconds seconds, 24 hours a day), may at any time to date, number of cycles, time to adjust, and has set the alarm time. Design with combination of software and hardware, and give full play to the function of SCM, through software programming to implement most of the func
7、tions, the system is high stability, simple circuit, low consumption, the characteristics of low cost, strong practicability. Key Words: LCD display; AT89S52 single chip microcomputer; The clock chip DS1302目录1 绪论51.1 课题概述51.1.1 课题研究的背景51.1.2 课题研究的目的及意义51.2 课题的国内外研究现状52 系统概述63 方案选择64 系统硬件电路的设计74.1.1
8、AT89S52具有下列主要性能:84.1.2 AT89S52的引脚及功能84.2.1 DS1302芯片介绍114.2.2 DS1302 的应用154.3 液晶显示电路154.3.1 液晶显示控制驱动器DS1302的特点154.3.2 液晶显示控制驱动器HD61202的引脚功能164.3.3 液晶显示控制驱动器DS1302的指令系统164.4 键盘电路184.5 闹铃电路185 系统程序的设计185.1 日历程序的设计185.2 时间调整程序设计196 测试结果217 结论21III基于单片机的多功能数字时钟的设计与制作1 绪论1.1 课题概述1.1.1 课题研究的背景随着科技的不断发展,人们对
9、数字钟的功能要求也日益丰富,传统的时钟已无法满足人们的需求。数字时钟在性能和式样上都有着质的不同。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使数字时钟的功能和精度, 都远远优于老式钟表。因此数字时钟已成为人们日常生活中不可少的必需品。多功能数字时钟是一种利用数字电路来显示年、月、日、时、分、秒、周数、温度的时钟系统,与传统的机械钟相比,它具有功能多、走时准、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,多功能数字时钟的应用将得到普遍化。 1.1.2 课题研究的目的及意义多功能数字时钟的用途十分广泛,具有走时准确,一钟多用等特点,在生活中已经得到广泛
10、的应用。数字时钟利用软硬件结合实现数字时钟的日期、时间调整、闹铃设置等功能。具有体积小、功能强可靠性高、价格低廉等一系列优点。数字时钟不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。随着人类科技文明的发展,人们对于时钟的要求在不断提高,时钟已不仅仅被看出一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。高精度、多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功能化已经成为现在时钟生产研究的主导设计方向。1.2 课题的国内外研究现状目前,单片机渗透
11、到我们生活的各个领域。从各种智能IC卡的应用到导弹的导航装置,飞机上各种仪表的控制等,这些都离不开单片机。单片机在多功能数字钟表中的应用意识非常普遍,但是人们只是对数字时钟的功能和操作非常熟悉,却缺少对它的内部结构及工作原理的了解。以单片机作为数字钟核心控制器,通过对它的时钟信号进行计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行调整和校准功能。输出设备显示器可以用比码管显示技术更加优越的液晶显示技术。以AT89S52为中心控制单元,釆用C语言编程,设计一个用LCD1602显示年、月、日、时、分、秒及温度的多功能数字时钟。该时钟可实现日期和时间显示、时间调整、闹钟设置、
12、温度自动识别显示多种功能,具有制作简单、调整方便、稳定性好等特点。 经实践制作、调试,证明设计可靠、方案可行。1.3 论文的主要研究内容采用模块化完成对多功能数字时钟的设计。基本功是准确显示“年”、“月”、“日”、“时”、“分”、“秒”、“周数”、“温度”,并具有温度自动识别和调整年、月、日、时、分、秒和闹钟功能1。2 系统概述该设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片,显示年、月、日、时、分、秒、周数、温度,全部信息用液晶显示。人机接口由五个按键来实现,用这五个按键分别对时间、日期可调,并可对闹铃时间进行调整。软件控制程序实现所有的功能。整机电路使用+5
13、V稳压电源,可稳定工作。系统框图如图2-1所示,其软硬件设计简单,时间记录准确,可广泛应用于长时间连续显示的系统中。人机接口显示电路软件控制程序电源电路单片机控制电路图2.1 系统框图3 方案选择方案1: 不使用时钟芯片,而直接用AT89S52单片机来实现多功能数字时钟设计。AT89S52是可编程可擦除只读存储器的低电压,高性能和带8K字节闪烁的一种CMOS 8位微处理器,俗称单片机。单片机具有反复擦写1000余次擦除只读存储器。由于在单个芯片中组合了闪烁存储器和闪烁存储器,因而AT89S52是一种高效的微型控制器,这就为许多嵌入式控制系统给出了廉价和灵活性高的方案2。若采用单片机计时,利用它
14、的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片机来实现数字时钟设计。用单片机来实现数字时钟设计,无须外接其他芯片,充分利用了单片机的资源。方案2:与单片机为控制的核心设备,通常需要一个实时时钟,给一些事件实时记录时间、实时时钟芯片可以发挥作用。多用并行接口时钟芯片,如MC146818、DS12887,等等。他们已经能够完全满足单片机系统的需求实时时钟,但是芯片和单片机接口复杂,地址和数据总线连接,芯片尺寸大的足迹,近年来,各种串行接口芯片的应用程序越来越多在单片机系统中,串行接口实
15、时时钟芯片有很多DS1302是综合性能更好,更便宜的串行接口实时时钟芯片。利用单片机进行控制,采用DS1302作为实时时钟芯片,其三线接口SCLK、I/O、/RST与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路,即构成一个基本的多功能数字时钟系统,若还要添加其他功能,在这基础上外扩电路即可。由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简单,芯片的体积小、芯片成本低等,而DS1302芯片有上面所述的诸多优点,所以本设计采用方案23。4 系统硬件电路的设计按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6
16、个模块组成,电路系统构成框图如图4-1所示。主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。DS1302作为主要计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备 (2.55.5V电源,在2.5V时耗电小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电4。4.1 系统核心部分闪电存储型器件AT89S524.1.1 AT89S52具有下列主要性能
17、: 8KB可改编程序Flash存储器(可进行1000次的写入/擦除周期);全静态工作:0Hz24MHz;三级程序存储器保密;1288字节内部RAM;32条可编程I/O线;2个16位定时器/计数器;6个中断源;可编程串行通道;片内时钟振荡器;(89S52)主控模块DS1302时钟电路键扫描电路液晶显示闹铃电路图4.1 电子时钟电路系统构成框图4.1.2 AT89S52的引脚及功能AT89S52单片机的管脚说明如图4-2所示。图4.2 AT89S52的管脚(1) 主要电源引脚 VCC 电源端 GND 接地端(2) 外接晶体引脚XTAL1和XTAL2 XTAL1 接一个外部晶体的引脚。在单片机内部,
18、它是一个片内振荡器反相放大器的输入端。当使用外部振荡器,振荡器引脚的接收信号,此时信号直接接到内部时钟发生器的输入端。 XTAL2 接另一个外部晶体的引脚。在单片机内部,它是以上的反相放大器的输出端振荡器。使用外部振荡器,这引脚暂停不连接。(3) 控制或与其它电源复用引脚RST、ALE/PROG、/PSEN和/EA/VPP RST 复位输入端。当振荡器运行时,两个机器周期的引脚高电平将使单片机复位。 ALE/PROG 当访问外部存储器,ALE(地址锁允许)输出锁存器地址低位字节。即使不访问外部存储器, ALE端仍以不变的频率(频率振荡器频率的1/6)出现周期性正脉冲信号。因而,它可以用作对外输
19、出时钟,或用于计时。但是注意:当访问外部数据存储器,会跳过ALE脉冲。在闪存编程时该引脚还用于输入编程脉冲(/PROG)。 /PSEN 程序内存允许(/ PSEN)输出外部程序存储器读门信号。当AT89S52 / LV52通过外部程序内存指令取出(或常数),每台机器周期/ PSEN有效输出两倍(两个脉冲)。但在此期间,当访问外部数据存储器,这两个有效的/ PSEN信号不会出现。/EA/VPP 允许外部访问。只让CPU访问外部程序内存(地址是0000 h FFFFH)/ EA结束必须保持低水平(接到GND端)。保持高水准当/ EA在回答(VSS),CPU来执行程序内存的内部程序。(4) 输入/输
20、出引脚 P0.0 P0.7、P1.0P1.7、P2.0 P2.7 和P3.0P3.7 P0端口(P0.0 P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。 P1端口(P1.0 P1.7) P1是一个内部上拉电阻与8位双向I / O端口。P1输出缓冲区可以驱动(或吸收输出电流)4 TTL输入。的端口写1,通过内部上拉电阻把端口拉到高电位,然后可以作为输入端口。作为输入,因为有内部上拉电阻,降低由外部信号拉低的引脚将输出电流。 P2端口 (P2.0P2.7)P2是一个内部上拉电阻与8位双向I / O端
21、口。P2输出缓冲区可以驱动(或输出电流)4 TTL输入。的端口写1,通过内部上拉电阻把端口拉到高电位力,然后可以作为输入端口。P2输入端口使用时,因为有内部上拉电阻,降低由外部信号拉低的引脚将会输出电流。 P3端口(P3.0P3.7) P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口写入“1”时,它们是高电平的内部上拉作为输入。作为输入,由于低电平的外部条件,P3将输出电流,这是因为上拉的缘故。P3口也可作为AT89S52的一些特殊功能,这些特殊功能见表4-1。表4.1 P3端口的特殊功能 端口引脚 兼 用 功 能 P3.0RXD (串行输入端) P3.1TXD
22、 (串行输出端) P3.2/INT0 (外部中断0) P3.3/INT1 (外部中断1) P3.4T0 ( 定时器0的外部输入) P3.5T1 (定时器1的外部输入) P3.6/WR (外部数据存储器写取控制) P3.7/RD (外部数据存储器读取控制)4.2 DS1302时钟电路4.2.1 DS1302芯片介绍低功耗的时钟芯片DS1302可以对年、月、日、时、分、秒进行计时。并用于数据记录,特别对特殊的数据点的记录上,可以对数据和出现该数据的时间同时进行记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。(1) DS1302的性能特性实时时钟,可对秒、分、
23、时、日、周、月进行计数;用于高速数据暂存的318位RAM;最少引脚的串行I/O;2.55.5V 电压工作范围;2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的3线接口;可选的慢速充电(至VCC1)的能力。DS1302时钟芯片包括实时时钟和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟提供秒、分、时、日、周、月和年等信息。时钟的运行采用24h格式。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:VCC1在单电源供电和电池供电系统提供低
24、,并提供低功率电池备份;VCC2提供双电源系统的主要能量源,通过这种方式,VCC1 连接到备份电源,便于在没有主电源的情况下可以保存时间信息以和数据。DS1302由VCC1或VCC2中较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;当VCC2小于VCC1时,DS1302由VCC1供电5。(2) DS1302数据操作原理DS1302在任何数据传送时必须先初始化,设置了RST脚高电平,然后将8位地址和命令装入移位寄存器,数据输入SCLK上升沿。读周期或写周期开始八指定40访问寄存器。在8个时钟周期,命令字节到移位寄存器后,另一个操作输出数据时钟周期阅读,在写操作写入数据
25、。时钟脉冲的数量在一个单字节模式是8 + 8,在多字节的8个字节模式,最大248字节6。图4.3 DS1302管脚图在传送过程中若置RST为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC =2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。DS1302的管脚图如图4-3所示,内部结构图如图4-4所示,表4-2为各引脚的功能。DS1302控制字如图4.5所示。控制字节的最高有效位(7)必须是一个逻辑1;如果它是一个逻辑0,不能写入DS1302的数据。如果是0,表示访问日历时钟数据;1访问RAM数据。51(A4 - A0)显示地址
26、操作单元。最低有效位(0),比如0,进行写操作;1进行读操作。总是从最低的输入/输出控制字节。图4.4 DS1302内部结构图表4.2 DS1302引脚功能表引脚号引脚名称功能1VCC2主电源2,3X1,X2振荡源,外接32768HZ晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8VCC1后备电源7 6 5 4 3 2 1 01RAM CKA4A3A2A1A0RAM K图4.5 控制字节的含义为了提高对32个地址的寻址能力(地址/命令位15逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读
27、或写。在时钟/日历寄存器中的地址931或RAM寄存器中的地址31不能存储数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。数据读写程序如图4-6所示。SCLKKRSTI/O571357210246046R/CA2A3A0A1R/WA41DATAI/OBYTEDATAI/OBYTE图4-6 数据读写程序DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表4-3,其中奇
28、数为读操作,偶数为写操作8。表4.3 DS1302的日历、时钟寄存器及其控制字寄存器名命令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分钟寄存器82H83H00-59010MINMIN小时寄存器84H85H01- 12或00-2312/24010APHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-12000IOMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS13
29、02停止振荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM,低电平表示AM,在24小时方式下,位5为第二个10小时位(2023h)。4.2.2 DS1302 的应用实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。要特别说明的是,备用电源BT1可以用电池或超级电容(10万F以上)。虽
30、然DS1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。如果断电是相对较短的时间(几小时或几天),可以使用普通漏电小的电解电容器 (100 u F能保证正常的走时1小时)。DS1302在第一次加电后,需进行初始化操作。初始化后就可以按正常方法调整时间及闹铃。DS1302的时钟电路如图4.7所示9。图4.7 DS1302时钟电路4.3 液晶显示电路显示器部分是由HD61202液晶显示控制驱动器和LCD1602液晶显示器组成的,下面我们对其分别进行介绍。4.3.1 液晶显示控制驱动器DS1302的特点DS1302液晶显示控制装置是一种图形液晶显示控制器输出,它可以直
31、接连接到8位微处理器, 它可与HD61203配合对液晶屏进行行、列驱动。DS1302和列驱动输出是一种液晶显示控制器,它可以用于DS1302线驱动,控制系统的液晶显示驱动程序。(1) 内藏6464=4096位显示RAM,RAM内存对应每个数据点的液晶屏幕上亮和暗的状态;(2) DS1302列驱动器, 驱动器有64列输出;(3) DS1302读写操作序列和68系列微处理器是一致的,所以可以直接连接到68系列微处理器接口;(4) DS1302的占空比为1/321/64。4.3.2 液晶显示控制驱动器HD61202的引脚功能 DS1302的引脚功能如下表4.4所示。表4.4 DS1302的引脚功能编
32、号符号引脚说明编号符号引脚说明1VSS电源地9D2Date I/O2VDD电源正极10D3Date I/O3VL液晶显示偏压信号11D4Date I/O4RS数据命令选择端12D5Date I/O5R/W读写选择端13D6Date I/O6E使能信号14D7Date I/O7D0Date I/O15BLA背光源正极8D1Date I/O16BLK背光源负极4.3.3 液晶显示控制驱动器DS1302的指令系统DS1302的指令系统比较简单,共只有七种。现分别介绍如下。 (1) 显示开/关指令表4.5 开关控制端R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0
33、0 1 1 1 1 1 1/0 当DBO=1时,LCD显示RAM中的内容;DBO=0时,关闭显示。(2) 显示起始行(ROW)设置指令表4.6 指令端R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 显示起始行(0-63)此指令集对应一行液晶显示的行数的RAM,定期改变显示起始行,可以使液晶显示屏滚动效果。(3) 页(PAGE)设置指令表4.7 页设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1页号(0-7) 显示RAM共64行,分8页,每页8行。(4) 列地址(Y Address)设置指令
34、表4.8 列地址R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 显示列地址(0-63) 设置页面地址和列地址,确认显示RAM是唯一的一个单位,所以微处理器可以用来读、写指令读取单元的内容或写入一个字节的数据单位。(5) 读状态指令表4.9 读状态R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0BUSY 0 ON/OFF REST 0 0 0 0该指令用来查询HD61202的状态,各参量含义如下:BUSY:1-内部在工作 0-正常状态ON/OFF:1-显示关闭 0-显示打开REST:1-复位状态 0-正常状态在BUSY
35、和REST状态时,除读状态指令外,其它指令均不对DS1302产生作用。在对DS1302操作之前要查询BUSY状态,以确定是否可以对DS1302进行操作10。(6) 写数据指令表4.10 写数据R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 写 数 据(7) 读数据指令表4.11 读数据R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 读 显 示 数 据需要注意的是在读、写数据指令每执行完一次读、写操作,列地址就自动增一,但是进行读操作之前,需要空读操作一次,然后才会继续读出所要读取的单元中的数据。4.4 键盘电路本设计共采用
36、按键5个,分别与单片机的RST、P30、P31、P32口相连,分别对复位,闹钟调整、调整切换,数字调节、确认键的功能。与单片机的接法可参照附录1电子时钟电路原理图。4.5 闹铃电路当设定闹铃时间,闹铃时间只可设定时和分,当前时间不断与设定的闹铃时间比较,不相等时不产生任何现象,一旦相等,P3.5输出一个高电平使三极管导通,从而使蜂鸣器工作,闹铃起作用。闹铃电路如图4-12所示11。5 系统程序的设计5.1 日历程序的设计因为使用了时钟芯片DS1302,阳历程序只需从DS1302各寄存器中读出年、周、月、日、小时、分、秒等数据,再处理即可。在首次对DS1302进行操作之前,必须对它进行初始化,然
37、后从DS1302中读出数据,再经过处理后,送给显示缓冲单元。日历程序流程图见图5-1所示。 图4-12 闹铃电路开 始初始化DS1302读24C021302开始振荡从1302中读出年、周、月、日、小时、分、秒将BCD码高低位分离,送显示缓冲单元图5.1 日历程序流程图5.2 时间调整程序设计时间调整用三个调整按钮,分别作为移位、加用、确定调整。对应定义为控制按键、加按键、确定按键。在时间调整过程中,增加了闪烁跳转功能用以区分调整位与非调整的位。也就是选择调整位时,调整位会闪烁一次。其闪烁原理就是让调整位在被选择时熄灭一次。调整结束在进行下一次选择位的调试时进行闪烁。时间调整程序流程图如图5-2
38、所示。6 测试结果设计完成后,给系统上电,液晶显示屏显示结果如图6-1所示。调节滑动变阻器可调整液晶显示屏的亮度。按下控制按键,光标将开始闪烁的日历年度设置调整状态12。这时,按下add按键,当前的数量可以改变。根据时间,数字加1;如果长按,数字连续的加。在这一点上,调整闪烁一次,直到再次按下光标控制,根据光标闪烁。调整顺序是:日历年,月,日,小时,分钟,秒,当闹钟,点。当所有的参数调整后,点击退出停止按键,光标闪烁,退出设置调整状态;当再次按下这个按键,闹铃显示“开”;当第三次按下此键,闹铃显示“关”13。图6.1 液晶显示屏的显示结果调试分为硬件调试和软件调试。硬件调试主要是检测电路中是否
39、有虚焊、短路、断路等。DS1302的硬件电路很简单也很容易检测,主要是检查电源引脚等连接是否正常。还可以通过软件来调试硬件14,还可以通过编写简单的只含DS1302的计时、读写、显示软件程序来测试DS1302是否正常工作。然后再对时间调整和日历推算程序进行调试。进而测试显示电路连接是否正常。计时器最关键的是计时的精度。电子时钟中DS1302电路使用专用的晶振,经测试制作的电子时钟,一星期快了3s左右,误差较大,实验设计中可换用标准晶振或用软件进行修正。7 结论本设计硬件电路较简单,所用元器件较少,电路中使用了AT89S52单片机、DS1302时钟芯片、DS18B20温度采集芯片和LCD1602
40、液晶显示器等主要芯片,实现了预计功能。在对芯片的管脚功能及用法有充分的了解后,根据设计要求设计硬件电路,包括单片机控制电路、时钟电路、键盘扫描电路、显示电路和闹铃电路。然后通过软件编程,实现了对年、月、日、时、分、秒、星期、日历的调整,用按键进行控制,用液晶模块进行显示,并具有闹铃功能。多功能数字时钟可以正常显示预期内容并进行相关的调节与设定,基本完成了预期要实现的目标。控制键有效,进入年调整程序等待按键程序加键有效年加1控制键有效,进入月调整程序控制键有效,进入日调整程序控制键有效,进入星期调整程序控制键有效,进入时调整程序控制键有效,进入分调整程序等待按键程序加键有效月加1等待按键程序加键
41、有效日加1等待按键程序加键有效星期加1等待按键程序加键有效小时加1等待按键程序加键有效分加1控制键有效,跳出时间调整程序,进入主循环程序图5.2 时间调整程序流程图参考文献1 何立民.单片机应用技术选编1-7M.北京:北京航天航空大学出版社.1992:43-163.2 公茂法.单片机人机接口实例集M.北京:北京航空航天大学出版社.1998:134-220.3 赵佩华.单片机接口技术及应用M.北京:清华大学出版社.2003:80-143.4 正田英介.吉永淳.模拟电路M.北京:科学出版社.2001:100-111.5 王化祥.张淑英.传感器原理及应用M.天津:天津大学出版社.2000:173-2
42、01.6 肖忠祥.数据采集原理M.西安:西北工业大学出版社.2003:128-135.7 刘广玉.新型传感器技术及应用M.北京:北京航空航天大学出版社.1989:201-212.8 鲍方等.董景新.赵长德.微型温度测量的数字化方案J.电子技术应用2004.30(9):53-62.9 陈伟.MCS-51系列单片机实用子程序集锦M.北京:清华大学出版社.1993:75-84.10 Single microcomputer principle application and interface technologyM.Beijing: National De-fence Industry Press
43、.1993:87-96.11 金仁贵.单片机应用系统的开发方法J.安徽工业职业技术学院.2006.35(8):87-95.12 李玉梅,单片机原理的应用设计.M.北京:国防工业出版社:2006:56-144.13 quan-li li. Single chip microcomputer principle and application technology M. Beijing: higher education press, 2004:39-4314 quan-li li. Single chip microcomputer principle and application technology M.