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

📄 ds1302.h

📁 1.时钟有闹钟功能
💻 H
字号:
#include<reg52.h>

#define uint unsigned int
#define uchar unsigned char

sbit dsrst=P2^0;
sbit dssclk=P2^1;
sbit dsio=P2^2;

uint a[24]={0,0,0,0,0,0,1,0,1,0,9,0,0,0,0,0,0,0,1,0,1,0,9,0};
//分别对应秒秒分分时时日日月月年年
//后12位为闹钟位,用于存储闹钟数据

//1302write   DS1302写数据
void dswrite(uchar dswrite)
{
	uchar i,temp;
	delay(1);
	temp=dswrite;
	for(i=0;i<8;i++)
	{
		dsio=temp&0x01;
		delay(1);
		dssclk=1;
		delay(1);
		dssclk=0;
		temp=temp>>1;
	}	
}

//1302read   Ds1302读数据
uchar dsread()
{
	uchar i,temp;
	delay(1);
	temp=0;
	for(i=0;i<8;i++)
	{
		temp=temp>>1;
		if(dsio==1)temp=temp+0x80;
		delay(1);
		dssclk=1;
		delay(1);
		dssclk=0;
	}
	return temp;	
}

//1302addshuju  DS1302向某地址写入某数据
void dsaddshuju(uchar add,uchar dsshuju)
{
	dsrst=0;
    dssclk=0;
    dsrst=1;
    dswrite(add);// 地址,命令 
    dswrite(dsshuju);// 写1Byte数据
    dssclk=1;
    dsrst=0;
    dsio=0;

}

//1302on  DS1302初始化
void dson()
{
	uchar i;
	dsaddshuju(0x8c,(a[11]<<4)+a[10]);
	for(i=0;i<5;i++)
	{
		dsaddshuju(0x88-i*2,(a[9-i*2]<<4)+a[8-i*2]);
	}
}

⌨️ 快捷键说明

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