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

📄 mudle1302._c

📁 ds1302事实时钟+12864液晶显示 4094
💻 _C
字号:
#include "ds1302.h"


void Delayus(uchar i)
 {
  while(--i);
  }
 
  


uchar ReadSec(void)    			
{
    return ReadRTC_Byte(0x81);
}
uchar ReadMin(void)    		
{
    return ReadRTC_Byte(0x83);
}
uchar ReadHour(void)
{
   return ReadRTC_Byte(0x85);
}
uchar ReadDate(void)
{
   return ReadRTC_Byte(0x87);
}

uchar ReadYear(void)
{
   return ReadRTC_Byte(0x8D);
}

uchar ReadMonth(void)
{
   return ReadRTC_Byte(0x89);
}
uchar ReadDay(void)
{
   return ReadRTC_Byte(0x8B);
}



void WriteSec(uchar number)    	
{
    WriteRTC_Byte(0x80,number);
}
void WriteMin(uchar number)    		
{
    WriteRTC_Byte(0x82,number);
}
void WriteHour(uchar number)    		//向DS1302中写入分字节
{
    WriteRTC_Byte(0x84,number);
}
void WriteYear(uchar number)    		//向DS1302中写入分字节
{
    WriteRTC_Byte(0x8C,number);
}
void WriteMonth(uchar number)    		//向DS1302中写入分字节
{
    WriteRTC_Byte(0x88,number);
}




uint ReadRTC_Byte(uchar address)    			
{
    unsigned char  redata;

	Clr_ds1302_rst;//ds1302_rst = 0; 			
    Clr_ds1302_clk;//ds1302_clk = 0; 				
    Set_ds1302_rst;//ds1302_rst = 1;				
    Write_bit(address);				
	redata=Read_bit();			
	Clr_ds1302_rst;//ds1302_rst = 0;
	Set_ds1302_clk;//ds1302_clk = 1; 
   return redata;				
}

void WriteRTC_Byte(uchar address,uchar number)   
{
    Clr_ds1302_clk;//ds1302_clk = 0;
    Clr_ds1302_rst;// ds1302_rst = 0;
	Set_ds1302_rst;//ds1302_rst = 1;  
    Write_bit(address);				 
	Write_bit(number);				
    Clr_ds1302_rst;//ds1302_rst = 0; 
	Set_ds1302_clk;//ds1302_clk = 1;
}
				




void Write_bit (uchar addr)				
{
  uchar i=0;
 for(i=8;i>0;i--){
	if((addr&0x01)==0x01)
	   Set_ds1302_data;//ds1302_dat = 1;
    else
		Clr_ds1302_data;//ds1302_dat = 0;
    Set_ds1302_clk;//ds1302_clk=1;
	Clr_ds1302_clk;//ds1302_clk=0;
	addr>>=1;
 }
}

uchar Read_bit ()				
{
  uchar i=0;
  uchar data_r=0;

  Set_ds1302_data;
  data_in;
  Delayus(15);

 for(i=8;i>0;i--){
	data_r>>=1;
	
	
	 if(data_in_read)
	{
		data_r|=0x80;
	}	
	Set_ds1302_clk;//ds1302_clk = 1;
 	
	Clr_ds1302_clk;//ds1302_clk = 0; 
 
  }
  
  data_out;
return data_r;
}

⌨️ 快捷键说明

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