2.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1 。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等 。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容 。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读) 。
3 DS1302实时显示时间的软硬件 DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5) 。图3示出DS1302与89C2051的连接图,其中,时钟的显示用LCD 。
3.1 DS1302与CPU的连接 实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可 。只是选择晶振时,不同的晶振,误差也较大 。
另外,还可以在上面的电路中加入DS18B20,同时显示实时温度 。只要占用CPU一个口线即可 。
LCD还可以换成LED,还可以使用北京卫信杰科技发展有限公司生产的10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意字段笔划,具有3-4线串行接口,可与任何单片机、IC接口 。功耗低,显示状态时电流为2μA (典型值),省电模式时小于1μA,工作电压为2.4V~3.3V,显示清晰 。
3.2 DS1302实时时间流程 图4示出DS1302的实时时间流程 。根据此流程框图,不难采集实时时间 。
下面结合流程图对DS1302的基本操作进行编程: 根据本人在调试中遇到的问题,特作如下说明: DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位 。

文章插图
- 关于四季的单词怎么写
- 三菱plc比较指令怎么写
- 聚会收费通知怎么写
- css中注释怎么写
- 长袖衣服英文怎么写
- box的音标怎么写
- 永不言弃俄文怎么写
- 三级证明书怎么写
- 脱口秀段子怎么写技巧
- 6859用英语怎么写
