版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第30章 实时时钟芯片应用 对于一些测控系统或者手持式设备,经常需要显 示以及设定时间。目前,市场上有多种实时时钟 芯片提供了这类功能。这种可编程的实时时钟芯 片内置了可编程的日历时钟以及一定的RAM存储器, 用于设定以及保存时间。另外,实时时钟芯片一 般内置闰年补偿系统,计时很准确。其采用备份 电池供电,在系统断电时仍可以工作。实时时钟 芯片的这些优点,使得其广泛应用于需要时间显 示的场合。本章详细介绍了美国DALLAS公司推出 实时时钟芯片DS1302的功能、控制指令以及时间 的操作。本章通过一个具体的实例,讲解了如何 使用51系列单片机来读写实时时钟芯片DS1302。 30.1 实时时钟
2、芯片DS1302概述 DS1302是美国DALLAS公司推出的一款实时时钟芯 片。其采用3线串行接口,芯片内部集成了可编程 日历时钟和31个字节的静态RAM。DS1302的日历时 钟可自动进行闰年补偿。DS1302芯片自身还具有 对备份电池进行涓流充电功能,可有效长备份电 池的使用寿命。 实时时钟芯片DS1302以其计时准确、接口简单、 使用方便、工作电压范围宽和低功耗等优点,得 到了广泛的应用。 30.1.1 实时时钟芯片DS1302概述 实时时钟芯片DS1302引脚排列,如图所示。其中 各个引脚功能如下所述。 30.1.2 实时时钟芯片DS1302命令字节 实时时钟芯片DS1302为从器件
3、,由外部微处理器 来控制数据传输。每次传送时由8051向DS1302写 入一个命令字节开始,后面是数据字节。 30.1.3 实时时钟芯片DS1302数据格式 实时时钟芯片DS1302数据格式分为RAM和时钟两种 操作,下面分别进行介绍。 30.1.4 实时时钟芯片DS1302数据传输方式 实时时钟芯片DS1302与外部微处理器之间通过IO 引脚和SCLK引脚传送同步串行数据。其中,SCLK 为串行通信时的位同步时钟,一个SCLK脉冲传送 一位数据。DS1302在每次数据传送时以字节为单 位,先发送低位,再发送高位,因此传送一个字 节需要8个SCLK脉冲。 DS1302的数据传输可采用单字节或多
4、字节突发方 式进行。下面分别进行介绍。 30.2 单片机读写实时时钟芯片实例 实时时钟芯片DS1302采用串行接口,只需3根引脚 便可以完成操作,其使用非常方便。这里采用 AT89S52单片机作为外部微处理器,来对DS1302进 行控制。当然也可以选择其它兼容的8051单片机。 30.2.1 电路图 这里给出单片机AT89S52读写实时时钟芯片DS1302 的电路图,如图所示。 30.2.2 建立项目 这里采用Keil C51语言编写AT89S52上的程序,来 实现对DS1302的控制。首先在Keil Vison3集成 开发环境中建立项目,具体操作步骤如下: 30.2.3 主程序 本例的程序功
5、能是首先初始化DS1302,然后通过 输入不同的字符来分别执行初始化、时钟操作和 RAM操作。分别介绍如下: 输入字符c或者C,进入时钟操作。此时可以选择 显示时间(输入字符d或者D)或者写时钟(输入 字符w或者W); 输入字符i或者I,进入初始化操作。此时可以详 细设置时间和日期等; 输入字符r或者R,进入RAM操作。此时可以选择单 字节写RAM(输入字符b或者B)、多字节写RAM (输入字符w或者W)或者多字节读RAM(输入字符 r或者R)。 30.2.4 复位函数 复位函数ResetDS1302()实现对实时时钟芯片 DS1302的硬件复位操作。程序中使用RSTB引脚来 进行复位操作,其
6、程序代码示例如下: void ResetDS1302() SCLK = 0; RSTB = 0; RSTB = 1; 30.2.5 字节读取函数 字节读取函数ReadByteDS1302()用于读取DS1302 的内部数据。该函数中,在SCLK引脚时钟下,通 过IO引脚逐位读取8位的字节数据,并通过return 语句返回。 30.2.6 字节写入函数 字节写入函数WriteByteDS1302用于向DS1302写入寄存器地址或者 数据。该函数中,在SCLK引脚时钟下,通过IO引脚逐位写入8位的 字节数据。其程序代码示例如下: void WriteByteDS1302(uchar W_Byte)
7、 uchar i; for(i = 0; i = 1; /移位 30.2.7 初始化函数 初始化函数InitDS1302()用于对DS1302的时钟寄 存器进行初始化操作。该函数中,分别输入需要 设置的年、月、星期、日、小时、分钟和秒的数 值,然后调用ResetDS1302()函数复位DS1302,并 允许涓流充电,最后以多字节突发方式写入时钟 数据。 30.2.8 时钟字节写入函数 时钟字节写入函数WriteClkByte()用于对时钟寄 存器执行写操作。该函数中,首先获取时钟寄存 器地址以及时钟数据,然后分别调用 WriteByteDS1302()函数来执行写寄存器地址和写 数据操作。 3
8、0.2.9 RAM字节写入函数 RAM字节写入函数WriteRamByte()用于对DS1302的 片内RAM执行写操作。该函数中,首先获取RAM地 址以及时钟RAM数据,然后分别调用 WriteByteDS1302()函数来执行写寄存器地址和写 数据操作。 30.2.10 时钟寄存器内容显示函数 时钟寄存器内容显示函数Display(uchar loop)用 于读取并显示DS1302内部时钟寄存器中的数据。 该函数中,首先复位DS1302,然后采用多字节突 发方式读取时钟寄存器中的数据,然后每秒显示 一次结果。 30.2.11 多字节突发方式读取RAM函数 多字节突发方式读取RAM函数BurstReadRAM()用于 读取DS1302内部RAM的数据。该函数中,首先以多 字节突发方式来读取DS1302的片内RAM,并将数据 保存在数组中,接着将各个数据输出显示。 30.2.12 多字节突发方式写入RAM函数 多字节突发方式写入RAM函数BurstWriteRAM()用 于对DS1302的片内RAM执行写操作。该函数中,首 先获取RAM数据,然后采用多字节突发方式来写入 RAM数据。 30.3 小结 本章详细介绍了实时时钟芯片DS1302的命令字节 和数据格式,并介绍了两种数据传输方式:单字 节传输方式和多字节突发传输方式。本章通过一 个具体的实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自建房修建及安全合同(2篇)
- 2024年辽宁省中考历史真题卷及答案解析
- 2024年广东省安全员C证(专职安全生产管理人员)考试试题题库
- 数学广角-搭配表格式教学设计人教版数学二年级上册
- 西昌学院《工程测量实验》2022-2023学年第一学期期末试卷
- 西安外国语大学《字体设计》2022-2023学年第一学期期末试卷
- 西安外国语大学《影视剪辑》2022-2023学年第一学期期末试卷
- 西安外国语大学《网络与新媒体概论》2023-2024学年期末试卷
- 23《梅兰芳蓄须》说课稿-2024-2025学年四年级上册语文统编版
- 全国电子工业版初中信息技术第四册第2单元2.3活动1《需求分析与功能设计》说课稿
- 2024-2025学年七年级英语上学期期中试卷(沪教五四制2024)(含答案)
- 2024-2025学年高中政治上学期《新时代的劳动者》教学设计
- 幼儿园故事绘本《卖火柴的小女孩儿》课件
- 10以内口算题每页50道
- 《短视频拍摄与制作》课件-3短视频中期拍摄
- 护理领导力培养护士的领导潜能培训课件
- Linux操作系统应用(麒麟系统)PPT完整全套教学课件
- 印刷业管理条例-2020
- 电气化区段的轨道电路
- 热继电器结构与原理教学资料ppt课件
- 小学英语教材SUCCESSWITHENGLISH第三册教材分析
评论
0/150
提交评论