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

📄 ds1302.h.bak

📁 MSP430 DS1302程序库
💻 BAK
字号:
/*
             DS1302.h
                    
             MSP430F149开发板DS1302时钟芯片主程序
                    
        说明:
                
             Copyright(c)2008, 323实验室 罗佳芳
             
             All rights reserved.
    
*/
#ifndef _DS1302_H_
#define _DS1302_H_

//DS1302内部寄存器的地址
#define DS1302_DataRegW     0x80    //DS1302时间写寄存器的起始地址,
                                    //秒,分,时,日,月,星期,年,按2添增
#define DS1302_DataRegR     0x81    //DS1302时间读寄存器的起始地址
                                     
#define DS1302_SecondRegW   0x80
#define DS1302_SecondRegR   0x81
#define DS1302_MinuteRegW   0x82
#define DS1302_MinuteRegR   0x83
#define DS1302_HourRegW     0x84
#define DS1302_HourRegR     0x85
#define DS1302_DayRegW      0x86
#define DS1302_DayRegR      0x87
#define DS1302_MonthRegW    0x88
#define DS1302_MonthRegR    0x89
#define DS1302_WeekRegW     0x8A
#define DS1302_WeekRegR     0x8B
#define DS1302_YearRegW     0x8C
#define DS1302_YearRegR     0x8D

#define DS1302_CmdRegW      0x8E     //DS1302的控制寄存器
#define DS1302_CmbRegR      0x8F

#define DS1302_TriChargerW  0x90  //绢流充电控制寄存器
#define DS1302_TriChargerR  0x91  

#define DS1302_RamW         0xC0     //DS1302内部RAM写的起始地址,共31个,依增添增2
#define DS1302_RamR         0xC1

#define HOUR_24             0        //24小时制   BIT7位控制
#define HOUR_12             1        //12小时制
#define HOUR_AM             0        //上午模式   BIT5位控制
#define HOUR_PM             1        //下午模式

//振荡器禁止允许
#define DS1302_ON           0
#define DS1302_OFF          1

//涓流充电
#define DS1302_TCSE         0xA0      //TCS使能涓流充电,高四位1010
#define DS1302_TCSNE        0xf0      //其它任何组合都禁止

#define DS1302_DS1          0x04      //二极管的数目选择,第二,三位,一个,其它任何组合都会禁止绢流使能
                                      //无论TCS位如何组合
#define DS1302_DS2          0x08      //两个

#define DS1302_RS1          0x01      //2k VCC1与VCC2之间电阻的选择,每0,1位.如果为0,
                                      //则绢流充电禁止,无论其它位如何组合
#define DS1302_RS2          0x02      //4k
#define DS1302_RS3          0x03      //8k  

#define DS1302_WriteEnable  DS1302_WriteRegByte(DS1302_CmdRegW,0x00)  //禁用写保护                                    
#define DS1302_WriteNEnable DS1302_WriteRegByte(DS1302_CmdRegW,0x80)  //启用写保护

//DS1302的初始化函数
void DS1302_Init(void);

//从DS1302的某一个寄存器读出数据
unsigned char DS1302_ReadRegByte(unsigned char addr);

//向DS1302的某一个寄存器写入一个数据
void DS1302_WriteRegByte(unsigned char addr,unsigned char wData);

//向DS1302写入日期数据
unsigned char DS1302_WriteDayData(unsigned char *dayData,unsigned char hourType,unsigned char AM_PM);

//从DS1302读出日期数据
void DS1302_ReadDayData(unsigned char *rDayData,unsigned char *hourType,unsigned char *AM_PM);

//DS1302振荡器工作允许或禁止
unsigned char DS1302_OnOff(unsigned char ON_OFF);

unsigned char DS1302_TrickleChargerSet(unsigned char TCS,unsigned char DS,unsigned char RS);

#endif

⌨️ 快捷键说明

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