if (HEX_DEC(Read_DS1302_Byte(0xc5))==change(My_tmpdate[1])&HEX_DEC(Read_DS1302_Byte(0xc7))==change(My_tmpdate[2]))
{
ibell = 1; //打開蜂鳴器
WriteCommandLCM(0x80+0x40); //指定第二行
WriteCommandLCM(0x0d);//不顯示光標字符閃爍
}
else
{
ibell = 0; //關閉蜂鳴器
WriteCommandLCM(0x80+0x40); //指定第二行
WriteCommandLCM(0x0c);//不顯示光標并且不閃爍
}
}
if(Read_DS1302_Byte(0xc9)== 0x00)
{
WriteCommandLCM(0x80+0x40); //指定第二行
WriteDataLCM(0x20);
}
}
復制代碼
*************************************************
DS1302.H
************************************************
/*****************************************************************************
單片機IO接口定義是為配合本人的普中HC6800 V2.8開發板上的接口而定義。可以自行改動
DS1302 命令字節表
********************************************************************************************************************
READ I WRITE I BIT7 I BIT6 I BIT5 I BIT4 I BIT3 I BIT2 I BIT1 I BIT0 RANGE
81H I 80H I CH I 10 Seconds I Seconds I 00-59
83H I 81H I I 10 Minutes I Minutes I 00-59
85H I 84H I 12-24 I 0 I AM-PM I Hour I Hour I 1-12 0-23
87H I 86H I 0 I 0 I 10Date I Date I 1-31
89H I 88H I 0 I 0 I 0 I10 MonthI Month I I 1-12
8BH I 8AH I 0 I 0 I 0 I 0 I 0 I Day I 1-7
8DH I 8CH I 10 Year I Year I I 00-99
8FH I 8EH I WP I 0 I 0 I 0 I 0 I 0 I 0 I I --
91H I 90H I TCS I TCS I TCS I TCS I TCS I TCS I TCS I I --
********************************************************************************************************************/
/*
DS1302時鐘的寄存器,其中8個和時鐘有關的,5位地址分別是00000一直到00111這8個地址,還有一個寄存器的地址是01000,這是涓流充電所用的寄存器,我們這里不講。
在DS1302的數據手冊里的地址,直接把第七位、第六位和第零位值給出來了,所以指令就成了80H、81H那些了,最低位是1,那么表示讀,最低位是0表示寫.