STC12C5A60S2_DS1302驱动

这篇博客详细介绍了如何为51单片机STC12C5A60S2编写并驱动DS1302实时时钟。通过`ds1302.h`、`ds1302.c`和`main.c`三个关键文件的代码实现,展示了设置和读取时间的完整过程。
摘要由CSDN通过智能技术生成

文章目录

ds1302.h

  代码如下:

#ifndef DS1302_H
#define DS1302_H
#include <reg52.h>

typedef unsigned char uint8;
typedef unsigned int  uint16;

sbit SCK = P2 ^ 1; /* 时钟信号线 */
sbit SDA = P2 ^ 0; /* 数据信号线 */
sbit RST = P2 ^ 4; /* DS1302复位(片选) */

#define DS1302_W_ADDR 0x80 /* DS1302写地址 */
#define DS1302_R_ADDR 0x81 /* DS1302读地址 */

void write_ds1302_byte ( uint8 dat );
uint8 read_ds1302_byte ( void );
void reset_ds1302 ( void );
void clear_ds1302_WP ( void );
void set_ds1302_WP ( void );
void write_ds1302 ( uint8 addr, uint8 dat );
uint8 read_ds1302 ( uint8 addr );
void set_time ( uint8 *timedata );
void read_time ( uint8 *timedata );
#endif

ds1302.c

  代码如下:

#include "ds1302.h"

uint8 set_ds1302_time[7] = {
   0, 0, 0, 0, 0, 0, 0}; /* 设置DS1302的初始时间,格式为“秒分时日月周年” */
uint8 read_ds1302_time[7] = {
   0, 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值