📄 isl1208.h
字号:
| 1001: 2Hz; |
| 1010: 1Hz; |
| 1011: 1/2Hz; |
| 1100: 1/4Hz; |
| 1101: 1/8Hz; |
| 1110: 1/16Hz; |
| 1111: 1/32Hz。 |
+-------------------------------------------------------------------------------------*/
#define REG_INTERRUPT 8 // 时钟控制寄存器。
#define AMALR_INTERRUPT 0x80
#define ALARM_ENABLED 0x40
#define LOW_POWER_MODE 0x20
#define BATTERY_NO_OUTPUT 0x10
// Fout/#IRQ 引脚输出方波频率选择常量:
#define FREQUENCY_NO_OUT 0x00
#define FREQUENCY_32768 0x01
#define FREQUENCY_4096 0x02
#define FREQUENCY_1024 0x03
#define FREQUENCY_64 0x04
#define FREQUENCY_32 0x05
#define FREQUENCY_16 0x06
#define FREQUENCY_8 0x07
#define FREQUENCY_4 0x08
#define FREQUENCY_2 0x09
#define FREQUENCY_1HZ 0x0A
#define FREQUENCY_1_2 0x0B
#define FREQUENCY_1_4 0x0C
#define FREQUENCY_1_8 0x0D
#define FREQUENCY_1_16 0x0E
#define FREQUENCY_1_32 0x0F
/*--------------------------------------------------------------------------------------+
| 保留寄存器 Reserved(地址:0x09)。 |
+-------------------------------------------------------------------------------------*/
#define REG_RESERVED 9
/*--------------------------------------------------------------------------------------+
| 振荡器调整控制寄存器 Trimming(地址:0x0A),用于控制芯片内部振荡器负载电容和供电状 |
| 态,以调整计时基准频率的准确性。 |
| bit7~6:BMATR 芯片不同工作电源负载电容(Cbat-Cvdd)控制。 |
| 00: 0pF(无差别); |
| 01: -0.5pF(≈+2ppm); |
| 10: +0.5pF(≈-2ppm); |
| 11: 1pF(≈+4ppm)。 |
| bit5~0:ATR 控制内部振荡器负载电容容量: |
| __ |
| 16×b5+8×b4+4×b3+2×b2+1×b1+0.5×b0+9 |
| Cload = ------------------------------------------------(pF) |
| __ 2 |
| b5=0 时,b5=1。例,ATR=0_0000 时,Cload=12.5pF;ATR=1_0000 时,则为 4.5pF。|
+-------------------------------------------------------------------------------------*/
#define REG_TRIMMING 10 //
/*--------------------------------------------------------------------------------------+
| 振荡器精度调整控制寄存器 Digital(地址:0x0B),用于数字方式调整芯片时钟计时精度。 |
| bit7~3:保留。 |
| bit2~0:DTR 调整范围确定。 |
| 000: 不调整(缺省值); |
| 001: +20ppm; |
| 010: +40ppm; |
| 011: +60ppm; |
| 100: 0; |
| 101: -20ppm; |
| 110: -40ppm; |
| 111: -60ppm。 |
+-------------------------------------------------------------------------------------*/
#define REG_COMPENSATE 11 // 计时补偿寄存器。
/*--------------------------------------------------------------------------------------+
| 闹钟秒寄存器 ASecond(地址:0x0C),用于设置/读取闹钟秒值。 |
| bit7: ESCA 闹钟秒检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测秒寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测秒寄存器值。 |
| bit6~0:Second BCD 十进制闹钟秒值。 |
+-------------------------------------------------------------------------------------*/
#define REG_ASECOND 12 // 闹钟秒值寄存器。
#define RTC_ALARM_ENABLE 0x80
/*--------------------------------------------------------------------------------------+
| 闹钟分寄存器 AMinute(地址:0x0D),用于设置/读取闹钟分值。 |
| bit7: EMNA 闹钟分检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测分寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测分寄存器值。 |
| bit6~0:Minute BCD 十进制闹钟分值。 |
+-------------------------------------------------------------------------------------*/
#define REG_AMINUTE 13 // 闹时钟分值寄存器。
/*--------------------------------------------------------------------------------------+
| 闹钟时寄存器 AHour(地址:0x0E),用于设置/读取闹钟的时值。 |
| bit7: EHRA 闹钟时检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测时寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测时寄存器值。 |
| bit6: 保留。 |
| bit5~0:Hour BCD 十进制闹钟时值。 |
+-------------------------------------------------------------------------------------*/
#define REG_AHOUR 14 // 闹钟时值寄存器。
/*--------------------------------------------------------------------------------------+
| 闹钟日寄存器 Date(地址:0x0F),用于设置/读取闹钟日值。 |
| bit7: EDTA 闹钟日检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测日寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测日寄存器值。 |
| bit6: 保留。 |
| bit5~0:Date BCD 十进制闹钟日值。 |
+-------------------------------------------------------------------------------------*/
#define REG_ADATE 15 // 闹钟日值寄存器。
/*--------------------------------------------------------------------------------------+
| 闹钟月寄存器 Month(地址:0x10),用于设置/读取闹钟月值。 |
| bit7: EMOA 闹钟月检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测月寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测月寄存器值。 |
| bit6~5:保留。 |
| bit4~0:Month BCD 十进制闹钟月值。 |
+-------------------------------------------------------------------------------------*/
#define REG_AMONTH 16 // 闹钟月值寄存器。
/*--------------------------------------------------------------------------------------+
| 闹钟星期寄存器 Week(地址:0x11),设置/读取闹钟星期值。 |
| bit7: EWKA 闹钟星期检测控制标志位。 |
| 1: 闹钟是否闹铃判断时检测星期寄存器值是否一致; |
| 0: 闹钟闹铃判断时不检测星期寄存器值。 |
| bit6~3:保留。 |
| bit2~0:Week BCD 十进制闹钟星期值。 |
+-------------------------------------------------------------------------------------*/
#define REG_AWEEK 17 // 闹钟星期值寄存器。
/*--------------------------------------------------------------------------------------+
| 用户自定义寄存器 UserDefined(地址:0x12~0x13),保存用户自定义参数。 |
+-------------------------------------------------------------------------------------*/
#define REG_USER_DEFINE0 18
#define REG_USER_DEFINE1 19
//==================================================================================
//ISL1208器件地址 iic总线使用
#define ADDR_ISL1208 0xde
//==================================================================================
//函数申明
extern uchar ISL1208_Init();
extern uchar ISL1208_ReadTime(uchar *time);
extern uchar ISL1208_WriteTime(uchar *time);
extern uchar ISL1208_OpenSound(uchar freq);
extern uchar ISL1208_CloseSound();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -