ds1307.h

来自「一个基于51单片机的定时报警设计电路及程序」· C头文件 代码 · 共 42 行

H
42
字号
#ifndef DS1307_H
#define DS1307_H

#define DS1307_ADDR    0xD0
#define TW_ACK         1
#define TW_NACK        0
#define RTC_READ       1
#define RTC_WRITE      0

extern char g_aTimeBuf[7];//日历/时钟BCD格式缓冲区
extern char g_aTimeBin[7];//时钟/日历二进制格式缓冲区

	//对DS1307内存连续的写操作
	unsigned char rtc_write(unsigned char addr,unsigned char *buf,unsigned char len);

	//对DS1307内存连续的读操作
	unsigned char rtc_read(unsigned char addr,unsigned char *buf,unsigned char len);

	//更新或读取DS1307日历/时间数据
	unsigned char RtcUpdateData(unsigned char direction);

	//读DS1307用户RAM
	unsigned char RtcReadRAM(unsigned char addr,unsigned char *buf,unsigned char len);

	//写DS1307用户RAM
	unsigned char RtcWriteRAM(unsigned char addr,unsigned char *buf,unsigned char len);

	unsigned char byte_bintobcd(unsigned char bin);

	unsigned char byte_bcdtobin(unsigned char bcd);

	//将二进制格式缓冲区(g_aTimeBin)内容转换成BCD格式后保存到BCD格式缓冲区(g_aTimeBuf)
	void RtcBinToBCD(void);

	//将BCD格式缓冲区(g_aTimeBuf)内容转换成二进制格式后保存到二进制格式缓冲区(g_aTimeBin)
	void RtcBCDToBin(void);

	//写DS1307配置字节
	void RtcSetSQWOutput(unsigned char en,unsigned char level);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?