1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS1337汇编

微机接口实验报告 院系名称:计算机科学与技术学院 专业名称:计算计科学与技术 班 级:1103班 学生姓名:XXX 学号 :XXXXXXX 概要 本程序用模拟的I2C协议对DS1337的读写单字节、多字节程序进行实现。由于没有电路支持,只能编写一些基本的功能模块,在实际应用中可以挪用。 器件简介 DS1337串行实时时钟芯片是一种低功耗、全部采用BCD码的时钟日历芯片,它带有两个可编程的定时闹钟和一个可编程的方波输出。其地址和数据可通过I2C总线串行传输,能提供秒、分、时、日、星期、月和年等信息。在月末天数小于31天的情况下,它也能自动调整月份,包括对闰年的校正。时钟可以以24小时模式工作也可以以12小时模式工作。芯片的工业温度范围为-40~+85摄氏度,提供有8引脚的DIP和SOIC封装。 DS1337实时时钟芯片 引脚功能 DS1337的引脚排列示意图如图1所示。各引脚的功能如下: VCC,GND:直流电源和接地端。X1,X2:标准的32.768kHz的石英晶振接入端,内部晶振电路设计要求晶振特定电容负载为6pF。另外,这两个引脚还可以有其它接法,即:X1脚连接外部振荡信号源,而将X2脚悬空。 图1 DS1337引脚示意图 SCL:串行时钟输入,用来在总线上同步数据传输。 SDA:串行数据输入输出,SDA是I2C总线接口的数据输入输出引脚,开漏输出,使用时要求接一个上拉电阻。 SQW/:方波/中断输出,可通过对DS1337的内部控制寄存器进行编程来控制这个引脚是输出方波还是输出中断信号。该引脚是开漏输出,使用时要接一个外部的上拉电阻。 :中断输出端,使能时,如果闹钟寄存器的设定值与当前时间匹配,该脚会输出一个低电平。该引脚也是开漏输出,要接上拉电阻。 读取适当的寄存器可以获得正确的时间和日历信息。实时时钟寄存器的地址如表1所列。设置和初始化时间和日历可通过写相应的寄存器字段来实现,寄存器的数据格式以BCD码表示。对于不符合逻辑的时间和日期格式数据,写入时都会导致未定义的操作。 DS1337既可以工作在12小时模式下,也可以工作在24小时模式下。小时寄存器的位6被定义为12小时模式或24小时模式选择位,该位为1时,选择12小时模式。在12小时模式时,位5是AM/PM标志位,该位为1时表示PM。当在24小时模式时,位5是第二个十位(表示20到23小时)。月寄存器的第7位是世纪位,当年寄存器从0到99溢出时,该位发生变化。 表1 DS1337的地址分配图 Day/Date寄存器的第6位是DY/DT位。该位为1时,表示该寄存器中位0到位5中的值是一个星期的一天;它为0时,表示该寄存器的位0到位5中的值是一个月中的一天。 控制寄存器和状态寄存器 DS1337中有一个控制寄存器和一个状态寄存器,可用于控制实时时钟、闹钟和方波的输出。控制寄存器各位定义如表3所列。其中: :振荡器使能位。该位为0,振荡器起振;为1,振荡器停振。刚上电时,该位为0;RS1,RS2:方波输出频率选择位。RS1和RS2共有四种组合,分别对应的方波输出频率为1Hz,4.096kHz,8.192kHz,32.768kHz。在刚加电时,方波输出频率设置是32.768kHz。 INTCN:中断控制位。用于控制两个闹钟与中断输出脚之间的关系。为1时,两个闹钟在满足定时条件时,各自有独立的中断输出。为0时,两个闹钟共用一个中断输出脚,而脚SQW/为方波输出端。开始上电时,该位为0。 A1IE:闹钟1中断使能位。为1时,允许状态寄存器的A1F位输出到脚。上电时该位为0,此时不能用A1F位初始化信号。 A2IE:闹钟2中断使能位,该位的作用与A1IE位相同。 DS1337的状态寄存器各位定义如表4所列, 各位的作用如下:OSF:振荡器停止标志。该位为1,表示振荡器已停止。有四种情况能产生这样的结果:一是芯片刚上电,二是Vcc引脚电压不足,三是位为1,四是晶振受到外部影响(如噪声等)。A1F,A2F:闹钟标志位。为1时,表示闹钟设定时间与当前时间匹配,并产生中断输出。 表2 闹钟屏蔽位设置方式 表3 控制寄存器位定义 DS1337的I2C总线上的数据传输速率在标准模式下是100Kbit,在高速模式下为400Kbit。对于I2C总线上的START条件和STOP条件以及数据位的传输时序,由于在EP9315中没有更多的硬件控制电路,因此需要编程实现。需要注意的是,在I2C总线上,数据的变化发生在SCL信号线为低电平的时刻;在SCL信号为高电平时,数据线SDA上的数据信号应该保持稳定。START条件是在SCL信号为高电平时,SDA产生一个由高变低的电平变化,此后开始一个数据传输过程。 STOP条件是在SCL信号为高电平时,SDA产生一个由低变高的电平

文档评论(0)

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

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

1亿VIP精品文档

相关文档