数字时钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南理工学院课程设计报告书题目:数字钟设计
系部:机械工程学院
专业:机械电子工程
班级:
姓名:
学号:
2011年06月10 日
目录
1、引言 (3)
2、数字钟的总体方案设计 (3)
2.1、系统的总体结构 (3)
2.2、芯片选择 (4)
2.3、DS1302的主要性能指标 (5)
3、硬件电路的设计 (8)
3.1单片机最小系统 (8)
3.2 DS1302与单片机接口电路设计 (9)
3.3显示电路与单片机接口电路设计 (9)
4、软件设计 (9)
4.1主程序框图 (10)
4.2 DS1302时钟程序框图 (10)
4.3显示程序框图 (11)
5、调试与测试结果分析 (11)
6、设计心得 (13)
7、附录 (14)
错误!未定义书签。
1、引言
现代社会的快节奏生活要求人们对时间的掌握越来越精确,随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在逐步地深入,电子钟也逐渐取代传统钟表被广泛应用于生活和工作中。电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点。
本设计以AT89S52芯片作为核心,8位LED数码管显示和DS1302时钟芯片主要组成来实现电子钟的基本功能,并分析了相应软件的设计要点,包括软件设计流程、仿真与调试。
2、数字时钟的总体方案设计
(1)系统总体结构
根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构:时钟显示是一个循环过程,系统以单片机AT89S52为主控制器,不断读取实时时钟芯片DS1302提供的时间送LED显示,时间采用24小时模式。当需要调整时间时,按下相应按键进入中断处理。整个系统的电源可由电池提供或者用USB电源线由电脑提供。系统总体结构如图所示。
由于C51语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功能,因此根据系统总体结构确定总流程图后,用汇编语言编写程序实现各模块功能。总流程图如图3-2所示。
图3-2 系统总流程图
(2)芯片的选择
根据设计要求,选择的主要芯片为AT89S52,DS1302两种芯片。
初始化模块 DS1302读写模块 显示模块 蜂鸣模块
INT0中断模块:时间调整 INT1中断模块:闹钟调整
(3)DS1302的主要性能指标
时钟芯片DS1302简介
(4)主要功能
DS1302芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它工作电压为2.5V~5.5V,采用串行通信方式,只需3条线便可以和单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。可增加系统的RAM。DS1302的时钟校准比较容易,若采用专用的晶体振荡器,几乎无须调整即可以达到国家要求的时钟误差标准。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力,这样避免了由于突然停电而造成时钟停止,因此它非常适合于长时间无人职守的监测控制系统或需经常记录某些具有特殊意义的数据及对应时间的场合。DS1302提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整,并可通过AM/PM 指示决定采用24 或12 小时格式。
内部结构及引脚功能
DS1302内部主要包括实时时钟(real time clock)、输入移位寄存器(input shift registers)、31字节静态RAM、电源控制部分(power control)、命令控制逻辑(command and control logic)、振荡器和分频器(oscillator and divider)等部分。DS1302内部结构如图2-2所示。
图2-2 DS1302内部结构
DS1302具有8脚DIP引脚排列如图2-3所示。
图2-3 DS1302引脚排列
Vcc1:后备电源,在主电源关闭的情况下,也能保持时钟的连续运行;当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
Vcc2:主电源,当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1、X2:振荡源,外接32.768kHz晶振。
GND:接地端
SCLK:串行时钟输入端
I/O:串行数据输入输出端(双向)。
RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
工作原理
DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址。命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下最多可达8+248。
控制字节及寄存器
DS1302的一次数据传送是从发送控制字节开始的。控制字节的最高有效位(位7)必须是逻辑1,如果该位为0,则无法把数据写入到DS1302中;位6表示
要读写的数据类型,为0表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示要操作单元的地址;最低有效位(位0)表示命令类型,为0表示要进行写操作,为 1 表示要进行读操作。控制字节总是从最低位开始输出。其控制字节格式如图2-4所示。
图2-4 控制字节格式
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟有关,存放的数据位为BCD码形式。
表2-1 DS1302的日历时钟寄存器及控制字
此外,还有控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、(读) 。
2.2.5 数据的传送
向DS1302 写入数据时,数据在控制字节输入后的下一个SCLK周期的上升沿被写入,多余的SCLK将被忽略。数据写入时从低位(位0)开始;同样,从