




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
时钟芯片及其应用第1页,课件共34页,创作于2023年2月时钟计数功能,可以对秒、分钟、小时、月、星期、年的计数。年计数可达到2100年。有31*8位的额外数据暂存寄存器最少I/O引脚传输,通过三引脚SCLK,RST,IO控制工作电压:2.0-5.5V工作电流小于320纳安(2.0V)读写时钟寄存器或内部RAM(31*8位的额外数据暂存寄存)可以采用单字节模式和突发模式8-pinDIP封装或8-pinSOICs兼容TTL(5.0V)可选的工业级别,工作温度-40–85摄氏度兼容DS1202较DS1202增加的功能:1.可通过Vcc1进行涓流充电2.双重电源补给3.备用电源可采用电池或者超级电容(0.1F以上),可以用老式电脑主板上的3.6V充电电池。功能介绍第2页,课件共34页,创作于2023年2月引脚分布第3页,课件共34页,创作于2023年2月引脚功能VCC1–VCC1提供了在电池供电系统的低功耗模式,以及低功耗电池备用。VCC2-VCC2是主电源,双电源配置电源引脚。VCC1连接到备份源在主电源的情况下维持的时间和日期。当VCC2<VCC1时,系统由电池供电;X1,X2:接32.768KHz的晶振;SCLK:串行时钟输入,控制数据的输入与输出;IO:双向数据线;RST:在进行任何数据传输时,/RST必须被制高电平第4页,课件共34页,创作于2023年2月结构框图第5页,课件共34页,创作于2023年2月主要工作原理:移位寄存器,控制逻辑,晶振,时钟和RAM
在进行任何数据传输时,/RST必须被制高电平(注意虽然将它置为高电平,内部时钟还是在晶振作用下走时的,此时,允许外部读写数据)。在每个SCLK上升沿时,数据被输入,下降沿时数据被输出,一次只能读写一位,是读还是写需要通过串行输入控制指令来实现(也是一个字节),通过8个脉冲便可读取一个字节从而实现串行输入与输出。
最初通过8个时钟周期载入控制字节到移位寄存器。如果控制指令选择的是单字节模式,后来的连续的8个时钟脉冲可以进行8位数据的写或8位数据的读操作,SCLK时钟的上升沿时,数据被写入DS1302,SCLK脉冲的下降沿读出DS1302的数据。工作过程第6页,课件共34页,创作于2023年2月DS1302的基本操作方式是:先写地址(最后一位是0),再写数据;或者先写地址(最后一位是1),再读数据。写:发送10XXXXX0再发送写的字节读:发送10XXXXX1再读一个字节第7页,课件共34页,创作于2023年2月每个字节的传输是有控制字节指定的,控制字节的最高位Bit7必须是‘1’,如果是‘0’,写入将被禁止;bit6为‘0’则指定对时钟/日历寄存器控制读写操作;为‘1’则为RAM区数据的控制读写操作;bit1~bit5对指定的寄存器进行输入输出操作;bit0指的是输入还是输出,为‘0’则为输入,相反则输出有效,输入输出根据脉冲的上升沿和下降沿串行进行(前面已经提到)。控制字节第8页,课件共34页,创作于2023年2月复位与时钟控制所有的数据传输必须从将置高电平开始;数据传输时序第9页,课件共34页,创作于2023年2月复位与时钟控制所有的数据传输必须从将置高电平开始;一个时钟周期是由下降沿、上升沿组成的序列;对于数据输入来说,数据必须在数据必须在时钟的上升沿到来之前有效,对于数据输入来说,在时钟的下降沿输出数据位。如果是低电平,所有的数据传输端和IO引脚都为高阻态。第10页,课件共34页,创作于2023年2月数据输入(单片机写)在8个时钟周期的控制写字节的输入之后,一个字节的输入将在下8个时钟周期的上升沿完成,数据传输从字节最低位开始。第11页,课件共34页,创作于2023年2月数据输出(单片机读)8个时钟周期的控制读指令的输入,控制指令串行输入后,一个字节的数据将在下个8个时钟周期的下降沿被输出,先输出的是最低位。
Notethatthefirstdatabittobetransmittedoccursonthefirstfallingedgeafterthelastbitofthecommandbyteiswritten.
第12页,课件共34页,创作于2023年2月读写时间寄存器与时间有关的寄存器为:SEC,MIN,HR,DATE,MONTH,DAY,YEAR这些寄存器的操作方式是一样的:写:发送10XXXXX0,再发送写的字节读:发送10XXXXX1,再读一个字节下面以秒为例:秒分时日月周年第13页,课件共34页,创作于2023年2月初始化时要置当前时间:写地址:发送10000000(即0x80),再发送写的字节0x55如时间12:23:55初始化完了,读当前时间:读地址:发送10000001(即0x81),再读一个字节,即为当前的秒读写时间寄存器write_DS1302(0x80,0x55]);readtimeR[6]=read_DS1302(0x81);bit7秒控制寄存器秒寄存器第14页,课件共34页,创作于2023年2月秒写地址:0x80读地址:0x81分写地址:0x82读地址:0x83时写地址:0x84读地址:0x85日写地址:0x86读地址:0x87月写地址:0x88读地址:0x89周写地址:0x8a读地址:0x8b年写地址:0x8c读地址:0x8d读写时间控制寄存器第15页,课件共34页,创作于2023年2月时钟寄存器地址数据在时钟/日历寄存器是二进制编码的十进制格式(BCD码)。如时间12:23:55从0x85地址上读到的是:0x12从0x83地址上读到的是:0x23从0x81地址上读到的是:0x55第16页,课件共34页,创作于2023年2月时钟停止标志位秒寄存器的最高位,定义为时钟停止位,当该位置1,时钟振荡停止,DS1302进入低功耗待机模式;当该位置0,时钟振荡启动;初始上电状态是没有定义。val=read_DS1302(0x81);//读秒寄存器到valval&=0x7f; //最高位清零,振荡器工作允许write_DS1302(0x80,val);//写秒寄存器,内容val启动时钟示例ucharval;bit7秒控制寄存器秒寄存器第17页,课件共34页,创作于2023年2月AM-PM/12-24MODE小时寄存器的第7位定义为12-24小时模式位。Bit7为1:是12小时制;bit5=1表示下午bit5=0表示上午Bit7为0:是24小时制;bit7bit5小时控制寄存器小时寄存器12-24小时模式位12小时制模式时,0:上午;1:下午第18页,课件共34页,创作于2023年2月写保护位(WRITEPROTECTBIT)控制字节的bit7是写保护位(前面已经提到),低7位(bit0~bit6),被置0,在任何写操作前,bit7都应该置‘0’。控制寄存器地址控制寄存器字节写保护关闭:write_DS1302(0x8e,0x00);bit70000000写保护打开:write_DS1302(0x8e,0x80);地址第19页,课件共34页,创作于2023年2月涓电流充电寄存器TCSTCSTCSTCSDSDSRSRS写地址:0x90读地址:0x91第20页,课件共34页,创作于2023年2月该寄存器决定了DS1302的充电特性,涓流充电选择位为bit4~7,置1010时使涓流充电,其他选择将禁止涓流充电。DS1302刚上电时无涓流充电。二极管选择位diodeselect(DS)bit2~3,将在Vcc1和Vcc2之间选择1或2个diode,如果DS是01,只有一个二极管被选择,如果DS四10,将选择两个diode,具体电路如下图,如果是00或11,无涓流充电能力。还有电阻选择位RS(bit0~1)将会选择Vcc1和Vcc2之间的电阻,具体如下表:涓电流充电寄存器第21页,课件共34页,创作于2023年2月sbitDS1302_CLK=P1^7;sbitDS1302_IO=P2^3;sbitDS1302_RST=P1^3;大赛DS1302部分电路#definenop_nop_()第22页,课件共34页,创作于2023年2月voidsendbyte(uchara){uchari;for(i=8;i>0;i--) { DS1302_IO=a&0x01; a>>=1; DS1302_CLK=1; _nop_(); DS1302_CLK=0; _nop_();}}函数功能:单片机向DS1302写一个字节子程序IO=字节a的最低位字节右移1位CLK=1,延时CLK=0,延时到8次了?结束第23页,课件共34页,创作于2023年2月函数功能:单片机从DS1302读一个字节子程序ucharreadbyte(void){ uchari,dat=0; for(i=8;i>0;i--) { dat>>=1; if(DS1302_IO) dat|=0x80; DS1302_CLK=1; nop; DS1302_CLK=0; } returndat;}经过8个时钟周期的控制读指令的输入,控制指令串行输入后,一个字节的数据将在下个8个时钟周期的下降沿被输出,注意:先输出字节的低位。第24页,课件共34页,创作于2023年2月将上面的写字节和读字节放在一起研究voidsendbyte(uchara){uchari;for(i=8;i>0;i--) { DS1302_IO=a&0x01; a>>=1; DS1302_CLK=1; _nop_(); DS1302_CLK=0; _nop_();}}读一个字节子程序ucharreadbyte(void){ uchari,dat=0; for(i=8;i>0;i--) { dat>>=1; if(DS1302_IO) dat|=0x80; DS1302_CLK=1; nop; DS1302_CLK=0; } returndat;}写一个字节子程序这是一种方案在控制字节最后一位写完后的下降沿,第一个读数据位就出现了此句看上去,在没有先产生下降沿的情况下就读了数据,其实在左边已经产生了第一个数据位第25页,课件共34页,创作于2023年2月将上面的写字节和读字节放在一起研究voidsendbyte(uchara){uchari;for(i=8;i>0;i--) { DS1302_CLK=0;nop;DS1302_IO=a&0x01;a>>=1;DS1302_CLK=1;nop; }}读一个字节子程序ucharreadbyte(void){uchari,dat=0;for(i=8;i>0;i--){ DS1302_CLK=1; nop; DS1302_CLK=0; dat>>=1; if(DS1302_IO) dat|=0x80; }returndat;}写一个字节子程序这是另一种方案这里是先产生数据,再产生上升沿的方式送数据,最后没有产生下降沿。这里要先产生下降沿,再读数据第26页,课件共34页,创作于2023年2月/*****************************************************************************函数功能:写DS1302地址子程序向address地址上写入数据dat*****************************************************************************/voidwrite_DS1302(ucharaddress,uchardat){
DS1302_RST=0; nop; DS1302_CLK=0; nop; DS1302_RST=1; nop;
sendbyte(address); nop;
sendbyte(dat); nop; DS1302_RST=0; nop; DS1302_CLK=0;}经过8个时钟周期的控制字节的输入,一个字节的输入将在下8个时钟周期的上升沿完成,数据传输从字节最低位开始。这3句的目的是将CLK置0,但是不知道会不会产生下降沿而送错数据,所以先RST=0,停止所有数据传送,高阻态,等CLK=0之后,再回复RST=1;第27页,课件共34页,创作于2023年2月/*****************************************************************************函数功能:读DS1302地址子程序入口参数:add出口参数:readtimeR[]*****************************************************************************/ucharread_DS1302(ucharaddress){uchartimer;
DS1302_RST=0; delays(2); DS1302_CLK=0; delays(2); DS1302_RST=1; nop; sendbyte(address); timer=readbyte();
DS1302_RST=0; nop; DS1302_CLK=0;
returntimer;}第28页,课件共34页,创作于2023年2月/*****************************************************************************函数功能:初始化DS1302子程序入口参数:wr_data[](全局变量)出口参数:*****************************************************************************/voidDS1302_init(){write_DS1302(0x8e,0x00);//关闭保护,bit7=0write_DS1302(0x8c,wr_data[0]); //年write_DS1302(0x88,wr_data[1]); //月write_DS1302(0x86,wr_data[2]); //日 write_DS1302(0x8A,wr_data[3]); //星期write_DS1302(0x84,wr_data[4]); //时write_DS1302(0x82,wr_data[5]); //分write_DS1302(0x80,wr_data[6]); //秒 write_DS1302(0x8e,0x80); //开写保护,bit7=1}第29页,课件共34页,创作于2023年2月voidclock_start(void){ucharval;val=read_DS1302(0x81);//读秒寄存器val&=0x7f; //秒寄存器最高位0,时钟振荡启动
write_DS1302(0x8e,0x00);//关写保护
write_DS1302(0x80,val);//写回秒寄存器write_DS1302(0x90,0xa5);
//1010使能涓电流充电,DS=01:选择一个二极管,RS=01:R1=2kwrite_DS1302(0x8e,0x80);//开写保护
}启动振荡器,启动涓电流充电(竞赛可省略)(竞赛可省略)可以省略的理由:1.由于秒寄存器是内容0x00~0x59,显然初始化时最高位也同时清零了;2.使用的电池,不充电,可以不对电池充电。第30页,课件共34页,创作于2023年2月/*****************************************************************************函数功能:读DS1302时间子程序读到数组readtimeR中*****************************************************************************/voidread_time(void){ readtimeR[0]=read_DS1302(0x8d);//年BCD码 readtimeR[1]=read_DS1302(0x89); //月BCD码 readtimeR[2]=read_DS1302(0x87); //日BCD码 readtimeR[3]=read_DS1302(0x8b);//周BCD码 readtimeR[4]=read_DS1302(0x85); //时BCD码 readtimeR[5]=read_DS1302(0x83);//分BCD码 readtimeR[6]=read_DS1302(0x81); //秒BCD码}第31页,课件共34页,创作于2023年2月送显示的数据处理方式year_h=readtimeR[0]>>4; //年十位year_l=readtimeR[0]&0x0f;//年个位month_h=readtimeR[1]>>4; //月十位month_l=readtimeR[1]&0x0f;//月个位date_h=readtimeR[2]>>4; //日十位date_l=readtimeR[2]&0x0f;//日个位hour_h=readtimeR[4]>>4; //时十位hour_l=readtimeR[4]&0x0f;//时个位minute_h=readtimeR[5]>>4;//分十位minute_l=readtimeR[5]&0x0f;//分个位second_h=readtimeR[6]>>4;//秒十位second_l=readtimeR[6]&0x0f;//秒个位disTime[0]=hour_h;disTime[1]=hour_l;disTime[3]=minute_h;disTime[4]=minute_l;disTime[6]=second_h;disTime[7]=second_l;display(disTime);disDate[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物料搬运设备在精密制造行业的应用考核试卷
- 纤维制品的国内市场渠道拓展考核试卷
- 微生物耐药性检测试题及答案
- 火力发电厂设备更新与技术改造考核试卷
- 2023年中储粮江苏分公司秋季社会招聘笔试参考题库附带答案详解
- 2024年项目管理新兴趋势与挑战试题及答案
- 2024年项目管理专业人士资格考试详解试题及答案
- 盾构机施工中的隧道工程地质监测规范考核试卷
- 重点公式与计算技巧试题及答案
- 临床微生物检验的统计分析试题及答案
- 四川省元三维大联考·高2022级第三次诊断性测试(绵阳三诊B卷)地理试题及答案
- 新人面试典型试题及答案
- 2024年云南省烟草专卖局毕业生招聘考试真题
- 电动汽车安全驾驶培训
- 短视频平台对独立音乐人的影响研究-全面剖析
- 2024年国家广播电视总局直属事业单位招聘真题
- 特种设备安全使用操作培训课件3
- 水磨钻专项方水磨钻专项方案
- 2024重庆三峰环境集团股份有限公司招聘15人笔试参考题库附带答案详解
- 2024年吉林银行总行招聘笔试真题
- 体检中心组织架构
评论
0/150
提交评论