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

📄 ds12887.c

📁 DS12887时钟苡片
💻 C
字号:
//===
#define time_sec 0x00   	  	//秒时钟寄存器
#define time_secalm 0x01		//秒时钟闹铃寄存器
#define time_min 0x02		//分时钟寄存器
#define time_minalm 0x03		//分时钟闹铃寄存器
#define time_hour 0x04		//时时钟寄存器
#define time_houralm 0x05	//时时钟闹铃寄存器
#define time_data 0x06		//日期寄存器
#define time_week 0x07		//星期寄存器
#define time_month 0x08		//月寄存器
#define time_year 0x09		//年寄存器
#define time_A 0x0A			//ds12887寄存器A
#define time_B 0x0B			//ds12887寄存器B
#define time_C 0x0C			//ds12887寄存器C
#define time_D 0x0D			//ds12887寄存器D 
#define AS_DDR 0X04		
#define AS_PORT 0X04	
#define CS_DDR 0x01	
#define CS_PORT 0x01	
#define DS_DDR 0x10	 
#define DS_PORT 0x10		
#define RW_DDR  0x08	
#define RW_PORT 0x08	 			
#define AD_DDR DDRD	 			//AD(地址/数据服用线)的输入/输出控制
#define AD_PORT PORTD			//AD(地址/数据服用线)的输出电平控制
#define AD_PIN PIND				//AD(地址/数据服用线)的输入电平控制
//=============================
void ds12887_write(volatile uchar address,volatile uchar writeData)
{
    DDRB|=AS_DDR ;
   	PORTB&=~AS_PORT;
	DDRB|=DS_DDR ;
   	PORTB&=~DS_PORT;
	DDRB|=RW_DDR ;
   	PORTB&=~RW_PORT ;
	DDRB|=CS_DDR ;
   	PORTB|=CS_PORT ;
	PORTB|=DS_PORT ;
	PORTB|=RW_PORT  ;		
	PORTB&=~CS_PORT ;
	AD_DDR = 0xFF;
	AD_PORT = address;
	PORTB|=AS_PORT ;
	delay_ms(1);
	PORTB&=~AS_PORT;
	delay_ms(1);
	PORTB&=~RW_PORT ;
	AD_DDR = 0Xff;
	AD_PORT = writeData;
	//PORTB&=~RW_PORT ;
	delay_ms(2);
	PORTB|=RW_PORT ;
	PORTB|=CS_PORT ;
	PORTB|=AS_PORT ;
}
uchar ds12887_read(volatile uchar address)
{
 	uchar temp;
	DDRB|=AS_DDR ;
   	PORTB&=~AS_PORT;
	DDRB|=DS_DDR ;
   	PORTB&=~DS_PORT;
	DDRB|=RW_DDR ;
   	PORTB&=~RW_PORT ;
	DDRB|=CS_DDR ;
   	PORTB|=CS_PORT ;
	PORTB|=DS_PORT ;
	PORTB|=RW_PORT;
	PORTB&=~CS_PORT ;
	AD_DDR = 0XFF;
	AD_PORT = address; 		//发送地址
	PORTB|=AS_PORT ;
	delay_ms(1);
	PORTB&=~AS_PORT;
	delay_ms(2);
	PORTB&=~DS_PORT;
	AD_DDR = 0X00;
	AD_PORT = 0XFF;	   //高阻态模式
	temp = AD_PIN;
	PORTB|=DS_PORT ;
	PORTB|=CS_PORT ;
	PORTB|=AS_PORT ;
	return (temp);
}

⌨️ 快捷键说明

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