两个单片机iic通讯程序_PIC单片机之DS1302时钟

本文详细介绍了DS1302时钟芯片的工作原理、内部结构和寄存器,以及如何通过I2C协议与单片机进行通讯。通过一个实例展示了如何使用DS1302制作时间显示,包括硬件连接和C语言程序设计。文章适合想要学习DS1302和单片机接口技术的读者。
摘要由CSDN通过智能技术生成

b6f1d3ef2f163e4a274dde03afa8d12c.gif

大家好,通过前一期的学习,我们已经对ICD2 仿真烧写器和增强型PIC 实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键、数码管、RS232串口、步进电机、温度传感器、I2C 总线、SPI 总线等资源,体会到了学习板的易用性与易学性,这一期我们将介绍市面上常见的时钟芯片DS1302 的应用。

一、DS1302时钟芯片简介

DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/ 日历和31 字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/ 日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 标志位决定采用24 或12 小时时间格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O 线:复位(RST)、I/O 数据线、串行时钟(SCLK)。时钟/RAM 的读/写数据以一字节或多达31 字节的字符组方式通信。

DS1302 工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。

1. DS1302 的内部结构

DS1302 的外部引脚功能说明如图1 所示。

a09bf1863fbb5b59876c50b0c7ef1dc8.png

图1 DS1302封装图

DS1302 的内部结构如图2 所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。

fdeef321d87a9de881f58c914e8de54e.png

图2 DS1302的内部结构图

DS1302 含充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和串入的二极管数目,以调节电池充电电压。不过对我们目前而言,最需要熟悉的是和时钟相关部分的功能,对于其它参数请参阅数据手册。

2. DS1302 的工作原理

DS1302 工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8 位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8 位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8 位地址+8 位数据),在多字节方式下为8 加最多可达248 的数据。

3. DS1302 的寄存器和控制命令

对DS1302 的操作就是对其内部寄存器的操作,DS1302 内部共有12 个寄存器,其中有7 个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM 相关的寄存器等。

时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如表1 所示。

表1 日历、时钟寄存器与控制字对照表

3b272535dd6bc26f002883d6bdc07560.png

最后一位RD/W 为“0”时表示进行写操作,为“1”时表示读操作。

DS1302 内部寄存器列表如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值