




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PCF8583中文资料主要用于单片机定时采集,本人将资料部分中文化,并附有51 完整c程序,调试通过,供大家参考。芯片简介:1、PCF8583是P H IL IPS公司制造的带有2568bit RAM的8引脚日历/时钟芯片.2、两线串行I2C总线接口,内含完整的振荡,分频,上电复位电路,并具备计时,日历,定时,闹钟和中 断输出功能. 3、带256字节静态RAM4 可以做到1/100秒采集,报警控制输出.5.具有定时和时钟两种模式进行控制操作.6结构简单,占用单片机端口少,功耗极低.以下为芯片详细说明:-1芯片特点数据保持和时钟工作电压16V ,总线工作电压2. 56V ;采用8脚D IP或SO封装形式;I2C两线串行总线接口;内含2568bit静态RAM ;有定时,定闹功能和中断输出;内有振荡器,分频器和上电复位电路,可使用32 768Hz石英晶振或外部50Hz时钟;片内字节地址读写后自动加一;可用作定时器或计数器.2.引脚功能PCF8583引脚功能如图1所列.12 外接时钟 3 i2c挂接选择(一个接gnd) 4 Gnd 5 数据线 6时钟线 7 中断输出(低电平有效) 8 正电源3.片内寄存器功能描述在256字节RAM中,前16字节(地址000FH)是带有特殊功能的寄存器,(10-FF为静态存储)现分述如下: 内部结构如图2:3. 1状态寄存器(地址00H)*状态寄存器控制着芯片所有的功能和操作,了解其工作方式十分重要*内容如图3所列. 图3 PCF8583状态寄存器详细说明如下:00寄存器(状态寄存器)8个位名称功能:LSB -MSb 低到高8位功能定义:0、计时器计时器到秒标志占空比50%(0为使能)1闹钟定闹时间到分标志 占空比50%(0为使能)2闹钟使能(是否闹钟允许) 0:禁止;1 :允许3屏蔽位(控制05 06 寄存器如何使用)05和06寄存器屏蔽(05,06寄存器有特殊功能,一器复用)0 :不屏蔽;1 :屏蔽45功能模式芯片工作方式00:32768 Hz时钟;01 :50 Hz时钟;10 :计数器模式;11 :测试模式6计数锁存0:计数;1 :锁存(计数时要注意其的使用的)7计数停止停止计数标志0:计数;1 :停止计数,分频器复位(计时时注意其使用,)重要说明:!其中6,7位十分重要,要及时控制其开启还是停止,才能防止时钟混乱问题.3. 2时钟计数器(地址01H06H)01/ 100秒(099)02秒(059)03分(059)04, 24/ 12hAM/ PM小时(0/ 124/ 12)(图5)小时模式选择(0为24h , 1为12h)和上下午指示(0为AM ,1为PM).05 年(03)日期(128/ 29/ 30/ 31)(图6)06星期(06)月(112) (07图)重要说明:05,06 年份和日期,星期和月份分别在地址05H和06H.如果状态寄存器的屏蔽位有效,当读这些寄存器时,年份和星期的有关位会被屏蔽,这样允许用户直接读取日期和月份.(由00h寄存器第3位来控制)图7 5 6 如下: 3. 3计时器(地址07H) (099)设置状态寄存器为XX0XX1XX可以打开计时器.在时钟模式中,计时器可以编程为以1/ 100秒,秒,分,小时或天计数.缺省状态下,计时器按天数累计.计时器为百进计数,溢出时,timer标志被置位,这个标志必须由软件来复位,通过设置闹钟寄存器的计时器中断允许位,可以传递到IN T脚引起中断.(注意做时间定时采集时注意100中断一次,时间一般为60进位的,其计时为秒,分,小时那种来计时可通过设置定闹寄存器(08h寄存器)的低3位来编程3.4 08闹钟控制寄存器详解闹钟控制寄存器是用来控制定闹,定时和中断输出功能的.在时钟和计数器方式下有不同的功能8位使用说明:(2种模式,由00寄存器4-5位来控制)1.可以选择32 768Hz和50Hz时钟模式2. 计数器模式.1.时钟和日历计数器(时钟方式) 图8计时器设置(0-3位)(与07h寄存器配合使用)000:无计时器001 :1/ 100秒010 :秒011 :分100 :小时101 :日110 :不用111 :测试模式3计时器中断允许(与07h寄存器配合使用)0:禁止 1 :允许45时钟定闹设置(与09-0F寄存器配合使用)00:无闹钟01 :日期闹钟10 :周闹钟11 :每日闹钟6计时器报警允许(与07h寄存器配合使用)0:禁止 1 :允许7报警中断允许(与09-0F寄存器配合使用) 0:禁止 1 :允许2计数器的模式(图10)状态寄存器(00H)为XX10XXXX时,可以选择计数器模式,计数器模式仅使用RAM的01H03H字节,用于对O SC I端脉冲的计数(O SCO开路).计数器最大可计到百万(6位BCD码).如允许计数报警,当计数器的值与09H,0A H,0B H位的值相同时将发生一次计数报警, alarm标志被置1 ,设置中断允许可引发中断.在此模式下,计时器(07H)受报警控制寄存器低3位控制,计时器的功能和时钟模式相同.计时器设置(前三位与时钟模式不同,其余相同)000:无计时器001 :1010 :100011 :10000100 :1000000101 :禁止110 :禁止111 :测试模式3计时器中断允许0:禁止 1 :允许计时器中断允许0:禁止 1 :允许45时钟定闹设置00:无闹钟01 :日期闹钟10 :周闹钟11 :每日闹钟定闹设置00:无定闹01 :定闹方式10 ,11 :禁止6计时器报警允许0:禁止 1 :允许计时器报警允许0:禁止 1 :允许7报警中断允许0:禁止 1 :允许报警中断允许0:禁止 1 :允许3. 5闹钟寄存器(地址09H0F H)设置状态寄存器可以激活闹钟寄存器.设置闹钟控制寄存器可以选择定闹方式,闹钟时间到会使状态寄存器中的alarm标志置高,当alarm中断允许标志为1时,输出IN T引脚被拉低,并一直保持到复位或被软件清除.闹钟寄存器以时钟计数器相同的顺序放在地址09H以后的位置上,当闹钟寄存器每位都符合对应的时钟计数器时产生一个闹钟信号.通过设置闹钟计数器,闹钟可以被编程为控制日期,每天,每周或一段时间后启动;指定日期的闹钟忽略年和周位;日闹钟忽略月和日期位;周闹钟时,周/月寄存器将选择一周相应的一天启动闹钟,此时闹钟月份寄存器(0EH)改为星期寄存器,低七位对应周日到周六,最高位不用.另外,通过设置计时报警位,可以编程为定时闹钟.当计时器(0F H)值和时钟计数器(07H)位相同时,报警启动(alarm标志置1).在12小时模式时,第6和第7位的时寄存器一样.09H闹钟1/ 100秒0AH闹钟秒0BH闹钟分0CH闹钟小时0DH闹钟日期0EH闹钟月份0FH闹钟计时器图9为星期报警如何设置 以下为时续和程序详解-I2c开始和停止时续图 程序如下void start()SDA=1;_nop_();/12MHz主频一个周期空指令延迟1us(和主频有关系) _nop_(); _nop_(); _nop_(); _nop_();SCL=1; /在时钟信号为高电平,数据信号发生有高到底的跳变时,为起始SDA=0;_nop_(); _nop_(); _nop_(); _nop_(); _nop_();SCL=0;void stop()SDA=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_();SCL=1;SDA=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_();SCL=0;应答和等待应答图续,和cpu进行对接判断void ask(bit i)SDA=i;/应答信号0,非应答信号1SCL=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_();SCL=0;bit waitask()unsigned char waitTime = 0xff;/设置Ack信号超时数;SDA = 1;/将数据线拉高;SCL = 1;/启动Ack脉冲; _nop_(); _nop_(); _nop_(); _nop_(); _nop_();while(SDA)waitTime-;if(!waitTime)SCL = 0;/SCL=0;stop();return 0;SCL = 0;/操作完成后确认SCL为0,此时SDA=0;return 1;读一个字节时续图,其中r/w为1进行读数据unsigned char readbyte()unsigned char tmp = 0,i;for(i=0;i8;i+)SCL = 0;SDA = 1;/向I/O口写1后准备读入;_nop_();_nop_(); _nop_(); _nop_(); _nop_(); SCL = 1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); tmp = 1;if(SDA)tmp |= 0x01;SCL = 0;/SCL=0;return tmp;写一个字节时续图,其中r/w为0进行写数据void writebyte(unsigned char dat)unsigned char i;for(i=0;i8;i+)if(dat&0x80)SDA=1;else SDA=0;dat = dat 1;SCL=1;_nop_(); _nop_(); _nop_(); _nop_(); _nop_();SCL=0;I2c挂接图 A0接地,则写设备地址为 0Xa0(r/w=0), 读设备地址为 0Xa1(r/w=1)与寄存器进行配合操作.从其中一个pcf8583中读和写数据时续图.从设备中(pcf8583)读取数据,(r/w=1)void PCF8583_ReadDat(unsigned char addrInter,unsigned char num,unsigned char *buff)unsigned char i;start();/启动IIC Bus;writebyte(0xa0);/PCF8583设备寻址;命令:写;if(!waitask()writebyte(0xa0); /等待Ack信号;writebyte(addrInter);/发送内部寄存器地址;if(!waitask()writebyte(addrInter);/等待Ack信号;start();/参考PCF读Read Mode时序;writebyte(0xa1);/PCF8583设备寻址,命令:读;if(!waitask()writebyte(0xa1);for(i=0;inum-1;i+)buffi = readbyte();/读一个字节;ask(0);/发送应答信号;buffnum-1= readbyte();ask(1);/最后一个字节发送非应答信号;stop(); /终止本次传输,IIC Bus空闲;2向挂接设备(pcf8583)中写数据,(r/w=0)void PCF8583_WriteByte(unsigned char addrInter,unsigned char val)start();writebyte(0xa0);if(!waitask()writebyte(0xa0);writebyte(addrInter);if(!waitask()writebyte(addrInter);writebyte(val);if(!waitask()writebyte(val); stop();以下时间响应图 注意延时操作,(和自己的主频有关,ns的不用延时,以免时续不对)多路挂接图,改变设备地址可以进行控制操作了Dip-8尺寸So-8尺寸实际使用例子与89c52连接图,定时int输出控制cpu外部中断0 唤醒休眠中的cpu (如今的新型的可以唤醒掉电)也可一唤醒掉电的cpu void PCF8583_Init()/初始化,本人定时(4秒唤醒一次)唤醒cpu/PCF8583_WriteByte(0); /PCF8583_WriteByte(0x00,0x00);/delay_p(4);/PCF8583_WriteByte(0x00,0x02);/8关计时,防止写时间时,计时混乱。5开报警1%s计数设计,时钟模式为32.786k模式PCF8583_WriteByte(0x00,0x85);/8关计时,防止写时间时,计时混乱。5开报警1%s计数设计,时钟模式为32.786k模式/delay_p(1); PCF8583_WriteByte(0x01,0x00); /所有计时器清零/delay_p(1);PCF8583_WriteByte(0x02,0x00); /delay_p(1);PCF8583_WriteByte(0x03,0x00);/delay_p(1);PCF8583_WriteByte(0x04,0x00); /delay_p(1);PCF8583_WriteByte(0x05,0x00); /delay_p(1);PCF8583_WriteByte(0x06,0x00); /delay_p(1);/PCF8583_WriteByte(0x07,0x98); /delay_p(1);PCF85
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自考专业(护理)考前冲刺练习含完整答案详解(历年真题)
- 资料员之资料员基础知识模拟题库及答案详解【夺冠系列】
- 中级银行从业资格之中级银行业法律法规与综合能力能力检测试卷含完整答案详解(易错题)
- 环保公司突发事件报告细则
- 中级银行从业资格之中级银行业法律法规与综合能力押题模拟附答案详解(完整版)
- 自考专业(会计)练习题【典优】附答案详解
- 电竞公司社会责任报告办法
- 综合解析北京市西城区育才学校7年级下册数学期末考试同步练习试卷
- 自考专业(护理)模考模拟试题1套附答案详解
- 中级银行从业资格之中级银行业法律法规与综合能力能力提升打印大全(考试直接用)附答案详解
- 综采工作面液压支架安装回撤工理论考核试题及答案
- 初中高中英语所有单词集合带音标
- 露天矿山危险源辨识(汇总)
- 放射科质控汇报
- GB/T 31091-2014煤场管理通用技术要求
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 万东GFS型高频高压发生装置维修手册
- 公寓de全人物攻略本为个人爱好而制成如需转载注明信息
- 企业经营沙盘模拟实训指导书
- 汉密尔顿抑郁量表17项
- 《现代物流管理》第一章-导论(课用)
评论
0/150
提交评论