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

📄 driver1302.c

📁 实现了时间的定时记录
💻 C
字号:
#include "driver1302.h"
#include "stc5410.h"

void delay()
{
uchar i=4;
while(i--);
}			   
void init1302()
{
Sclk=0;delay();
Rst=0;
writecmd(0x8e);//open write
writecmd(0x00);
Rst=0;
delay();
Sclk=0;
delay();
writecmd(0x90);//trickle charger,R1=2k
writecmd(0xa5);//select R1=2k;one DIODE	
Rst=0;
delay();
Sclk=0;
delay();
writecmd(0x80);//start real time clock
writecmd(0x00);
Rst=0;
delay();
Sclk=0;
delay();
}

//not finished
uchar gettime(uchar mode)
{
uchar i=8;
uchar tmp;
uchar tmp1;
tmp=mode<<1;
tmp=0x81|tmp;
Sclk=0;
delay();
Rst=1;
delay();
writecmd(tmp);//read address
i=8;
while(i--)
{
tmp=tmp>>1;	
Sclk=0;
delay();
tmp1=0;
tmp1=Io;
delay();
tmp1=tmp1<<7;
tmp=tmp|tmp1;
Sclk=1;
delay();
}
Rst=0;
delay();
Sclk=0;
delay();
return tmp;
}
void writetime(uchar hms,uchar mode)
//modee=5,4,3,2,1,0::year,month,d,h,minute,second
//write hour,minute,second to 1302
{
uchar tmp;
mode=mode<<1;
tmp=0x80|mode;
Sclk=0;
delay();
Rst=1;
delay();
writecmd(tmp);//address
writecmd(hms);	//data
Rst=0;
delay();
Sclk=0;
delay();
}
//1302 cmd 
void writecmd(uchar cmd) //write cmd,need initialize the signal
{
uchar i=8;
bit tmp;
while(i--)
{
	Sclk=0;
	delay();
	tmp=cmd&0x01;
	Io=tmp;
	delay();
	Sclk=1;
	cmd=cmd>>1;
}
}

⌨️ 快捷键说明

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