?? rtc_ds12887.h
字號:
#ifndef DEFINE_ON_AND_OFF_VALUE /* "DEFINE_ON_AND_OFF_VALUE" 條件編譯開始 */
#define DEFINE_ON_AND_OFF_VALUE
#define ON 1 /* 定義 ON 字符值為 1 */
#define OFF 0 /* 定義 OFF 字符值為 0 */
#endif /* "DEFINE_ON_AND_OFF_VALUE" 條件編譯結束 */
/*======================================================================================
下面這三條指令是用于與上面三條區分編譯系統為 C++ 或 C 的預處理指令相對應。用于指定
extern "C" 鏈接指示符作用域,此處的"}"與上面的"{"相對應,為鏈接指示符作用結束符。
======================================================================================*/
#ifdef __cplusplus
}
#endif
/*======================================================================================
RTC_DS12887.C 源程序文件中的函數原型聲明:
======================================================================================*/
#pragma used+
/*----------------------------------------------------------------------------
全局靜態變量聲明:
----------------------------------------------------------------------------*/
extern volatile Uchar8 tasks_time; /* 時間消息的任務變量 */
/* 時間消息的任務變量的各位定義如下:
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ BIT7 ┃ BIT6 ┃ BIT5 ┃ BIT4 ┃ BIT3 ┃ BIT2 ┃ BIT1 ┃ BIT0 ┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ 保留 ┃ 保留 ┃ 保留 ┃ 保留 ┃ 保留 ┃蜂鳴聲響┃鬧鐘告警┃時間更新┃
┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┛
*/
extern volatile Uint16 buzzer_alarm_counter; /* 蜂鳴器發出聲響次數 */
extern volatile BCD_TIME time; /* 系統時間結構變量 */
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制蜂鳴器發出聲響告警的操作,設定蜂鳴器頻率為 2000Hz 。
備注: 蜂鳴器設置為相應的控制引腳高電平時,蜂鳴器發出聲響。
----------------------------------------------------------------------------*/
void Buzzer(void);
#ifdef MCU_No_ExtendedParallelBus /* 無擴展并行總線結構單片機的條件編譯 */
/*----------------------------------------------------------------------------
函數功能: 本函數用于虛擬擴展并行總線結構的向外圍器件寫入數據操作。
函數入口參數:AccessAddress ------ 訪問的外圍器件地址。
WriteData ---------- 寫入的數據。
備注: 本函數僅可訪問外圍器件的地址數不超過256個。
----------------------------------------------------------------------------*/
void VEPB_WriteData(volatile Uchar8 AccessAddress, volatile Uchar8 WriteData);
/*----------------------------------------------------------------------------
函數功能: 本函數用于虛擬擴展并行總線結構的從外圍器件讀取數據操作。
函數入口參數:AccessAddress ------ 訪問的外圍器件地址。
函數出口參數:讀取的數據。
備注: 本函數僅可訪問外圍器件的地址數不超過256個。
----------------------------------------------------------------------------*/
Uchar8 VEPB_ReadData(volatile Uchar8 AccessAddress);
#endif /* "MCU_No_ExtendedParallelBus" 條件編譯結束 */
/*----------------------------------------------------------------------------
函數功能: 本函數用于外部中斷請求0中斷向量的初始化操作。
備注: ①.本函數僅在主函數中調用一次即可。
②.要使能中斷還必須在主程序中打開全局中斷使能功能,推薦其指令如下:
SREG |= BIT7; / * 使能全局中斷 * /
----------------------------------------------------------------------------*/
void external_INT0_initialization(void);
/*----------------------------------------------------------------------------
函數功能: 本函數用于 DS12887 鬧鐘中斷請求和更新周期結束中斷請求處理的中斷服務程序。
備注: ①.注意:由于本函數為中斷函數,故在調用和返回時無法進行明式數值傳遞,
因此將在函數體中隱式修改下面這幾個全局靜態變量數值。
⑴.時間消息的任務變量(tasks_time),用以通知系統執行相應的處理操作。
⑵.系統時間結構變量(time),從 DS12887 中讀取更新的系統時間數值。
②.本函數需在設置的 DS12887 中斷請求的中斷向量函數中調用。在調用之前
需對該中斷向量進行初始化,以使能該中斷。例:如使用外部中斷請求0,
可使用上面提供的 external_INT0_initialization() 函數進行初始化,
而將本本函數放在外部中斷請求0服務程序中。
----------------------------------------------------------------------------*/
void DS12887_INT_ISR(void);
/*----------------------------------------------------------------------------
函數功能: 本函數用于 DS12887 的各控制輸入/輸出引腳定義和初始狀態設置的初始化操作。
備注: 本函數僅在主函數中調用一次即可。
----------------------------------------------------------------------------*/
void RTC_DS12887_initialization(void);
/*----------------------------------------------------------------------------
函數功能: 本函數用于修改設置 DS12887 各個時標寄存器的時間數值(BCD 碼)操作。
函數入口參數:SET_BCD_Year_H ------ 設置的年前兩位時間數值(BCD碼)。
SET_BCD_Year -------- 設置的年時間數值(BCD碼)。
SET_BCD_Month ------- 設置的月份時間數值(BCD碼)。
SET_BCD_Date -------- 設置的日期時間數值(BCD碼)。
SET_BCD_Hour -------- 設置的小時時間數值(BCD碼)。
SET_BCD_Minute ------ 設置的分鐘時間數值(BCD碼)。
SET_BCD_Second ------ 設置的秒時間數值(BCD碼)。
SET_BCD_Week -------- 設置的星期時間數值(BCD碼)。
備注:
----------------------------------------------------------------------------*/
void SET_DS12887_TimeRegister(volatile Uchar8 SET_BCD_Year_H, /* 年前兩位 */
volatile Uchar8 SET_BCD_Year, /* 年 */
volatile Uchar8 SET_BCD_Month, /* 月份 */
volatile Uchar8 SET_BCD_Date, /* 日期 */
volatile Uchar8 SET_BCD_Hour, /* 小時 */
volatile Uchar8 SET_BCD_Minute, /* 分鐘 */
volatile Uchar8 SET_BCD_Second, /* 秒 */
volatile Uchar8 SET_BCD_Week); /* 星期 */
/*----------------------------------------------------------------------------
函數功能: 本函數用于控制 DS12887 鬧鐘打開/關閉的操作。
函數入口參數:AC_status ------ 僅可取二個值 ON 或 OFF 中的一個。
----------------------------------------------------------------------------*/
void DS12887_AlarmClock(Uchar8 AC_status);
/*----------------------------------------------------------------------------
函數功能: 本函數用于設置 DS12887 鬧鐘各個時標寄存器的時間數值(BCD 碼)操作。
函數入口參數:SET_BCD_HouAlm ------ 設置的分鐘鬧鐘時間數值(BCD碼)。
SET_BCD_MinAlm ------ 設置的小時鬧鐘時間數值(BCD碼)。
備注: ①.設置 DS12887 鬧鐘各個時標寄存器的時間數值后,將打開鬧鐘告警中斷。
②.本函數將秒鬧鐘時間數值自動設置為0秒。
----------------------------------------------------------------------------*/
void SET_DS12887_AlarmClock(Uchar8 SET_BCD_HouAlm, Uchar8 SET_BCD_MinAlm);
/*----------------------------------------------------------------------------
函數功能: 本函數用于鬧鐘告警中斷的任務時間消息處理操作。
函數入口參數:BAC_number ------ 蜂鳴器發出聲響次數值。
本函數還將在函數體中檢查隱含的全局靜態變量參數變量 tasks_time
(時間消息的任務)位1的布爾值而執行發出聲響告警操作。
備注: ①.本函數需要放在主函數的不間斷循環體中運行。
②.本函數在執行過程中將修改 tasks_time(時間消息的任務)變量的位1
和位2,與 buzzer_alarm_counte(蜂鳴器發出聲響次數)變量的數值。
----------------------------------------------------------------------------*/
void Tasks_AlarmClock(Uint16 BAC_number);
/*----------------------------------------------------------------------------
函數功能: 本函數用于時間更新中斷的任務時間消息處理操作。
函數入口參數:LCDM_ShowMode --- 在液晶上顯示日期和時間的點陣字符樣式選擇值。
共有下列兩種選擇值和點陣字符樣式供選擇:
入口參數= 8 :8×16點陣字符樣式。
入口參數= 16 :16×16點陣字符樣式。
本函數還將在函數體中檢查隱含的全局靜態變量參數變量 tasks_time
(時間消息的任務)位0的布爾值而執行時間更新操作。
備注: ①.本函數需要放在主函數的不間斷循環體中運行。
②.本函數在執行過程中將修改 tasks_time(時間消息的任務)變量的位0。
----------------------------------------------------------------------------*/
void Tasks_TimeUpdate(Uchar8 LCDM_ShowMode);
#pragma used-
/*======================================================================================
本頭部文件鏈接的庫文件。用于通知編譯器從下面庫文件中編譯或鏈接函數:
======================================================================================*/
#pragma library RTC_DS12887.lib
#endif /* "RTC_DS12887_H" 條件編譯結束 */
/*
****************************************************************************************
本頭部文件到此結束
****************************************************************************************
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -