ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:2.90MB ,
资源ID:21329308      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21329308.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DS1302Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DS1302Word文档格式.docx

1、该引脚有两 个功能:第一,CE 开始控制字访问移位寄存器的控制逻辑;其次,CE 提供结束单字节或多字节数据传输的方法。DS1302有下列几组寄存器: DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为 BCD 码形式, 如图3所示。图 3 DS1302有关日历、时间的寄存器 小时寄存器(85h、84h)的位7用于定义 DS1302是运行于12小时 模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是 ,当为1时,表示 PM。在24小时模式时,位5是第二个10小时位。秒寄存器(81h、80h)的位7定义为时

2、钟暂停标志(CH)。当该 位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和 RAM 的写操作之前,WP 位必须为0。当WP 位为1时,写保护位防止对任一寄存器的写操作。DS1302有关 RAM 的地址DS1302中附加31字节静态 RAM 的地址如图4所示。图4 DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和 RAM 数据。 突发模式寄存器如图5所示。图5此外,DS1302还有充电寄存器等。2 读写时序说明DS1302是 SPI 总线驱动方式

3、。它不仅要向寄存器写入控制字, 还需要读取相应寄存器的数据。要想与 DS1302通信,首先要先了解 DS1302的控制字。的控制字如图6。图6 控制字(即地址及命令字节)控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把 数据写入到 DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取 RAM 数 据;位5至位1(A4A0):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行读 操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从最低位(0 位)开始。同样,在紧跟8位的控

4、制字指令后的下一个 SCLK 脉冲的 下降沿,读出 DS1302的数据,读出的数据也是从最低位到最高位。 数据读写时序如图7 。图7 数据读写时序具体操作见驱动程序。3 电路原理图:电路原理图如图8,DS1302与单片机的连接也仅需要3条线:CE 引脚、SCLK 串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接32.768kHz 晶振,为芯片提供计时脉冲。图84 驱动程序/寄存器宏定义#define WRITE_SECOND 0x80#define WRITE_MINUTE 0x82#define WRITE_HOUR 0x84#define READ_SECOND 0x81#de

5、fine READ_MINUTE 0x83#define READ_HOUR 0x85#define WRITE_PROTECT 0x8E/位寻址寄存器定义sbit ACC_7 = ACC7;/管脚定义sbit SCLK = P35; / DS1302时钟信号7脚sbit DIO= P36; / DS1302数据信号6脚sbit CE = P37; / DS1302片选5脚/地址、数据发送子程序void Write1302 ( unsigned char addr,dat )unsigned char i,temp;CE=0; /CE 引脚为低,数据传送中止SCLK=0; /清零时钟总线CE

6、= 1; /CE 引脚为高,逻辑控制 有效/发送地址for ( i=8; i0; i- ) /循环8次移位SCLK = 0;temp = addr;DIO = (bit)(temp&0x01); /每次传输低字节addr = 1; /右移一位SCLK = 1;/发送数据 i- )CE = 0;temp = dat;dat SCLK = 1;/数据读取子程序unsigned char Read1302 ( unsigned char addr )unsigned char i,temp,dat1,dat2; CE=0; CE = 1;节 移一位 /右/读取数据 CE=0;ACC_7=DIO; A

7、CC=1; SCLK = 0;dat1=ACC;dat2=dat1/16; /数据进制转换dat1=dat1%16; /十六进制转十 进制dat1=dat1+dat2*10;return (dat1);/初始化 DS1302void Initial(void)Write1302 (WRITE_PROTECT,0X00); /禁止写保护Write1302 (WRITE_SECOND,0x56); /秒位初始 化Write1302 (WRITE_MINUTE,0x34); /分钟初始化Write1302 (WRITE_HOUR,0x12); /小时初始化Write1302 (WRITE_PROTE

8、CT,0x80);允许写保护51单片机综合学习系统之 DS1302时钟应用篇 电子制作2008年10月 站长原创,如 需引用请注明出处大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有 所了解与熟悉,学会了使用 AD 模数转换的基本知识,体会到了综合学习系统的易用性与易 学性,这一期我们将一起学习 DS1302时钟的基本原理与应用实例。先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别 有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC 总线,SPI 总线,PS/2实验,AD 模数转换,光耦实验,串口通信,红外线遥控

9、,无线遥控,温度传感, 步进电机控制等等。主体系统如图1所示,其配套书本教程单片机快速入门如图2所示。图1 51单片机综合学习系统主机部分图片图2 51单片机综合学习系统配套书本教程单片机快速入门上图是我们将要使用的51单片机综合学习系统硬件平台,如图1所示,本期实验我们用 到了综合系统主机、板载的 DS1302时钟芯片,综合系统其它功能模块原理与使用详见前几 期电子制作杂志及后期连载教程介绍。在很多单片机系统中都要求带有实时时钟电路,如最常见的数字钟、钟控设备、数据记 录仪表,这些仪表往往需要采集带时标的数据,同时一般它们也会有一些需要保存起来的重 要数据,有了这些数据,便于用户后期对数据进

