PCF8583时钟日历芯片的应用(下)
圣寻蜃童 元 器件 与集戚 电路 卷
PCF8583时钟 日历芯片的应用 (下)
Application of PCF85 83 Chip(II)
张培仁 房 玉东
(中 国科大火 灾 国家重点 实验 室 安 徽,合 肥 230026)
ZHA NG Pel-ren FAN G Yu-dong
(StateKeyLab ofFileScienceHef;ei.Anhu/230026,China)
摘 要 :PCF8583为带 I2C总 线接 口并 具有极 低功 耗 (10“A)的 日历 ...
圣寻蜃童 元 器件 与集戚 电路 卷
PCF8583时钟 日历芯片的应用 (下)
Application of PCF85 83 Chip(II)
张培仁 房 玉东
(中 国科大火 灾 国家重点 实验 室 安 徽,合 肥 230026)
ZHA NG Pel-ren FAN G Yu-dong
(StateKeyLab ofFileScienceHef;ei.Anhu/230026,China)
摘 要 :PCF8583为带 I2C总 线接 口并 具有极 低功 耗 (10“A)的 日历 时钟 芯片 ,其中还 有 256字
节的静 态 RAM,PCF8583也 可作 为一个 6位 BCD码 事件 计数 嚣 ,故在 系统 中应 用非常广 泛 。由于
作 为 日历 时钟 器件 配 置有 电池供 电,可作 为RAM的保护 电源,故 256字 节的 RAM可视 为非 易失性
RAM。本文 比较 全 面地介 绍 了PCF8583的结构特 点 及其应 用于。
关 键词 :I2C总线 ;PCF8583;时 钟 日历 芯 片
I●嘻I -ct=Thepaperintroducethoroughthe structure ofPCF8583anditsappfication
K●, n'-d●:FC bus;PCF8583;Chip withfunction ofClockandcalendar
2.4 PcF8583应用
2.4.1 PCF8583起闹和定时器中断逻辑框图
2.4.2 PCF8583中断产生逻辑方程 :
在 下面 三 种情 况下 ,PCF8583产生
中断 :
1. 当 O7单元 计数 值 与 OF单元 相
等 时, 产生 定 时器起 闹 中断;
2.当时间 计数 器与 起 闹寄 存器 相
同 时,产 生 时钟 起 闹 中断 ;
3.当定 时器 溢 出时 ,产 生 定时 器
溢 出中断 。
其 中, 第 三 种情 况 置 位状 态 字 的
第 0位 ,其 他两 种情 况 置位 状 态字 的第
1位 。 中断响 应
逻 辑框 图如 图 4所 示 。由 图看 出,
电断的 产生 条件 可 以有 如 下公 式给 出 :
INT=ALACON.3.(ov.STACON.2)~ALACON.
7.((TA.ALA—CON.6)-,-cM .STACON.2
其 中, Ⅳ 为 中断 输 出引脚 的逻 辑
反,其 他 符号 如 图 中标 注 。
2.4.3 PCF8583应用注意事项:
1.对 时间 计数 器 进 行 设置 时 ,最
好先设置控制 /状态寄存器 中的停止
计数 位 , 以免写 入 非法 数据 。
2.由上 图看 出 ,实 际上 pcf8583总
共有 三 种 中断 时钟 起 闹 中断 、定 时器
起 闹中断 、定 时器溢 出中断 。
3.控制/状态 寄存器 中第 1位置 1的
条 件是 :①、起 闹允许 ,即控 制状态 寄
存器 的第二 位为 1;②、时钟 起 闹 (时钟
计数 器与起 闹寄存 器一致 )或者 定 时起
器 闹 (存储 单元 Ox07与存储 单元 OxOf一
致 并且起 闹控制寄存 器 的第 6位 为 1)。
4.控制 /状态寄存器 中第 0位置 1
的条 件 是:①、起 闹允 许 ,即控制 状态
寄 存器 的第 二 位 为 l;② 、定时 器溢 出,
即计数 到 0x99并翻 转 为 OxO0。
5.中断引 脚输 出低 电平的 条件 是
满 足下 面两 个 条件 之 一:① 、控 制 /状
态 寄存器 中第 1位 为 1并且 起 闹控 制 寄
存器 的第 7位 为 1; ② 、控 制 /状 态 寄
存器 中第 0位为 1并 且起 闹控 制寄 存 器
的第 3位 为 1。
2.4.4 PCF8583时钟模块的驱动及相关函数
。 ,,, p 。 n e n , s a n d , c 。 , u ,,, e
豳 4起闷和定 时器中断逻辑框 豳
58
圣 蜃量 元器件与集成电路卷
/‘— — 全局符号定义 — — ‘/
#define SomeNop();一nop一();一nop一
();_nop一();_nop一();nop一();
/‘5us的时间延时 ‘/
sbit SDA : 0xb5;
/‘12C数据线 T1‘/
sbit SCL : Oxb4:
/‘I2c时钟线 TO‘/
I2CStart:发 出 I2C总 线起 始 信号
’f
static void I2CStart(void)
{
SomeNop();
/‘这里延时应该 可以去掉,起
始 信 号前 不必 满 足最 小 宽度 ‘/
SCL : 1;
SomeNop();
/‘初 始化 为高 电平 ,并 延时
5us,结 束 时 已 经 延 时 ,此 时 可 少 一
’} ·
SDA : 0;
SomeNop();
/‘发 开始 信号 ,
SCL : 0;
/‘拉低时钟信号,
SomeNop();
并保持 5us‘/
以锁定总线 ‘/
/‘延时 5us,tL0W‘/
}
/‘++++++++++十+++++十+++卅 ++州
I2C Stop:发 出 I2C总线 结束 信号
/‘延时,tBUF‘/
SCL : 0;
/‘关闭总线 ‘/
)
I2CInit:12C总线初 始 化 程序
static void I2Clnit(void)
{
SCL : 0;
/‘初始状态关闭总线 ‘/
SomeNop();
/‘延时 ‘/
I2CStop();
/‘确保初始化,此时数据线是
高 电平 ‘/
)
I2CClock:发 送 总线 时钟 信号 ,并返 回
时钟 电平为 高 期 间 SDA上 的状 态 ,可用
于 发送 ,也 可 用于 接受 。
’,
static bit 12CClock(void)
{
bit sample;
SomeNop();
/’数据建立时间,这里 1u应该
就可 以 了 ‘/
SCL = l:
_ nop一();_nop一();一nop一();
/‘拉高时钟,并保持 3us‘/
‘/ sample SDA;
static void I2CStop(void)
{
SDA = 0;
/‘初 始化 为低 电平 ,并延时
1us‘/
SomeNop();
/‘这里 由于下降时间很小,不
延时 或只 延 时 1u应该 也 可 以 ‘/
SCL : 1;
SomeNop();
/‘拉高时钟,并延时 5us,结束
信 号建 立 时 间 ‘/
SDA : 1;
/‘发出结束信号 ‘/
SomeNop();
/‘读取数据线状态 ‘/
一
nop一();_nop一();
/‘时钟高电平再保持 2us‘/
SCL = 0;
/‘恢复时钟低电平 ‘/
SomeNop();
/‘延时 5us‘/
return(sample);
/‘返回数据线状态 ‘/
)
/‘++}+一卜H 叶斗+十十+一十-卜卜卜卜H _+斗+十++-卜
I2CSendByte:向 I2C总线 发 送一 个字
节,并请 求 应答 ,若 收 到 应答 ,则 返 回
l,否 贝Ⅱ返 回 0。
’,
stati c bit I 2CSendByte(char
I2CData)
{
register unsigned char i;
/‘循环变量 ‘/
for(i=O;i<8;i十+){
/‘循环 发 送一 个 字节 (8位 )信
号 ’}
SDA : (bit)(I2cData&Ox8O);
/‘发送最高位数据 ‘/
I2CData <<= 1:
/‘左移一位,使次高位变成最
高 位 ’/
I2CClock();
/‘发送一位时钟 ‘/
)
SDA : 1;
/‘数据线置 1,等待应答 ‘/
return( I2CClock());
/’返回应答信号取反 ’/
)
f.
I2cReceiveByte:从总线接 收— 个字节 ,
并返 回该字 节 ,不 回送 应 答信 号 ,主 函
数调 用 本 函数 之 前应保 证 SDA为 1。
’,
static char I2cReceiveByte(void)
{
unsigned char I2CData 0;
/‘存放读出的返回数据 ‘/
register unsigned char i;
/‘循环变量 ‘/
for(i=O;i<8;i++){
/‘循环读数 ‘/
I2CData <<= 1:
/‘左移一位 ‘/
if(I2CClock())I2CData++;
/‘若读 到 1,则最 低 位置 1,否
贝Ⅱ保持 O‘/
)
return(12CData);
/‘返回读到的数据 ‘/
)
I2CSendAck:向 12C总线 发送 应 答信 号
ACK.
o m p o n e n t s o , u m 日
一 .● . , 1I 。唪 ; , 。.r ; ; 叶 一 唯 $Jr t 毒 崎 lf
圣j质量 元 嚣弹 与集戚 电嚣 卷
流 探针 在 浪 涌 发 生器 输 出和 地之 间进
行 测量 。 图 4表 示浪 涌 脉冲 上升 时 间,
没有 负 载 的情 况下 略 长于 10 s。图 5
表 示衰 落 时间 ,大 约为 1000 s。
图 6和 7取 自浪 涌 脉冲 加到 网 络接
口电路 时 的情 况 。两幅 图 中,波形 1采
用 1 O0倍 电流 探 针在 浪 涌 发 生器 输 出
和 tip上的浪涌相 同且浪涌保护对称,
仅须 测 出 其 中一 个 连 接 器 上 的浪 涌 即
可。波形 2采用 1倍 电压探针从浪涌发
生器 输 出到 tip连接 器 间测 得 。
图 6表 示 浪 涌 脉冲 被 钳 位于 最 大
178V,平均 45V。同时还 有一 个 小 的负
向脉冲 ,是 由浪 涌 发生 器 附带 产生 的 。
测 量 中的剩 余 45V是 由扼 流 圈 的感 性
和 通 过它 的大 电流 而 引起 的 。尽 管 没
有 显 示 出来 , 最 终 施加 到变 压 器 上 的
浪 涌具有 178V的最 大值 ,并 且仅 持续
6 s。相 比加 到 tip和 ring引脚 的初
始 浪 涌 ,该 浪 涌 所 携带 的 能量 要 小 得
o m 口 o n 。 n t 。 。 n d , c o , u m e
多 。图 7是 同一 个 浪涌 ,但 表示 出 了 电
压被 钳 位 的速 度和 浪 涌 的衰 落情 况 。
设 计 通 信设 备 时的 重 要 目标 之 一
就 是在 经 历 了雷 击 或 电 源跨 接 之 后 设
备 能够 保 持 正 常 工 作状 态 。本 文所 介
绍 的 电路 能 够 使 通信 系 统 设 计 通 过 最
为苛 刻 的标 准考 核 ,使 系统 更为 稳 定 、
极 少 需 要 现 维修 ,最 终 增 加 客 户 的满
意度 。
本文档为【PCF8583时钟日历芯片的应用(下)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。