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

📄 ds1302.h

📁 这是一个UCOS的AVR移植程序
💻 H
字号:

#ifndef DS1302_H
#define DS1302_H 1

#include <avr/io.h>

//DS1302
// 控制字
#define TIME_RTC_START		0x7F
#define TIME_RTC_STOP		0x80
#define WRITE_PROTECT_ON	0x80
#define WRITE_PROTECT_OFF	0x00
#define BURST_WRITE			0xBE
#define BURST_READ			0xBF

// 充电模式 ON_二极管数<1-2>_电阻<2-4-8>K

#define CHARGE_OFF			0x00

#define CHARGE_ON_1_0		0xA4
#define CHARGE_ON_1_1		0xA5
#define CHARGE_ON_1_2		0xA6
#define CHARGE_ON_1_3		0xA7
#define CHARGE_ON_2_0		0xA8
#define CHARGE_ON_2_1		0xA9
#define CHARGE_ON_2_2		0xAA
#define CHARGE_ON_2_3		0xAB


/**
 *  PORTB5 -> RST
 *  PORTB4 -> I/O
 *  PORTB3 -> SCK
**/

#define SET_TIMER_REST		(PORTB |= (1<<PORTB5))
#define CLR_TIMER_REST		(PORTB &= ~(1<<PORTB5))
#define SET_TIMER_SCLK		(PORTB |= (1<<PORTB3))
#define CLR_TIMER_SCLK		(PORTB &= ~(1<<PORTB3))

/* When data out */
#define SET_TIMER_IO		(PORTB |= (1<<PORTB4))
#define CLR_TIMER_IO		(PORTB &= ~(1<<PORTB4))
/* When data in */
#define GET_TIMER_IO		(PINB & (1<<PORTB4))

#define true		1
#define false		0

void writeChar(unsigned char data);
unsigned char readChar(void);
void setChipReg(unsigned char addr,unsigned char data);
unsigned char getChipReg(unsigned char addr);
void chipWriteProtect(unsigned char condition);
void chipClockStart(unsigned char condition);
void setChargeReg(unsigned char chargeMode);
void burstModeTimeWrite(unsigned char *pClock);
void burstModeTimeRead(unsigned char *pClock);

#endif

⌨️ 快捷键说明

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