课件:IC芯片.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
THANK YOU SUCCESS * * 可编辑 日寄存器位描述(地址05H) 星期寄存器位描述(地址06H) 星期分配表 月/世纪寄存器位描述(地址07H) 月分配表 年寄存器位描述(地址08H) 分钟报警寄存器位描述(地址09H) 小时报警寄存器位描述(0AH) 日报警寄存器位描述(0BH) 星期报警寄存器位描述(0CH) CLKOUT频率寄存器位描述(地址0DH) CLKOUT频率选择表 倒计数定时器控制器 倒计数定时器控制器含有8位二进制,它由位TE决定有效或无效。为了能精确读回倒计数的数值,I2C总线时钟SCL的频率应至少为所选定定时器时钟频率的两倍。 倒计数定时器控制器位描述(地址0EH) 定时器时钟频率选择 定时器倒计数数值 (地址0FH) 8位的倒计数器(地址0FH) 8位的倒计数器(地址0FH)由定时器控制寄存器(地址0EH)控制,定时器控制寄存器用于设定倒计数器的频率(4096,64,1,或1/60Hz),以及设定倒计数器有效或无效。 倒计数器从软件设置的8 位二进制数倒计数,每次倒计数结束,设置标志位TF,TF 只可以用软件清除,TF 用于产生一个中断(INT),每个倒计数周期产生一个脉冲作为中断信号。TI/TP控制中断产生的条件。当读倒计数器时,返回当前倒计数的数值。 PCF8563器件地址 (其中A0=1) PCF8563器件地址为: 写PCF8563:0A2H; 读PCF8563:0A3H。 上层 PCF8563通过I2C接口的读写操作 与24WC02的读操作、写操作类似; 且不涉及到超过16字节的情况( PCF8563内部只有16个8位的寄存器。) 所用到的读操作函数IRevStr、写操作函数ISendStr与24WC02类似(只是从器件的地址不同)。 上层 ISendStr (向有子地址器件发送多字节数据函数) 函数原型: bit ISendStr(uchar sla,uchar suba, ucahr *s,uchar no); 功能: 从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。 如果返回1表示操作成功,否则操作有误。 注意:使用前必须已结束总线。 上层 bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) { uchar i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack==0)return(0); SendByte(suba); /*发送器件子地址*/ if(ack==0)return(0); for(i=0;ino;i++) { SendByte(*s); /*发送数据*/ if(ack==0)return(0); s++; } Stop_I2c(); /*结束总线*/ return(1); } 上层 IRevStr (向有子地址器件读取多字节数据函数 ) 函数原型: bit IRcvStr(uchar sla,uchar suba, uchar *s,uchar no) 功能: 从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。 如果返回1表示操作成功,否则操作有误。 注意:使用前必须已结束总线。 上层 bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no) { uchar i; Start_I2c(); /*启动总线*/ SendByte(sla); /*发送器件地址*/ if(ack==0)return(0); SendByte(suba); /*发送器件子地址*/ if(ack==0)return(0); Start_I2c(); SendByte(sla+1); if(ack==0)return(0); for(i=0;ino-1;i++) { *s=RcvByte(); /*发送数据*/

文档评论(0)

iuad + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档