资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第12章 时钟芯片1302 第12章 时钟IC及其应用教学目的: 掌握SPI串行时钟芯片1302的接线; 掌握1302的时序和软件编制。 可以将1302与数码管显示、1602液晶显示结合。重点难点:1302与数码管显示、1602液晶显示的程序编制。Date1泉州信息学院第12章 时钟芯片1302SPI总线概念 SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口 SPI接口主要应用在EEPROM,FLASH,实时时钟 ,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI接口是在CPU和外围低速器件之间进行同步 串行数据传输,在主器件的移位脉冲下,数据按位传 输,高位在前,地位在后,为全双工通信,数据传输速 度总体来说比I2C总线要快,速度可达到几Mbps。Date2泉州信息学院第12章 时钟芯片1302SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:(1)MOSI 主器件数据输出,从器件数据输入(2)MISO 主器件数据输入,从器件数据输出(3)SCLK 时钟信号,由主器件产生(4)/CS 从器件使能信号,由主器件控制Date3泉州信息学院第12章 时钟芯片1302SPI接口内部硬件图示 最后,SPI接口的一个缺点:没有指定的流控制,没有应 答机制确认是否接收到数据。 Date4泉州信息学院第12章 时钟芯片130212.1 串行日历时钟芯片与单片机接口 一DS1302的主要性能指标(1)DS1302实时时钟具有能计算2100年之前的秒、分 、时、日、日期、星期、月、年的能力,还有闰年调 整的能力。 (2)内部含有31个字节静态RAM,可提供用户访问。 (3)采用串行数据传送方式,使得管脚数量最少,简 单SPI 3线接口。 (4)工作电压范围宽:2.05.5V。 (5)工作电流:2.0V时,小于300nA。Date5泉州信息学院第12章 时钟芯片1302(6)时钟或RAM数据的读/写有两种传送方式:单字节传送和多字节传送方式。(7)采用8脚DIP封装或SOIC封装。(8)与TTL兼容,Vcc=5V。(9)可选工业级温度范围:-40C+85C。(10)具有涓流充电能力。(11)采用主电源和备份电源双电源供应。(12)备份电源可由电池或大容量电容实现。Date6泉州信息学院第12章 时钟芯片1302 二引脚功能 DS1302的引脚如图所示Date7泉州信息学院第12章 时钟芯片1302其中:X1、X2:32.768KHz晶振接入引脚。GND:地。:复位引脚,低电平有效,操作时高电平。I/O:数据输入/输出引脚,具有三态功能。SCLK:串行时钟输入引脚。Vcc1:工作电源引脚。Vcc2:备用电源引脚。 接入电池断电时提供1302电源Date8泉州信息学院第12章 时钟芯片1302三DS1302的寄存器及片内RAM DS1302有一个控制寄存器、12个日历、时钟寄存 器和31个RAM。可读写1控制寄存器控制寄存器用于存放DS1302的控制命令字,DS1302的RST引脚回到高电平后写入的第一个字就为控制命令。它用于对DS1302读写过程进行控制,它的格式如下: D7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0RD/WDate9泉州信息学院第12章 时钟芯片1302其中:D7:固定为1D6:RAM/CK位,=1片内RAM,=0日历、时钟寄存器选择位。 D5D1:地址位,用于选择进行读写的日历、时钟寄存器或片内RAM。对日历、时钟寄存器或片内RAM的选择见表。D0: 读写选择,=0写,=1读Date10泉州信息学院第12章 时钟芯片1302寄存器名称D 7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0R/W 秒寄存器10000000或1 分寄存器10000010或1 小时时寄存器10000100或1 日寄存器10000110或1 月寄存器10001000或1 星期寄存器10001010或1 年寄存器10001100或1Date11泉州信息学院第12章 时钟芯片1302寄存器名称D 7D6D5D4D3D2D1D01RAM/CKA4A3A2A1A0R/W写保护护寄存器10001110或1 慢充电电寄存器10010000或1 时钟时钟 突发发模式10111110或1 RAM011000000或1 110或1 RAM3011111100或1 RAM突发发模式11111110或1Date12泉州信息学院第12章 时钟芯片13022日历、时钟寄存器 DS1302共有12个寄存器,其中有7个与日历、时钟 相关,存放的数据为BCD码形式。日历、时钟寄存器 的格式如表。寄存器名称取值值范围围D7D6D5D4D3 D2 D1 D0秒寄存器0059CH秒的十位秒的个位 分寄存器00590分的十位分的个位 小时时寄存 器0112或 002312/2 40A/ PHR小时时的个位日寄存器013100日的十位日的个位Date13泉州信息学院第12章 时钟芯片1302寄存器名称取值值 范围围D7D6D5D4D3D2D1D0月寄存器01120001或0月的个位星期寄存器01070000星期几年寄存器0199年的十位年的个位写保护护寄存器WP0000000 慢充电电寄存器TCSTCSTCSTCSDSDSRSRS 时钟时钟 突发发寄存器Date14泉州信息学院第12章 时钟芯片1302说明:(1)数据都以BCD码形式。 (2)小时寄存器的D7位为12小时制/24小时制 的选择位,当为1时选12小时制,当为0时选24小 时制。当12小时制时,D5位为1是上午,D5位为0 是下午,D4为小时的十位。当24小时制时,D5、 D4位为小时的十位。 (3)秒寄存器中的CH位为时钟暂停位,当为1 时钟暂停,为0时钟开始启动。Date15泉州信息学院第12章 时钟芯片13024)写保护寄存器中的WP为写保护位,当WP=1,写保护,当WP=0未写保护,当对日历、时钟寄存器或片内RAM进行写时WP应清零,当对日历、时钟寄存器或片内RAM进行读时WP一般置1。(5)慢充电寄存器的TCS位为控制慢充电的选择,当它为1010才能使慢充电工作。DS为二极管选择位。DS为01选择一个二极管,DS为10选择二个二极管,DS为11或00充电器被禁止,与TCS无关。RS用于选择连接在VCC2与VCC1之间的电阻,RS为00,充电器被禁止,与TCS无关,电阻选择情况见表.Date16泉州信息学院第12章 时钟芯片1302RS位电电阻器阻值值00无无01R12K10R24K11R38KDate17泉州信息学院第12章 时钟芯片13023.片内RAMDS1302片内有31个RAM单元,对片内 RAM的操作有两种方式:单字节方式和多字 节方式。当控制命令字为C0HFDH时为单字 节读写方式,命令字中的D5D1用于选择对应 的RAM单元,其中奇数为读操作,偶数为写操作。当控制命令字为FEH、FFH时为多字节 操作(表中的RAM突发模式),多字节操作 可一次把所有的RAM单元内容进行读写。 FEH为写操作,FFH为读操作。Date18泉州信息学院第12章 时钟芯片13021. 置RST高电平启动输入输出过程, 2. 在SCLK时钟的控制下,控制命令字写入DS1302的控制寄存器, 3. 根据写入的控制命令字,依次读写内部寄存器或 片内RAM单元的数据,4. 对于日历、时钟寄存器,根据控制命令字,一次 可以读写一个日历、时钟寄存器,也可以一次读 写8个字节,对所有的日历、时钟寄存器写的控 制命令字为0BEH,读的控制命令字为0BFH;4DS1302的输入输出过程Date19泉州信息学院第12章 时钟芯片1302 对于片内RAM单元,根据控制命令字,一次可读写一个字节,一次也可读写31个字节。当数据读写完后,RST变为低电平结束输入输出过程。无论是命令字还是数据,一个字节传送时都是低位在前,高位在后,每一位的读写发生在时钟的上升沿。 Date20泉州信息学院第12章 时钟芯片1302四、DS1302与单片机的接口VCC2X1X2GNDVCC1SCLKI/ORST+5V8051P1.0P1.2P1.3+5VDate21泉州信息学院第12章 时钟芯片1302DS1302与单片机的连接仅需要3条线:时钟 线SCLK、数据线I/O和复位线 RST。连接图如 图9.18。时钟线SCLK与P1.0相连,数据线I/O 与P1.1相连,复位线 RST与P1.2相连。 Date22泉州信息学院第12章 时钟芯片1302程序组成#define uchar unsigned charsbit T_CLK = P23; /*实时时钟时钟线引脚*/sbit T_IO = P24; /*实时时钟数据线引脚 */sbit T_RST = P25; /*实时时钟复位线引脚 */#include “LCD1602.h“Date23泉州信息学院第12章 时钟芯片1302 功能: 往DS1302写入1Byte数据 void RTInputByte(uchar d) uchar i;ACC = d;for(i=8; i0; i-)T_IO = ACC0; /*相当于汇编中的 RRC */T_CLK = 1;T_CLK = 0;ACC = ACC 1; Date24泉州信息学院第12章 时钟芯片1302从DS1302读取1Byte数据 (内部函数)uchar RTOutputByte(void) uchar i;for(i=8; i0; i-)ACC = ACC 1; /*相当于汇编中的 RRC */ACC7 = T_IO;T_CLK = 1;T_CLK = 0; return(ACC); Date25泉州信息学院第12章 时钟芯片1302往DS1302写入数据 void W1302(uchar ucAddr, uchar ucDa)T_RST = 0;T_CLK = 0;T_RST = 1;RTInputByte(ucAddr); /* 地址,命令 */RTInputByte(ucDa); /* 写1Byte数据*/T_CLK = 1;T_RST = 0;Date26泉州信息学院第12章 时钟芯片1302 读取DS1302某地址的数据uchar R1302(uchar ucAddr)uchar ucData;T_RST = 0;T_CLK = 0;T_RST = 1;RTInputByte(ucAddr); /* 地址,命令 */ucData = RTOutputByte(); /* 读1Byte数据 */T_CLK = 1;T_RST = 0;return(ucData);Date27泉州信息学院第12章 时钟芯片1302 设置初始时间void Set1302(uchar *pClock) uchar i;uchar ucAddr = 0x80; W1302(0x8e,0x00); /* 控制命令,WP=0,写操 作*/for(i =7; i0; i-)W1302(ucAddr,*pClock); /* 秒 分 时 日 月 星期 年 */ pClock+;ucAddr +=2; /* 地址加2*/W1302(0x8e,0x80); /* 控制命令,WP=1,写保 护*/Date28泉州信息学院第12章 时钟芯片1302往DS1302写入时钟数据(多字节方式)void v_BurstW1302T(uchar *pSecDa) uchar i; v_W1302(0x8e,0x0
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号