10、行观察、分析。本小节就介绍市面上常见的 时钟芯片 DS1302的应用。DS1302是美国 DALLAS 公司推出的一款高性能、低功耗、带内 部 RAM 的实时时钟芯片(RTC),也就是一种能够为单片机系统提供日期和时间的芯片。通 过本小节的学习,我们将会把 RTC 相关的一些技术粗略介绍一下,然后介绍 DS1302与单片 机之间的软硬件应用。DS1302时钟芯片简介DS1302是 DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静 态 RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、 星期、月、年的信息,每个月的天数和闰年的天数可自动调

11、整,时钟操作可通过 AM/PM 标 志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进 行通信,仅需三根 I/O 线:复位(RST)、I/O 数据线、串行时钟(SCLK)。时钟/RAM 的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。DS1302的内部结构DS1302的外部引脚功能说明如图3所示:X1,X232.768kHz 晶振引脚GND地RST复位I/O数据输入/输出SCLK串行时钟VCC1电池引脚图3 DS1302封装图VCC2 主电源引脚DS1302的内部结构如图4所示,主要组成

12、部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及 RAM。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对 特定的地址进行读写操作。图4 DS1302的内部结构图DS1302含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和串 入的二极管数目,以调节电池充电电压。不过对我们目前而言,最需要熟悉的是和时钟相关 部分的功能,对于其它参数请参阅数据手册。DS1302的工作原理DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且 将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指 定访问地址,命令字装入移位

13、寄存器后,在之后的时钟周期,读操作时输出数据,写操作时 输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。DS1302的寄存器和控制命令对 DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。此外,DS1302还有年份寄存器、 控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可 一次性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如表1所示:7654321RAM/CKA4A3A2A1A0RD/W

14、寄存器名称秒寄存器分寄存器 小时寄存器 日寄存器 月寄存器星期寄存器年寄存器写保护寄存器慢充电寄存器时钟突发寄存器表1:日历、时钟寄存器与控制字对照表最后一位 RD/W 为“0”时表示进行写操作,为“1”时表示读操作。DS1302内部寄存器列表如表2所示:命令字取值范围各位内容写80H读81H00-59CH5 410SEC2 1 0SEC分寄存器82H83H10MINMIN小时寄存器84H85H01-12或00-2312/2A HRHR日期寄存器86H87H01-28,29,30,3110DATEDATE月份寄存器88H89H01-120 10MMONTH周寄存器8AH8BH01-070 0D

15、AY年份寄存器 8CH 8DH 00-99 10YEAR YEAR表2:DS14302内部主要寄存器分布表DS1302内部的 RAM 分为两类,一类是单个 RAM 单元,共31个,每个单元为一个8位 的字节,其命令控制字为 COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方 式下的 RAM,此方式下可一次性读写所有的 RAM 的31个字节,命令控制字为 FEH(写)、 FFH(读)。我们现在已经知道了控制寄存器和 RAM 的逻辑地址,接着就需要知道如何通过外部接 口来访问这些资源。单片机是通过简单的同步串行通讯与 DS1302通讯的,每次通讯都必须 由单片机发起,无论是读还是写操作,

16、单片机都必须先向 DS1302写入一个命令帧,这个帧 的格式如表1所示,最高位 BIT7固定为1,BIT6决定操作是针对 RAM 还是时钟寄存器,接 着的5个 BIT 是 RAM 或时钟寄存器在 DS1302的内部地址,最后一个 BIT 表示这次操作是读 操作抑或是写操作。物理上,DS1302的通讯接口由3个口线组成,即 RST,SCLK,I/O。其中 RST 从低电 平变成高电平启动一次数据传输过程,SCLK 是时钟线,I/O 是数据线。具体的读写时序参 考图5,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且 一般数据写入有效是在上升沿,读出有效是在下降沿(DS1302正是如此的,但是在芯片手 册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时 SCLK 保持低电平, 在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在 SCLK 保持为低电平 的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。图5 DS1302的命令字结构DS1302的软硬件设计实例本例将实现对 DS1302的读写操作,将时钟数据在 LED 数码管上显示出来。调试时将功能选 择开关调到 DS1302的状态上。图6 DS1302实验演示图硬件原理图图10-46 硬件原理图程序流程图图10-47 软件流程图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1