使用F2812调试DS1302实时时钟芯片经验
扫描二维码
随时随地手机看文章
最近在调试DS1302忙一天终于搞定,特此写点心得共享下希望各位少走弯路,最重要的是要保住芯片手册,基本上软件上需要注意的问题芯片手册都能发现。
1. 在上电时,RST 必须为逻辑0 直至Vcc>2.0V。同时SCLK 在RST 驱动至逻辑1 状态时必须为逻辑0。
2. 数据输入是在SCLK的上升沿,数据输出是在SCLK的下降沿。
3. 传输方式:低位先传输。
4. 时钟运行:秒寄存器的最高位(BIT7)是作为时钟控制位,当为逻辑1时,时钟停止,为0时钟运行。所以如果要时钟运行的话就必须将秒寄存器的最高位清0
5. 12/24小时模式:小时寄存器的第7位(最高位)是选择12小时制还是24小时制。当为逻辑1时选择12小时,逻辑0选择24小时。当为12小时制时,小时寄存器的第5位用来表示上午AM和下午PM,逻辑1的时候表示PM,逻辑0的时候表示AM。
6. 在企图对DS1302操作之前,必须将WP位清零。
7. 读写模式:有两种模式,可以单字节读写,以及连续多字节读写(burst mode)。在连续多字节读写时,即burst mode,地址是必须从地址0的0位开始的。如果对时钟操作,即CLOCK操作,则必须连续写满8个字节。若是对RAM操作,则可以不必须写满31个字节。
8. DS1302包含了实时时钟日历和31个字节的RAM,这里需要注意的是实时时钟日历的8个寄存器和31个字节的RAM是独立的,没有任何关系,不要混淆。31个RAM字节可以做其他用途,如闹钟等。因为DS1302有电池供电,所以RAM的内容不会丢失,相当于EEPROM了。用户可以用来实现特别的要求。
9. 时序必须严格按照其数据手册上来.