1
单
片
机
课
程
设
计
题 目:基于 DS1302 与单片机组成的数字时钟
学 院:
专业班级:自动化
学生姓名:
指导教师:
提交时间:2013 年 1 月 9 日
2
目录
摘要 ..................................................................................................................................................... 3
1.系统方案设计 .................................................................................................................................. 3
1.1 系统总体方案设计 ............................................................................................................................................. 4
1.2 主要模块方案选择和论证 ................................................................................................................................. 4
1.2.1 单片机的选择 .................................................................................................................................................. 4
1.2.2 时间生成模块的选择 ...................................................................................................................................... 4
1.2.3 显示模块的选择 .............................................................................................................................................. 4
1.2.4 显示模块的选择 .............................................................................................................................................. 4
1.2.5 按键模块的设计 .............................................................................................................................................. 4
2.硬件电路的设计 .............................................................................................................................. 5
2.1 单片机系统电路的设计 ..................................................................................................................................... 5
2.1.1 AT89C52 的介绍 .............................................................................................................................................. 5
2.1.2 功能概述 .......................................................................................................................................................... 6
2.2 时钟芯片和按键电路的设计 ........................................................................................................................... 6
2.2.1 DS1302 的介绍................................................................................................................................................. 6
2.2.2 功能概述 .......................................................................................................................................................... 8
2.3 LCD1602 模块和蜂鸣器电路的设计 ................................................................................................................. 9
2.3.1 LCD1602 的介绍 .............................................................................................................................................. 9
2.3.2 功能概述 ........................................................................................................................................................ 11
2.4 DS18B20 温度显示模块电路的设计 ............................................................................................................... 12
2.4.1 DS18B20 的简介 ............................................................................................................................................ 12
2.4.2 功能概述 ........................................................................................................................................................ 13
3.软件设计 ........................................................................................................................................ 13
3.1 主程序设计 ....................................................................................................................................................... 14
3.2 网状多级状态结构的按键处理 ....................................................................................................................... 14
4.系统调试、功能及使用说明 ........................................................................................................ 16
4.1 硬件调试 ......................................................................................................................................................... 16
4.2 软件调试 ......................................................................................................................................................... 16
4.3 系统功能 ......................................................................................................................................................... 16
4.4 时间,日期的设置 ......................................................................................................................................... 16
5.讨论及总结 .................................................................................................................................... 16
5.1 出现问题 ......................................................................................................................................................... 16
5.2 已解决问题 ..................................................................................................................................................... 17
5.3 未解决为题 ..................................................................................................................................................... 17
5.4 总结................................................................................................................................................................. 17
6.个人心得体会 ................................................................................................................................ 18
6.1 王仲浩、胡婷婷、李三丽的心得体会、 ....................................................................................................... 18
附录 ................................................................................................................................................... 20
附录一系统总体原理图 .......................................................................................................................................... 20
附录二系统程序清单 .............................................................................................................................................. 21
附录三元件清单 ...................................................................................................................................................... 22
参考文献 ........................................................................................................................................... 22
3
基于 DS1302 与单片机组成的数字时钟
摘要 本文叙述了数字时钟的整个设计过程,包括硬件设计和软件设计,并重点讨论了模块
软件设计和编程思想,并在本文末尾进行了讨论和总结,提出了改进的方面和改进的方法。主要
介绍了以AT89C52单片机为核心,控制实时时钟芯片DS1302,数字温度芯片DS18B20和液晶显示
模块LCD1602,实现时间和星期的显示与调整,温度显示。整个系统的软件设计在Keil环境下以C
语言实现.完成的电子钟具有走时准确;掉电长时间后时间不需重新设置;功耗低,操作界面友好,
操作简便;最大的特点是具有人性化的设计。
关键字 数字时钟 硬件设计 软件设计 AT89C52单片机 人性化
Abstract This article narrated electron clock's entire design process, including the hardware
design and the software design, and discussed the module software design and the programming thought
with emphasis, and has carried on the discussion and the summary end of this article, proposed the
improvement aspect and the improvement method. This paper mainly introduces the hardware and
software design of digital electronic clock which is made up of the AT89S52 MCU ,DS1302 clock
chip,DS18B20 Temprature chip and LCD1602 module .It can accurately present and adjust the
information of the time and temprature. Completes the electron clock has is in luck accurately; After
power failure the long time, the time cannot the reset; The power loss is low, the operation contact
surface is friendly, the operation is simple; The most major characteristic has the user-friendly design.
Keyword Digital clock Hardware design Software design AT89C52MCU User-friendly
1.系统方案设计
1.1 系统总体方案设计
本课设题目要求为:1.具有年、月、日、时、分、秒、星期、温度显示功能;
2.具备年、月、日、时、分、秒、星期较准功能;
3.具备测量环境温度功能。
本方案采用单片机 AT89C52 作为控制单元,与数字温度芯片 DS18B20 接口
获取温度数据,与实时时钟芯片 DS1302 接口获取时间/日历数据,通过与液晶模
块 LCD1602 接口显示温度、时间和日历,调整时间按键采用简单的单个 I/O 口键
盘,蜂鸣器发声。
系统整体方案图如下:
AT
89C52 单片机
1602液晶显
示模块
DS1302 时
钟芯片模
块
键盘模块
蜂鸣器
模块
DS18B20
温度传感
器
4
1.2 主要模块方案选择和论证
1.2.1 单片机的选择
单片机有多种方案的选择,如 Philips、Winbond、Intel、Siemens、或者 STC
等,但 51 单片机价格便宜,使用方便,操作简单。针对题目的要求,89C52 八
位单片机已足够胜任,采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V
的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为 8KB
ROM 存储空间,同样具有 89C51 的功能,且具有在线编程可擦除技术,当在对
电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不
需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用 AT89S52 作为
主控制系统.故本设计采用 89C52 做处理器控制模块。
1.2.2 时间生成模块的选择
时间生成可采用 52 单片的定时中断实现,它的优点:软硬件简单,操作简
便,缺点:精确度低,掉电不保存。于是选择常用的时钟芯片 DS1302 来实现时
间的生成。DS1302 是低功耗实时时钟芯片,附加 31 字节静态 RAM,采用 SPI
三线接口与 MCU 进行同步通信,可提供秒,分,时,日,星期,月,年,采用
双电源供电(主电源和备用电源),工作电压宽(2.5V~5.5V),不仅时间精确,
还可以掉电保存时间日期,静态 RAM 可用来保存重要数据、标记。
1.2.3 显示模块的选择
显示模块是显示时间等信息和人机交流的设备,好的人机操作界面应该是友
好的,显示的信息足够丰富。显示模块可用 8 位数码管显示,但是数码管显示信
息量少,显示不友好,硬件相对复杂,在软件设计中不断扫描显示,占用 CPU 时
间,效率低。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面
直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗
干扰能力强等特点。因此本方案选用 LCD1602 液晶显示模块。LCD1602 液晶显
示模块可显示 16x2 个字符,显示信息丰富,界面友好,硬件接口简单,驱动程序
简单,是理想的显示器件。
1.2.4 温度模块的选择
作为一个完整的数字时钟,温度的显示是必要的。早期的模拟温度传感器外
形复杂,如热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电
阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化.通过一定的
电路可以将周围环境的温度变化转化成电压的变化,通过 AD 转化器件将信
号传输给单片机进行分析,从而测出当前环境温度,但误差大,不稳定,
对环境要求较 高 。 而由美国 DALLAS 半导体公司推出的数字化温度传感器
DS18B20 采用单总线协议,即与单片机接口仅需占用一个 I/O 端口,无需任何外
部元件直接将环境温度转化成数字信号,以数字码方式串行输出,大大地简化了
传感器与单片机的接口。
1.2.5 按键的设计
由于电子钟功能的设置简单,只需 4 个按钮,故不采用矩阵键盘,而是采用
简单的单个 I/O 口键盘,每个按钮占用一个 I/O 口,程序简单,并用蜂鸣器发声,
硬件连接也很简单。
5
1.3 电路设计最终方案决定
综上各方案所述,对此次作品的方案选定: 采用 AT89C52 单片机作为主控制
系统;采用 DS1302 作为时钟芯片;采用 1602 LCD 液晶作为显示器件,温度数据由
单片机从数字温度芯片 DS18B20 获取,用四个独立按键来实现时间和日期的调
整。
2.硬件电路的设计
硬件电路设计是该系统设计的第一步。主控芯片采用美国 ATMEL 公司的
AT89C52 系列单片机,时钟芯片为 DS1302,温度数据由单片机从数字温度芯片
DS18B20 获取,显示器件采用 1602 液晶显示模块。在 1602 液晶模块的第一行显
示年、月、日,星期。第二行显示时、分、秒,温度。通过对液晶模块的地址设
置使数字显示在屏幕的正中央已达到美观的效果。四个按键 S1、S2、S3、S4 分
别与单片机的 P1.4、P1.5、P1.6、P1.7 四个 I/O 口线相连, S1 为加 1 键,S2 为
减 1 键,S3 为系统设置键,S4 为确定键。当第一次上电时,系统日期初始化为
“2000-01-01”,时间初始化为“00:00:00”。通过 S1、S2、S3、S4 可以设置成当前
时间,当时间设置完成后,系统可进入正常走时状态。在正常走时状态下,随时
可以通过 S1、S2、S3、S4 四个按键调整时间和日期。
2.1 单片机系统电路的设计
2.1.1 AT89C52 的介绍
AT89C52 是 51 系列单片机的一个型号,它是 ATMEL 公司生产的。
AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可
反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),
器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指
令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 AT89C52
单片机可为您提供许多较复杂系统控制应用场合。
AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中
断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,AT89C52
可以按照常规方法进行编程,但不可以在线编程(S 系列的才支持在线编程)。其
将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储
器可有效地降低开发成本。AT89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,
以适应不同产品的需求。
(1) 兼容 MCS51 指令系统,8k 可反复擦写(>1000 次)Flash ROM;
(2) 32 个双向 I/O 口,256*8bit 内部 RAM;
(3) 3 个 16 位可编程定时/计数器中断,时钟频率 0-24MHz;
(4) 2 个串行中断,可编程 UART 串行通道;
(5) 2 个外部中断源,共 8 个中断源;
(6) 2 个读写中断口线,3 级加密位;
(7) 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。