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

📄 iic.h

📁 在iic总线上挂载时间芯片PCF8563,也可用于对支持iic总线的EEPROM的芯片读写
💻 H
字号:

#ifdef VARS_IIC
      #define  EXTERN_IIC 
#else  
      #define  EXTERN_IIC  extern
#endif



//===========================================================================================================
//================================		常量声明		=====================================================
//===========================================================================================================
#define _Nop_() Delay(1)
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

/*---------------------------定义PCD8583有关地址-----------------------------*/
#define write_pcf8563       0xA2
#define read_pcf8563        0xA3
#define pcf8563_control1    0x00
#define pcf8563_control2    0x01
#define pcf8563_second      0x02
#define pcf8563_minute      0x03
#define pcf8563_hour        0x04        //B7=0/1--24/12h B6=0/1--AM/PM B5B4(ten hours 0 to 2) B3~B0(Unit hours)  
#define pcf8563_date        0x05        //B7B6(year 0 to 3) B5B4(ten days 0 to 3) B3~B0(Unit days)
#define pcf8563_week        0x06      //B7_B5(Weekdays 0 to 6) B4(ten months) B3~B0(Unit months)
#define pcf8563_month       0x07
#define pcf8563_year        0x08
#define pcf8563_min_arm     0x09
#define pcf8563_hou_arm     0x0a
#define pcf8563_dat_arm     0x0b
#define pcf8563_wek_arm     0x0c
#define pcf8563_clk_reg     0x0d
#define pcf8563_arm_reg     0x0e
#define pcf8563_tim_arm     0x0F

//===========================================================================================================
//================================		I/O声明		    =====================================================
//===========================================================================================================

//===========================================================================================================
//================================		函数声明		=====================================================
//===========================================================================================================
/**********************************************************************
* 函数名称: DlyMS
* 功能描述: 延时函数,延时ms毫秒
* 输入参数: ms:毫秒数
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void DlyMS(int ms);

/**********************************************************************
* 函数名称: hex_bcd
* 功能描述: 完成HEX(99以内)到BCD(两位)的确转换
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
uchar hex_bcd(uchar hex_value);

/**********************************************************************
* 函数名称: smbus_send
* 功能描述: 通过SMBus发送数据
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void smbus_send (uchar chip_select,byte_address,write_num);

/**********************************************************************
* 函数名称: smbus_receive
* 功能描述: 通过SMBus接收数据
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void smbus_receive (uchar chip_select,receive_num);

/**********************************************************************
* 函数名称: write_8563
* 功能描述: 写时间芯片pcf8563
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void write_8563(uchar ram_add,write_num);

/**********************************************************************
* 函数名称: read_8563
* 功能描述: 读时间芯片pcf8563
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void read_8563(uchar read_num);

/**********************************************************************
* 函数名称: set_clock
* 功能描述: 设置时间芯片pcf8563时间
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void set_clock(unsigned char xdata *p_XramAdd);

/**********************************************************************
* 函数名称: read_clock
* 功能描述: 读时间芯片pcf8563时间
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void read_clock(void);

/**********************************************************************
* 函数名称: init_pcf8563
* 功能描述: 时间芯片pcf8563初始化
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void init_pcf8563(void);

 /**********************************************************************
* 函数名称: init_pcf8563
* 功能描述: SMBUS中断服务程序
* 输入参数: none
* 输出参数: none
* 返 回 值: none
* 其它说明: none
* 修改日期      版本号     修改人	      修改内容
* --------------------------------------------------
*   
***********************************************************************/
void smbus(void);














⌨️ 快捷键说明

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