PCF8563T低功耗低压时钟芯片
PCF8563实时时钟高精度调整方法
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 PCF8563实时时钟高精度调整方法一、概述PCF8563是PHILIPS公司设计生产的经典工业级实时时钟芯片(RTC),I2C总线接口,具有功耗低、精度高等特点,广泛应用于电表、水表、气表、电话等产品。
本文将介绍如何调整PCF8563时钟精度的方法。
二、电路原理图1 PCF8563高精度调整三、相关说明如图1所示,R3、R4为I2C总线上拉电阻,若总线速度高于100KHz,电阻阻值要更小。
由于PCF8563的中断输出及时钟输出均为开漏输出,所以要外接上拉电阻(如图1的R1、R2),若不使用这两个信号,对应的上拉电阻可以不用。
对于PCF8563芯片,需外接时钟晶振32768Hz(如图1的X1),推荐使用5ppm或更稳定的晶振。
PCF8563典型应用电路推荐使用15pF的晶振匹配电容,实际应用时可以作相应的调整,以使RTC获得更高精度的时钟源。
一般晶振匹配电容在15pF~21pF之间调整(相对于5ppm精度的32768Hz晶振),15pF电容时时钟频率略偏高,21pF电容时时钟频率略偏低。
四、操作方法1.设置PCF8563时钟输出有效(CLKOUT),输出频率为32.768KHz。
使用高精度频率计测量CLKOUT输出的频率。
2.根据测出的频率,对JC1、JC2、JC3作短接或断开调整。
频率比32768Hz偏高时, 3.加大电容值;频率比32768Hz偏低时,减小电容值。
说明:图1中的C1、C2、C3的值在1pF~5pF之间,根据实际情况确定组合方式,以便于快速调整。
推荐使用(3pF、3pF、3pF)、(1pF、2pF、3pF)、(2pF、3pF、4pF)。
- 1 -。
PCF8563时钟芯片
;从机应答查询
Acknowledge: Delay_tLOW
SETB SDA ;查询接收端应答信号,要先释放总线
SETB SCL
Delay_tHIGH
JB SDA,$ ;接收端应答标志:将SDA置低
CLR SCL
RET
;主机应答
MinuteA EQU 09H ;分闹铃寄存器
HourA EQU 0AH ;时闹铃寄存器
DayA EQU 0BH ;天闹铃寄存器
WeekdayA EQU 0CH ;周闹铃寄存器
CO EQU 0DH ;时钟输出控制寄存器
TimerCtrl EQU 0EH ;定时控制寄存器
Delay_tHD_STA
CLR SCL
RET
;结束信号
Stop: Delay_tHD_DAT
CLR SDA ;I2C总线操作结束信号:SCL为高时,SDA由低-->高
SETB SCL
Delay_tSU_STO
SETB SDA ;操作结束后,确保I2C总线处于释放状态
mov a,#MinuteA
mov b,#31h
lcall write
ret
;时间初始化, 11:59:30,压缩BCD码格式(1个字节包含2个BCD码)
mov a,#HourA
mov b,#12h
lcall write
ret
Minute_init: ;分报警设置00分报警;mov a,#cs2 mov b,#02hlcall write
LCALL CS2_Set ;设置控制/状态寄存器2
LCALL DayA_Set ;设置天闹铃寄存器
基于PCF8563时钟芯片的万年历制作
万年历是一种能够显示日期、星期和时间的工具,它不仅能够告诉我们当天是几号,还能显示星期几和当前时间。
在这个项目中,我们将使用PCF8563时钟芯片来制作一个基于PCF8563的万年历。
PCF8563是一种CMOS实时时钟和日历芯片,它可以提供年、月、日、星期和小时、分钟、秒的数据。
它具有电源管理功能,可以通过一个电源低于2V脉冲输入来切换系统电源供电方式。
为了制作这个基于PCF8563的万年历,我们需要以下材料和工具:1. Arduino主控板2.PCF8563时钟芯片3.16x2液晶显示屏4.面包板5.杜邦线6.10k电阻接下来,我们将按照以下步骤来制作基于PCF8563的万年历:第一步:连接电路首先,将Arduino主控板插入面包板。
接着,连接PCF8563时钟芯片到Arduino主控板上的I2C总线。
将SDA引脚连接到A4引脚,将SCL引脚连接到A5引脚。
此外,还需要使用10k电阻将VCC引脚连接到VCC引脚上。
接下来,将16x2液晶显示屏连接到面包板。
连接液晶屏的RS引脚到Arduino主控板的D12引脚,RW引脚到GND引脚,和E引脚到D11引脚。
将液晶屏的D4到D7引脚连接到Arduino主控板的D5到D2引脚。
第二步:编写代码打开Arduino IDE并创建一个新的项目。
然后,编写以下代码:#include <Wire.h>#include <LiquidCrystal_I2C.h>//定义PCF8563的地址#define PCF8563_ADDR 0x51//定义显示屏的尺寸#define LCD_COLUMNS 16#define LCD_ROWS 2LiquidCrystal_I2C lcd(0x27, LCD_COLUMNS, LCD_ROWS);void setup//初始化I2C总线Wire.begin(;//设置时钟芯片为24小时模式Wire.beginTransmission(PCF8563_ADDR);Wire.write(0x02);Wire.write(0x00);Wire.endTransmission(;//初始化液晶显示屏lcd.begin(LCD_COLUMNS, LCD_ROWS);lcd.setCursor(0, 0);lcd.print("Date: ");lcd.setCursor(0, 1);lcd.print("Time: ");void loop//读取PCF8563的日期和时间Wire.beginTransmission(PCF8563_ADDR); Wire.write(0x02);Wire.endTransmission(;Wire.requestFrom(PCF8563_ADDR, 7);int second = bcdToDec(Wire.read( & 0x7F); int minute = bcdToDec(Wire.read();int hour = bcdToDec(Wire.read( & 0x3F); int dayOfWeek = bcdToDec(Wire.read();int dayOfMonth = bcdToDec(Wire.read();int month = bcdToDec(Wire.read( & 0x1F); int year = bcdToDec(Wire.read();//显示日期和时间lcd.setCursor(6, 0); printWithLeadingZero(dayOfMonth);lcd.print("/");printWithLeadingZero(month);lcd.print("/");lcd.print(2000 + year);lcd.setCursor(6, 1); printWithLeadingZero(hour);lcd.print(":");printWithLeadingZero(minute);lcd.print(":");printWithLeadingZero(second);delay(1000);//将BCD码转换为十进制int bcdToDec(int bcd)return (bcd / 16 * 10) + (bcd % 16);//打印带有前导零的数字void printWithLeadingZero(int number)if (number < 10)lcd.print('0');}lcd.print(number);第三步:上传代码将Arduino主控板连接到电脑,并根据需要选择正确的端口和板类型。
PCF8563调试
I2CRead(PCF8563+1, ucTimeBuff, 1, ucTimeBuff, 7,NULL); /* 读取外部PCF8563时钟 */
while(1) {
if(I2CGetFlag() == I2C_READ_END) {
break;
}
OSTimeDly(1);
ucTimeBuff[6] = HEC_to_BCD(pTime->Day);
ucTimeBuff[7] = HEC_to_BCD(pTime->Week);
ucTimeBuff[8] = HEC_to_BCD(pTime->Month);
if (pTime->Year >= 2000){
ucTimeBuff[8] |= 0x80;
return 0;
}
/*********************************************************************************************************
** Function name: pcf8563GetTime
** Descriptions: 获取PCF8563的时间
ucTimeBuff[2] = 0x12; //控制/状态寄存器2
ucTimeBuff[3] = HEC_to_BCD(pTime->Second);
ucTimeBuff[4] = HEC_to_BCD(pTime->Minute);
ucTimeBuff[5] = HEC_to_BCD(pTime->Hour);
INT32S pcf8563GetTime (PCF8563_Time *pTime)
PCF8563T低功耗低压时钟芯片
PCF8563T低功耗低压时钟芯片
PCF8563T是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有数据和地址通过I2C 总线接口串行传递,最大总线速度为400kbits/s,每次读写数据后,内嵌的地址寄存器会自动产生增量。
主要参数:
PCF8563T,采用SOIC 封装方式。
电源电压范围:1V to 5.5V, 1.8V to 5.5V
工作温度范围:-40°C to +85°C
封装类型:SOIC
工作温度最低:-40°C
工作温度最高:85°C
器件标记:PCF8563T/F4
微处理器支持芯片类型:实时时钟
总线类型:I2C
接口类型:Serial, I2C, 2 Wire
时钟频率:400kHz
特点:上电复位
电压 Vcc 最低:1.8V
电压, Vcc 最大:5.5V
电源电压最大:5.5V
电源电压最小:1V
表面安装器件:表面安装
芯片封装类型:SOIC
针脚数:8。
pcf8563在电子时钟设计中的应用
pcf8563在电子时钟设计中的应用pcf8563在电子时钟设计中的应用PCF8563在电子时钟设计中的应用引言数字时钟已成为时钟设计的主导方向,广泛应用于实时控制系统。
数字时钟实质是一个对标准频率计数的计数电路,通常由晶体振荡电路、分频电路、时间计数电路、译码驱动电路等组成。
这里提出一种电子时钟系统设计方案,是以avr 单片机mega16作为控制核心,采用PCF8563时钟/日历器件以及数码管显示,通过硬件设计及软件编程实现的。
1 mega16简介ATmega16是基于增强的A VR RISC结构的低功耗8位CMOS微控制器。
由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
A VR 内核具有丰富的指令集和32 个通用工作寄存器。
所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10倍的数据吞吐率。
ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10 位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。
实时时钟芯片PCF8563及其应用
中断输 出( 有效 ) 低
地
・
内含 上 电 复 位 电 路 、 荡 与 分 频 电 路 , 接 3 . 振 外 2 7 8 Hz 英 晶 振 ; 6k 石 工 作 电压 范 围宽 , 据 保 持 和 时钟 工 作 电 压 l 数 ~
5 5 1C 总线 工 作 电压 18 . V; . V,2 . ~5 5
此 外 P F 5 3内部 集 成 有 电 压 低 检 测 器 , 在 秒 寄 C 86 并 存 器 的 最 高 位 可 作 出指 示 , 过 查 询 该 位 可 知 数 据 通 是 否 可 靠 , 而 提 醒 及 时 校 准 时钟 。 从
i eal n d t i .
K y r s Clc / ln a ,2 - u ,e itr t r e wo d : o k Cae d r 1C b s rgse ,i . me
P F 5 3是 一 种 低 功 耗 的 时 钟 / C 86 日历 芯 片 , 采 用 IC 总 线 接 口 , 广 泛 用 于 移 动 电 话 、 携 式 仪 。 可 便 器 、 真机等产品 中。 传 形 式 。其 引脚 功 能 如 表 l所 示 。
关 键 词 :时 钟/日历 芯 片 1C 总线 寄存 器 定 时 器 2
PCF85 3 Re ltm e Cl c Ca e a nd Is App i a i n 6 a — i 0 k/ l nd r a t lc to
Ab ta t sr c : P CF8 6 sa r a—i eco k/ ae d ro t ie o O p w e o s m p i n, 5 3 i e lt m l c , ln a p i z d f rl W o rc n u c m t o i c u i g a a m n i e u c in ,a p o r m m a l l c u p ta d i t r n l d n l r a d tm rf n to s r g a b e co k o t u n n e — r p u p tf n to s Po e - n r s ta d o cl t r cr u ta e a s n e r t u to t u u c in . w ro e e n s il o ic i r lo i t g a — a e . n t i a e , h e t r s a d u i g m e h d fP d I h s p p r t e f a u e n sn t o s o CF8 6 r n r d c d 5 3 a eito u e
PCF8563 实时时钟日历芯片NXP-奥伟斯
PCF8563T/5是NXP半导体推出的一款工业级内含I2C 总线接口功能的具有极低功耗的多功能时钟/日历芯片。
PCF8563 的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。
是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。
PCF8563有16个8位寄存器,其中包括:可自动增量的地址寄存器、内置32.768kHz的振荡器(带有一个内部集成电容)、分频器(用于给实时时钟RTC提供源时钟)、可编程时钟输出、定时器、报警器、掉电检测器和400kHz的I2C总线接口。
所有16个寄存器设计成可寻址的8位并行寄存器,但不是所有位都有用。
当一个RTC寄存器被读时,所有计数器的内容将被锁存,因此,在传送条件下,可以禁止对时钟/日历芯片的错读。
表2、表3所列为各寄存器概况及对应的内存地址和功能,同时列出了它们的BCD格式编码。
表中“——”表示无效位,“0”表示此位应置逻辑。
表3中的世纪位C=0指定世纪数为20XX,C=1指定世纪数为19XX。
当年寄存器中的99变00时,世纪位才会改变。
其主要特性有:1、宽电压范围 1.0~5.5V,复位电压标准值Vlow=0.9V。
2、超低功耗:典型值为 0.25uA (VDD=3.0V,Tamb=25℃)。
3、可编程时钟输出频率为:32.768KHz 、1024Hz 、32Hz 、1Hz。
4、四种报警功能和定时器功能。
5、内含复位电路、振荡器电容和掉电检测电路。
6、开漏中断输出。
7、400kHz I2C总线(VDD=1.8~5.5V),其从地址读 0A3H;写 0A2H。
PCF8563工作原理PCF8563 有 16 个8位寄存器:一个可自动增量的地址寄存器,一个内置 32.768KHz的振荡器(带有一个内部集成的电容)一个分频器(用于给实时时钟RTC 提供源时钟)一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个 400KHz I2C总线接口。
pcf8563芯片
pcf8563芯片
PCF8563芯片是由NXP Semiconductors(飞利浦)公司设计和制造的一款低功耗实时时钟(RTC)芯片。
RTC芯片是一种
用于精确计时和日期追踪的集成电路,广泛应用于各种电子设备中,如计算机、手机、数码相机、电视等。
PCF8563芯片采用高集成度设计,具有很小的封装尺寸,外接简单,使用方便。
它采用了I2C总线接口,能够直接与微控制器通信,实现对芯片的配置和读取。
PCF8563芯片具有以下主要特点:
1. 低功耗:该芯片的工作电流非常低,使用电池供电可以实现长时间的运行。
在不使用时,它可以通过进入低功耗模式来进一步降低功耗。
2. 高精度:PCF8563芯片具有高精确度的实时时钟功能。
其时钟频率可以通过外部晶体或电阻电容网络进行调整。
它可以提供精确的年、月、日、小时、分钟和秒钟信息,并且具有闰年修正功能。
3. 自动日历调节:芯片可以自动调整日期,包括每个月的天数、星期和闰年。
它还可以通过闹钟功能提供特定时间的警报。
4. 定时器和计时器功能:该芯片还具有定时器和计时器功能,可以实现定时触发或计时操作。
通过配置寄存器,可以设置定时器的周期和计时器的起始时间。
5. 温度补偿:PCF8563芯片内置了温度传感器,可以对温度进行补偿,提高时钟的稳定性和精度。
总结起来,PCF8563芯片是一款低功耗、高精度的实时时钟芯片,具有自动日历调节、定时器和计时器功能以及温度补偿等特点。
它广泛应用于各种电子设备中,为设备提供准确的时间和日期追踪功能。
PCF8563T
PCF8563 I 2C 实时时钟/日历芯片1.概述PCF8563是低功耗的CMOS 实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I 2C 总线接口串行传递。
最大总线速度为400Kbits/s ,每次读写数据后,内嵌的字地址寄存器会自动产生增量。
2.特性* 低工作电流:典型值为0.25μA (VDD=3.0V ,Tamb=25℃时)。
* 世纪标志* 大工作电压范围:1.0~5.5* 低休眠电流;典型值为0.25μA(V DD =3.0V,T amb =25℃)* 400KHz 的I 2C 总线接口(VDD=1.8~5.5V 时)。
* 可编程时钟输出频率为:32.768KHz ,1024Hz ,32Hz ,1Hz 。
* 报警和定时器。
* 掉电检测器。
* 内部集成的振荡器电容。
* 片内电源复位功能。
* I 2C 总线从地址:读,0A3H ;写,0A2H 。
* 开漏中断引脚。
3.应用z 移动电话 z 便携仪器 z 传真机z 电池电源产品4.简明参考数据表1 简明参考数据符号 描 述条 件 最小值最大值 单 位 I 2C 总线无效; T amb =25℃ 1.0 5.5 VV DD 工作电压I 2C 总线有效; fSCL=400kHz T amb =-40~+85℃ 1.8 5.5 V fSCL=400kHz - 800 μA fSCL=100kHz - 200 μA fSCL=0Hz; T amb =25℃ V DD =5V - 550 nA I DD工作电流; 定时器和CLKOUT 失效 V DD =2V-450nAT amb 工作温度范围-40 +85 ℃ T stg储存温度-65 +150 ℃5.订单信息表2 订定单信息包 装型 号名称 描 述版本 PCF8563P DIP8 塑料双列直插式封装;8脚(300mil) SOT97-1 PCF8563T SO8 小塑料封装;8脚;宽3.9mm SOT96-1 PCF8563TS TSSOP8 小塑料薄型封装;8脚;宽3.0mmSOT505-16.方框图图1 方框图7.管脚配置7.1管脚12348765PCF8563P PCF8563TPCF8563TS V DDCLKOUT OSCO SCLSDAV SSOSCI图2 管脚配置SDASCLCLKOUTV DD图3 二极管保护图7.2管脚描述表3管脚描述符号管脚号描述OSCI 1 振荡器输入OSCO 2 振荡器输出/INT 3 中断输出(开漏;低电平有效)V SS 4 地SDA 5 串行数据I/OSCL 6 串行时钟输入CLKOUT 7 时钟输出(开漏)V DD8 正电源8. 功能描述PCF8563有16个8位寄存器:一个可自动增量的地址寄存器,一个内置32.768KHz的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟RTC提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个400KHz I2C 总线接口。
PCF8563日历时钟芯片原理及应用设计
PCF8563日历时钟芯片原理及应用设计PCF8563是一款实时时钟芯片,用于保存日期、时间和闹钟功能,并在需要时提供准确的时间。
它集成有时钟芯片、电历寄存器和电压降器,可以通过I2C总线进行控制和通信。
下面将详细介绍PCF8563的原理以及应用设计。
一、PCF8563的工作原理二、PCF8563的应用设计1.实时时钟系统:PCF8563广泛应用于各种实时时钟系统,例如电子钟、温度计、保险柜等。
它可以提供准确的时间,并可以进行一定的时钟校准,以确保时间的准确性。
2.日历显示:PCF8563可以与液晶显示器或LED显示器等进行连接,实现日期和时间的显示。
通过读取芯片中的日期和时间寄存器,可以将日期和时间信息显示在屏幕上。
3.闹钟功能:PCF8563内置有闹钟功能,可以设置闹钟时间和日期,并在闹钟触发时发出中断信号。
通过与外部蜂鸣器或报警器等连接,可以实现闹铃功能。
4.计时器功能:PCF8563可以用作计时器,例如测量一些过程的时间。
通过读取和记录时钟寄存器中的时间值,可以实现计时功能,并根据需要进行时钟校准。
5.电池电量监测:PCF8563可以监测电池电量,并在电池电量低于一定阈值时发出警告信号。
这对于需要长时间运行的系统非常有用,可以在电池电量低时及时更换电池。
三、总结PCF8563是一款功能强大的实时时钟芯片,可以提供准确的日期和时间,并具有闹钟和计时功能等。
它可以与各种外部设备进行通信,实现多种应用设计。
无论是日历显示系统还是闹钟功能系统,PCF8563都能够提供稳定和准确的时间支持。
PCF8563 实时时钟 日历 产品数据手册说明书
PCF8563实时时钟/日历第11版——2015年10月26日产品数据手册1. 简介PCF8563是一款低功耗的CMOS1实时时钟/日历芯片,支持可编程时钟输出、中断输出和低压检测。
所有地址和数据通过双线双向I2C总线串联传输,最高速率:400 kbps。
每次读写数据字节后,寄存器地址自动累加。
2. 特性和优势◼基于32.768kHz的晶振,提供年、月、日、星期、时、分和秒计时◼Century flag◼时钟工作电压:1.0 - 5.5 V(室温)◼低备用电流;典型值为0.25 μA(V DD = 3.0 V,T amb =25 °C)◼400 kHz 双线I2C总线接口(V DD = 1.8 - 5.5 V)◼可编程时钟输出(32.768 kHz、1.024 kHz、32 Hz和1Hz)◼报警和定时器功能◼集成晶振电容器◼内部上电复位(POR)◼I2C总线从机地址:读:A3h;写:A2h◼开漏中断管脚3. 应用◼移动电话◼便携式仪器◼电子计量◼电池驱动产品1. 有关本资料表所使用的缩略语及首字母缩略语的定义,请参考第18节。
4. 订购信息表1. 订购信息[1] 不推荐用于新产品设计。
替代零件为PCF8563T/5。
[2] 不推荐用于新产品设计。
替代零件为PCF8563TS/5。
5. 标示表2. 标记代码6. 功能框图图1. PCF8563功能框图7. 引脚配置信息7.1 引脚配置图2. HVSON10的引脚配置(PCF8563BS) 图3. SO8的引脚配置(PCF8563T)图4. TSSOP8的引脚配置(PCF8563TS)7.2 引脚说明表3. 引脚说明[1] 晶粒芯片焊盘(外露式焊盘)通过高电阻(非导电的)芯片附着连接到VSS,并应进行电气隔离。
将外露式焊盘焊接到电气隔离的PCB铜焊盘上,以获得更好的传热效果,这是一种较好的工程实践,但由于RTC不会消耗太多功率,因此并不需要这样做。
第9章 时钟芯片PCF8563应用
9.1 I2C总线介绍
• I2C总线由于它只使用两个控制引脚,现在 的使用很普遍, 很多外围芯片使用它,掌 握I2C总线协议显得特别重要,所以本章作 一个较详细的介绍。
9பைடு நூலகம்2 PCF8563时钟芯片功能
9.2 PCF8563时钟芯片功能
9.3 PCF8563时钟芯片引脚图
9.4 PCF8563内存寄存器概况
第9章 时钟芯片PCF8563应用
第九章 时钟芯片PCF8563应用
本章主要内容: 9.1 I2C总线介绍 9.2 PCF8563时钟芯片功能 9.3 PCF8563时钟芯片引脚图 9.4 PCF8563内存寄存器概况 9.5 PCF8563接线原理图 9.6 I2C总线开始与结束波形图 9.7 I2C总线数据传输波形图 9.8 I2C总线数据切换波形图 9.9 器件地址组成 9.10 I2C总线操作流程说明 9.11 PCF8563时钟芯片有关引脚定义与函数实现
当前单元读操作(页读)启动总线→器件地 址(读操作)→读数据→读数据 →...读数据→关闭总线
9.11 PCF8563时钟芯片有关引脚定义与函数实现
PCF8563.H 与PCF8563有关的函数声明 PCF8563.C //与PCF8563有关的函数实现
9.5 PCF8563接线原理图
9.6 I2C总线开始与结束波形图
9.7 I2C总线数据传输波形图
9.8 I2C总线数据切换波形图
9.9 器件地址组成 器件地址组成:固定地址(厂家)+外部连 线地址+1位读写地址
9.10 I2C总线操作流程
写操作顺序(写一个字节): 启动总线→器件地址→单元地址→写数据 →...→关闭总线
9.10 I2C总线操作流程
如何调整pcf8563精度
如何调整pcf8563精度
pcf8563简介
PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。
PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。
是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。
pcf8563特性
低工作电流典型值为0.25AVDD=3.0VTamb=25时;
世纪标志;
大工作电压范围1.0-5.5V;
低休眠电流典型值为0.25A(VDD=3.0V,Tamb=25);。
PCF8563芯片详细资料(中文版)
读/写
位 AF
值
描述
位 TF
值
描述
0
报警器标志位无效
0
定时器标志位无效
读
1
报警器标志位有效
1
定时器标志位无效
0
报警器标志位清零
0
定时器标志位清零
写
1
报警器标志位保持
1
定时器标志位保持
8.6.3 Seconds, Minutes, Hours 寄存器
8.6.4 Days, Weekdays, Months/Century, Years 寄存器
写。应用中定时器和报警器同时产生中断,通过读这些位决定中断源。为了防止在
2
TF
清除一个标志位时,覆盖到标志位,通过逻辑与运算进行写入。见表 9
1
AIE
当 AF 或 TF 被置位,AIE 和 TIE 有效或无效,产生中断。中断是两种情况的逻辑
0
TIE
或,因此 AIE 和 TIE 都要置位。
AIE = 0: 报警器中断无效; AIE = 1: 报警器中断有效.
所有 16 个寄存器被设计成可寻址的 8 位并行寄存器,虽然不是所有的位都有效。前两 个寄存器(内存地址 00H 和 01H),用于控制与/或状态寄存器。内存地址 02H 至 08H 是时 钟功能的计数器,用于(秒、分、时、日、月、年计数器)。内存地址 09H 至 0CH 包含定 义报警的条件的报警寄存器。内存地址 0DH 控制 CLKOUT 的输出频率。0EH 和 0FH 分别 是定时控制器和定时器。
8.7 EXT_CLK 测试模式
测试模式允许进行在线测试,在测试环境下可以设置测试的条件并控制芯片的 RTC。 通过设置控制状态寄存器 1(Control/Status 1)的位 TEST1 进入测试环境,CLKOUT 管脚转换为输入管脚。测试模式下,CLKOUT 管脚的输入信号取代了芯片内部的 64Hz 的信号。, CLKOUT 管脚信号每 64 个上升沿产生 1S 增量。 CLKOUT 管脚提供的信号的最小脉冲带宽为 300nS,最小周期为 1000nS。内部 64Hz 时钟, 或者外部信号源被内部预分频器分为 1Hz。使用 STOP 预分频器可设置成已知状态,当位 STOP 置位,预分频器复位为 0。在预分频器再次工作前,STOP 位必须先清 0。从 STOP 状态,第一 个 1S 的占用 CLKOUT 信号 32 个上升沿,之后每 1S 的增量占用 64 个上升沿。
PCF8563 实时时钟 日历芯片选型指南
管脚号 1 2 3 4 5 6 7 8
描述 振荡器输入 振荡器输出 中断输出 开漏 低电平有效 地 串行数据 I/O 串行时钟输入 时钟输出 (开漏) 正电源
-3-
5 订单信息
型号
PCF8563P PCF8563T PCF8563TS
名称 DIP8 SO8 TSSOP8
包
装
描述
塑料双列直插式封装;8 脚(300mil)
小塑料封装 8 脚 宽 3.9mm
ห้องสมุดไป่ตู้
小塑料薄型封装 8 脚 宽 3.0mm
版本 SOT97-1 SOT96-1 SOT505-1
6 方框图
7 管脚配置
图 1 方框图 图 2 管脚配置
图 3 二极管保护图 -2-
广州周立功单片机发展有限公司 Tel (020)38730976 38730977 Fax 38730925
管脚描述 符号 OSCI OSCO /INT VSS SDA SCL CLKOUT VDD
广州周立功单片机发展有限公司 Tel (020)38730976 38730977 Fax 38730925
PCF8563 实时时钟 日历芯片选型指南
1. 概述
PCF8563 是低功耗的 CMOS 实时时钟 日历芯片 它提供一个可编程时钟输出 一个中断输出和掉 电检测器 所有的地址和数据通过 I2C 总线接口串行传递 最大总线速度为 400Kbits/s 每次读写数据后 内嵌的字地址寄存器会自动产生增量
I
=0Hz
器和 CLKOUT 失
效
Tamb =25
VDD=
VDD=
Tamb 工作温度范围
Tstg
储存温度
PCF8563时钟芯片驱动程序
PCF8563时钟芯片驱动详解1概述PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。
PCF8563的多种报警功能、定时器功能、时钟输出功能以及中断输出功能能完成各种复杂的定时服务,甚至可为单片机提供看门狗功能。
内部时钟电路、内部振荡电路、内部低电压检测电路(1.0V)以及两线制I2C总线通讯方式,不但使外围电路及其简洁,而且也增加了芯片的可靠性。
同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。
当然作为时钟芯片,PCF8563亦解决了2000年问题。
因而,PCF8563是一款性价比极高的时钟芯片,它已被广泛用于电表、水表、气表、电话、传真机、便携式仪器以及电池供电的仪器仪表等产品领域。
2原理图3 8563源代码//******************************************************//define//*****************************************************#define PCF8563_ADDR0xa2// PCF8563设备地址#define PCF8563_ENABLE0x00// 设置#define PCF8563_SUBADDR0x02// 时间地址#define PCF8563_NUMB0x07// 时间个数#define PCF8563_LOOPTIME0x02// 循环次数#define PCF8563_SECMASK 0x7f// second#define PCF8563_MINMASK 0x7f// minute#define PCF8563_HRMASK 0x3f// hour#define PCF8563_DAYMASK 0x3f// day#define PCF8563_WKMASK 0x07// week#define PCF8563_MOMASK 0x1f// month#define PCF8563_YRMASK 0xff// year/*void DELAY_US(Uint16 i){Uint16 m,n;for(m=0;m<i;m++){for(n=0;n<5;n++){_nop_();}}}*//******************************************************** ** 函数名称: void DELAY_MS(Uint16 i)** 功能描述: 延时函数** 输入:延时毫秒数** 输出:无********************************************************///延时函数单位msvoid DELAY_MS(Uint16 i){Uint16 m,n;for(m=0;m<i;m++){for(n=0;n<1000;n++){_nop_();}}}/******************************************************** ** 函数名称: InitCrt()** 功能描述: SD2405的初始化** 输入:无** 输出:无********************************************************/ void InitCrt(){//设备地址I2cDeviceAdd = PCF8563_ADDR;}/******************************************************** ** 函数名称: CrtGetDateTime(struct SYSTEM_TIME *Time)** 功能描述: 读取时间** 说明:将从PCF8563中读取的时间放入Time指向的结构中** 输入:无** 输出:无********************************************************/ void CrtGetDateTime(struct SYSTEM_TIME *Time){Uint8 buf[8];//设备地址I2cDeviceAdd = PCF8563_ADDR;SM_Receive (PCF8563_SUBADDR , buf, PCF8563_NUMB);Time->time.ucSecond = buf[0];//秒Time->time.ucMinute = buf[1];//分Time->time.ucHour = buf[2];//时屏蔽最高位Time->date.ucDay = buf[3];//日Time->Week = buf[4];//星期Time->date.ucMonth = buf[5];//月Time->date.ucYear = buf[6];//年}/******************************************************** ** 函数名称: CrtSetDateTime(struct SYSTEM_TIME *Time)** 功能描述: 设置时间** 说明:将Time指向的结构中日期时间参数设置到sd24.5中** 输入:无** 输出:无********************************************************/ void CrtSetDateTime(struct SYSTEM_TIME *Time){Uint8 buf[8];//设备地址I2cDeviceAdd = PCF8563_ADDR;//写入设置(时钟工作、关闭复位、关闭测试模式)buf[0] = PCF8563_ENABLE;SM_Send (0, buf, 0);//写入日期时间buf[0] = Time->time.ucSecond;//秒buf[1] = Time->time.ucMinute;//分buf[2] = Time->time.ucHour|0x80;//时置为24小时格式buf[3] = Time->date.ucDay;//日buf[4] = Time->Week;//星期buf[5] = Time->date.ucMonth;//月buf[6] = Time->date.ucYear;//年SM_Send (PCF8563_SUBADDR, buf, PCF8563_NUMB);}4 新华龙C8051F022的IIC驱动程序//-----------------------------------------------------------------------------// Includes//-----------------------------------------------------------------------------#include <c8051f020.h> // SFR declarations#include <stdio.h>#include <king.h>#include <DYSJ.h>#include <I2C.H>#define SMB_FREQUENCY 10000L // Target SCL clock rate/****************************************************************************** ** 函数名称:void SPI0_Init()** 功能描述:I2C初始化程序** 说明:1. 置下降沿有效2. 置工作时钟2MHz3.** 输入:无** 输出:无******************************************************************************* /void I2C_Init(){SMB0CN = 0x44;// Enable SMBus with ACKs on acknowledge cycle SMB0CR = -80; //257 - (SYSCLK / (2 * SMB_FREQUENCY));EIE1 |= 2;// SMBus interrupt enable//EA = 1;// Global interrupt enableI2cSM_BUSY = 0;// Free SMBus for first transfer.}/****************************************************************************** ** 函数名称:void SM_Send (Uint8 byte_address,Uint8 *SendBuf,Uint8 count)** 功能描述:I2C写入程序** 说明:1. 等待空闲2. 写入数据3. 等待结束** 输入:地址byte_address、写入数据缓冲区*SendBuf、数量count** 输出:无******************************************************************************* /void SM_Send (Uint8 byte_address,Uint8 *SendBuf,Uint8 count){ET0 = 0;//禁止中断ET2 = 0;//禁止中断while (I2cSM_BUSY);// 等待空闲I2cSM_BUSY = 1;// 置忙SMB0CN = 0x44;// SMBus enabled, ACK on acknowledge cycleI2cSendCount = count;// 置写入数量I2cRecCount = 0;// 读出数量清零I2cSendDPTR = SendBuf;// SMBus enabled, ACK on acknowledge cycleI2CWRITE;// Chip select + WRITEI2cMemAdd = byte_address;STO = 0;STA = 1;// 启动传输FeedWatchdog();while (I2cSM_BUSY);// 等待空闲ET0 = 1;//允许中断ET2 = 1;//允许中断}/****************************************************************************** ** 函数名称:void SM_Receive (Uint8 byte_address,Uint8 *ReadBuf,Uint8 count)** 功能描述:I2C读取程序** 说明:1. 等待空闲2. 置地址3. 读取数据3. 等待结束** 输入:地址byte_address、读取数据缓冲区*SendBuf、数量count** 输出:无******************************************************************************* /void SM_Receive (Uint8 byte_address,Uint8 *ReadBuf,Uint8 count){ET0 = 0;//禁止中断ET2 = 0;//禁止中断while (I2cSM_BUSY);// 等待空闲I2cSM_BUSY = 1;// 置忙SMB0CN = 0x44;// SMBus enabled, ACK on acknowledge cycleI2cSendCount = 0;// 置写入数量I2CWRITE;// Chip select + WRITEI2cMemAdd = byte_address;//值地址偏移I2cRecCount = count;//要接收的数据个数I2cRecDPTR = ReadBuf;//指向要接收的数据区STO = 0;STA = 1;// Start transferFeedWatchdog();while (I2cSM_BUSY);// 等待空闲ET0 = 1;//允许中断ET2 = 1;//允许中断}/****************************************************************************** ** 函数名称:void SMBUS_ISR (void) interrupt 7** 功能描述:I2C中断服务程序** 说明:1. 选择器件地址2. 置读写地址3. 读取或写入数据3. 置结束标志** 输入:无** 输出:无*******************************************************************************/void SMBUS_ISR (void) interrupt 7{switch (SMB0STA) // Status code for the SMBus (SMB0STA register){// 主发送器/接收器:起始条件已发送// 在该状态发送的COMMAND 字的R/W 位总是为0(W),// 因为对于读和写操作来说都必须先写存储器地址。
rtc芯片PCF8563驱动移植完整版
71 };
72
73 #define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
74 #define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
75 /*
76 * The number of days in the month.
139
if (ret >= 0)
140
{
141
ret_data = buf[0];
142
}
143
return ret_data;
144 }
145 #else
146 unsigned char gpio_i2c_read(unsigned char chip_addr, unsigned char reg_addr)
168
169
ret = i2c_transfer(client->adapter, msg, 2);
170
if (ret != 2) {
171
printk("[%s %d] ot_i2c_transfer error, ret=%d.\n", __FUNCTION__, __LINE
__, ret);
0x0E /* timer control */
48 #define PCF8563_REG_TMR
0x0F /* timer */
49
50 #define PCF8563_SC_LV
0x80 /* low voltage */
51 #define PCF8563_MO_C
PCF8563T中文资料
VDD= VDD=
最小值 最大值 单 位
1.0
5.5 V
1.8
5.5 V
800
A
200
A
550
A
450
A
-40
+85
-65
+150
-1-
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925
Bit AF
R/W
值 描述
Bit TF 值 描述
Read 读
0 1
报警标志无效 报警标志有效
0 定时器标志无效 1 定时器标志有效
Write 写
0 1
报警标志被清除 报警标志保持不变
0 1
定时器标志被清除 定时器标志保持不变
-5-
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925
8.6.3 秒 分钟和小时寄存器
表 10 秒/VL 寄存器位描述 地址 02H
Bit 符号
描
述
7
VL
VL=0 保证准确的时钟/日历数据 VL=1 不保证准确的时钟/日历数据
60
<秒>
代表 BCD 格式的当前秒数值 值为 00 例如 <秒> 1011001 代表 59 秒
99
表 11
分钟寄存器位描述 地址 03H
5 订单信息
表 2 订定单信息
型号
名称
包
装
描述
版本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要参数:
PCF8563T,采用SOIC 封装方式。
电源电压范围:1V to 5.5V, 1.8V to 5.5V
工作温度范围:-40°C to +85°C
封装类型:SOIC
工作温度最低:-40°C
工作温度最高:85°C
器件标记:PCF8563T/F4
微处理器支持芯片类型:实时时钟
总线类型:I2C
接口类型:Serial, I2C, 2 Wire
时钟频率:400kHz
特点:上电复位
电压 Vcc 最低:1.8V
电压, Vcc 最大:5.5V
电源电压 最大:5.5V
电源电压 最小:1V
表面安装器件:表面安装
芯片封装类型SOIC
针脚数:8