?? pcf8563.h
字號:
#include"General.h"
#define CLKSDA_IN (P6DIR &= ~BIT6) //數據線口為輸入
#define CLKSDA_OUT (P6DIR |= BIT6) //數據線口為輸出
#define CLKSDA_1 (P6OUT |= BIT6) //SDA = 1
#define CLKSDA_0 (P6OUT &= ~BIT6) //SDA = 0
#define CLKSDA_VAL (P6IN & BIT6) //Read SDA
#define CLKSCL_IN (P6DIR &= ~BIT5) //時鐘線口為輸入
#define CLKSCL_OUT (P6DIR |= BIT5) //時鐘線口為輸出
#define CLKSCL_1 (P6OUT |= BIT5) //SCL = 1
#define CLKSCL_0 (P6OUT &= ~BIT5) //SCL = 0
#define PCF_CONTROL0 0X00
#define PCF_CONTROL1 0X01
#define MIN_ALARM 0x09
#define HOUR_ALARM 0x0a
#define YEAR_ALARM 0x0b
#define WEEK_ALARM 0x0c
#define MIN 0x02 //秒寄存器
#define SEC 0x03 //分寄存器
#define HOUR 0x04 //時寄存器
#define DAY 0x05 //日寄存器
#define WEEK 0x06 //周寄存器
#define MONTH 0x07 //月寄存器
#define YEAR 0x08 //年寄存器
#define READ_ADD 0xA3 // 讀器件地址
#define WRITE_ADD 0xA2 //寫器件地址
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
/**
typedef struct tgTime
{
uchar Year;//2000年為0,BCD格式
uchar Month;
uchar Date;
uchar Hour;
uchar Minute;
uchar Second;
} Time;
extern Time SysTime;
*****/
extern uchar g8563_store[7]; /*時間交換區,全局變量聲明*/
/*寫入時間初值:星期一 07:59:00*/
void P8563_init(void);
void iic_start(void);
void iic_stop(void);
void slave_ACK(void);
void slave_NOACK(void);
void check_ACK(void);
void IICSendByte(uchar ch);
uchar IICreceiveByte(void);
void write_CFGbyte(uchar CFG_add,uchar CFG_data);
uchar receive_CFGbyte(uchar CFG_add);
void receive_CFGNbyte(uchar CFG_add, uchar n,uchar * buff);
void P8563_Readtime(void);
void P8563_settime(void);
void Write_buffclk(uchar addr, uchar len,uchar * buff);
void Read_buffclk(uchar addr, uchar len,uchar * buff);
void ReadTimeDate(uchar *str);
void Init_Clk(void);
void iic_NoAcknowledge(void);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -