|
昨天 近五點(diǎn)的時(shí)候播報(bào)了一下四點(diǎn)的音樂 (其余時(shí)間正常) 今天又上演了這一幕 我是截取的部分用的到的代碼
請(qǐng)大神幫我看看
void Read_Data(void)
{
Hour = BCD_16((Read_DS1302(0x85) & 0x3f)); //讀小時(shí)
Minute = BCD_16((Read_DS1302(0x83) & 0x7f)); //讀分鐘
Second = BCD_16((Read_DS1302(0x81) & 0x7f)); //讀分鐘
Year = BCD_16((Read_DS1302(0x8D)));
Month = BCD_16((Read_DS1302(0x89) & 0x1f));
Day = BCD_16((Read_DS1302(0x87) & 0x3f));
}
/**************************************************************************/
////////函數(shù):Read_DS1302;
////////內(nèi)容:讀DS1302指定地址數(shù)據(jù)
/**************************************************************************/
unsigned char Read_DS1302(unsigned char Add)
{
unsigned char Data;
OUT_SCLK; //時(shí)鐘和數(shù)據(jù)控制引腳輸出
OUT_SDATA;
OUT_CE;
asm("nop"); //延遲
asm("nop");
CE_0;
SCLK_0;
CE_1;
Write_Ds_Byte(Add); //寫地址
Data = Read_Ds_Byte(); //讀數(shù)據(jù)
SCLK_1;
CE_0;
return Data;
}
//讀取時(shí)間 并給語音模塊發(fā)送命令
void Time_read(void)
{
Read_Data(); //讀取時(shí)間
if(Hour == 9 && Minute == 0 && Second == 0)
{
if(Flag==1)
{
Flag=0;
Play_music(1); //指定Flash 文
}
}
else if(Hour == 11 && Minute ==59 && Second ==30)
{
if(Flag==1)
{
Flag=0;
Play_music(2); //指定Flash 文件
}
}
else if(Hour == 13 && Minute == 0 && Second == 0)
{
if(Flag==1)
{
Flag=0;
Play_music(3); //指定Flash 文件
}
}
else if(Hour == 16 && Minute == 0 && Second == 0)
{
if(Flag==1)
{
Flag=0;
Play_music(4); //指定Flash 文件
}
}
else if(Hour == 18 && Minute == 30 && Second == 0)
{
if(Flag==1)
{
Flag=0;
Play_music(5); //指定Flash 文件夾內(nèi)播放
}
}
else
{
Flag=1;
}
}
int main(void)
{
Init();
while(1)
{
Time_read();
if(SetTime_flag==1)
{
SetTime_flag=0;
DS1302_Init();
}
if(Copy_flag==1)
{
Copy_flag=0;
UART0_SendStr(Ta_1,5); //復(fù)制SD卡
}
}
}
|
|