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

📄 ds1302.c

📁 数字时钟的单片机开发
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
sbit sclk=P2^0;
sbit dat=P2^1;
sbit rst=P2^2;
 
 uchar readclk(void )
  {	 uint i;
     uchar temp=0;				   //读数据为控制指令字后下一个sclk脉冲的下降沿
	for(i=0;i<8;i++)
	 { 
	   temp>>=1;
	   if(dat)  temp|=0x80;
	   else;
	   sclk=1;
	   sclk=0;
	 }
  	return(temp);
   }
 void writeclk(uchar Data)
  {
      uint i;
	  for(i=0;i<8;i++)				//控制指令字输入后的下一个sclk时钟的上升沿时数据被写入DS1302
	  {
	    dat=Data&0x01;
		sclk=1;						 
		sclk=0;
		Data>>=1;
	   }
   }
 void writebyte(uchar addr,uchar Data)
  {
     addr&=0xfe;  //保证最低位为0写操作
  	 rst=0;sclk=0;rst=1;
	 writeclk(addr);
	 writeclk(Data);
	 rst=0;
   }
 uchar readbyte(uchar addr)
  {
	 addr|=0x01;  //保证最低位为1读操作
	 rst=0;sclk=0;rst=1;
	 writeclk(addr);
	 return( readclk());
	 rst=0;
   }

⌨️ 快捷键说明

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