⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1302.h

📁 单片机设计存档
💻 H
字号:
#ifndef _DS1302_H_
#define _DS1302_H_

void condition()     //开始时的定义
{
	RST=0;
	SCK=0;
	RST=1;
}

void sendbyte(uint8 command,uint8 dat)  //发送一个字节
{
	uint8 i;
	condition();
	for(i=0;i<8;i++)
	{
		SDA=command&0x01;
		SCK=0;
		SCK=1;
		command>>=1;	
	}
	for(i=0;i<8;i++)
	{
		SDA=dat&0x01;
		SCK=0;
		SCK=1;
		dat>>=1;
	}
	RST=0;
}

uint8 readbyte(uint8 command)    //读一个字节
{
	uint8 i,dat=0;
	condition();
	for(i=0;i<8;i++)
	{
		SDA=command&0x01;
		SCK=0;
		SCK=1;
		command>>=1;
	}
	for(i=0;i<8;i++)
	{
		SCK=1;
		SCK=0;
		if(SDA)
			dat|=0x01<<i;
	}
	RST=0;
	return (dat);
}

void kaiguan(bit dat)    //1时准许写入;0时为写保护
{
	if(dat)
		sendbyte(0x8e,0x00);
	else
		sendbyte(0x8e,0x80);
}

void init_ds1302()
{
	kaiguan(1);
	sendbyte(0x80,0x45);	// 将0写入秒寄存器;
	sendbyte(0x82,0x59);	// 将20写入分寄存器;
	sendbyte(0x84,0x23);	// 将13写入小时寄存器;
	sendbyte(0x86,0x31);	// 将2日写入日寄存器;
	sendbyte(0x88,0x12);	// 将1月写入月寄存器;
	sendbyte(0x8a,0x07);	// 将05写刃瞧诩拇嫫鳎

⌨️ 快捷键说明

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