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

📄 mudle1302.c

📁 mega8515通过的DS1302芯片使用程序
💻 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);
}



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);
}




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,num;
  uchar data_r=0;
  Delayus(15);//19us  delay
  data_in;


  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; 
  }
return data_r;
}

⌨️ 快捷键说明

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