本文主要是介绍51单片机DS1302实时时钟驱动程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DS1302是低功耗实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
一.基本原理
1.引脚分析
2.时序分析
(1)写字节
第一个字节是地址字节,第二个字节是数据字节。RST信号必须拉高,否则数据的输入是无效的。换一句话说,RST信号控制数据|时间信号输入的开始和结束。地址字节和数据字节的读取时上升沿有效,而且是由LSB开始读入。
(2)读字节
读一个字节和写一个字节有明显的不一样,先是写地址字节,然后再读数据字节,写地址字节时上升沿有效,而读数据字节时下降沿有效,当然前提是RST信号必须拉高。写地址字节和读数据字节同是从最低位(即第0位)开始。
二.驱动程序
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned intsbit IO=P3^4; //数据输入输出线
sbit RST=P3^5; //复位信号线
sbit SCLK=P3^6; //时钟信号线uchar code write_addr[]={0x80,0x82,0x84,0x86,
这篇关于51单片机DS1302实时时钟驱动程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!