|
||||||
| | 首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | | ||||||
| 广告载入中... | ||||||
| 您现在的位置: 电子爱好者 >> 文章中心 >> 实用电路 >> 正文 |
|
|||||
| 时钟芯片DS1302及其在数据记录中的应用 | |||||
| 作者:佚名 文章来源:非本站原创 点击数: 更新时间:2005-5-5 | |||||
| 作者:山东济南山东工业大学机械工程学院(250061) 于复生宋现春艾兴 山东济南山东通信电子产业集团(250061) 王伟 来源:《电子技术应用》 摘要:介绍了美国DALLAS公司推出的低功耗时钟芯片DS1302的结构和工作原理及其在测量系统中的应用。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。 关键词:数据记录时钟芯片DS1302硬件电路软件设计 在测量控制系统中,特别是长时间无人职守的测控系统中,经常需要记录某些具有特殊意义的数据及其出现的时间。记录及分析这些特殊意义的数据,对测控系统的性能分析及正常运行具有重要的意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS1302则能很好地解决这个问题。 1DS1302的结构及工作原理 1.1引脚功能表及内部结构图 DS1302的引脚及内部结构如图1所示,引脚功能如表1所示。 1.2DS1302的控制字节说明 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。 1.3复位 通过把 在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,数据读写时序见图3。 DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见表2。 此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 2DS1302在测量系统中的硬件电路 下面给出读DS1302时的MCS51汇编语言程序及主程序运行的框图(如图5所示)。 ;DS1302初始化 ST02:CLR P1.0 CLR P1.2 NOP SETB P1.2 写入一个字节 WR02:MOV R7,#8 MOV A,#0BFH LP02:CLR P1.0 RRC A MOV P1.1,C NOP SETB P1.0 NOP DJNZ R7,LP02 RET 读出一个字节 RD02:MOV R7,#8 LP021:CLR O1.0 NOP MOP C,P1.1 RRC A SETB:P1.0 NOP DJNZ R7,LP021 RET ;调用部分 STOP:CLR P1.2 NOP RET LCALL ST02 MOV A,#0BFH LCALL WR02 MOV R6,#7 MOV R0,#49H LP:LCALL RD02 MOV@R0,A INC R0 DJNZ R6,LP LCALL STOP RET 采用DS1302作为记录测控系统中的数据记录,其软硬件设计简单,时间记录准确,既避免了连续记录的大工作量,又避免了定时记录的盲目性,给连续长时间的测量、控制系统的正常运行及检查都来了很大的方便,可广泛应用于长时间连续的测控系统中。 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 站点地图|<产品开发服务|光盘刻录服务| 广告合作 | 访问记录 |汇款方法 | 关于VIP会员 | | |
![]() |
|