Spce061a電路板問題(20點)

急,我嘗試在SPCE061A電路板的時鐘程式範例中想用LED七段顯示數字出來,我的LED是6個七段顯示,我知道7段顯示的原理但我不知道怎麼去抓取時鐘的數值且本身程式不太好,其程式字數太多所以只能貼一小段,希望高手幫忙!或是希望給予意見! //input: 時------16進制 //*********************************************************// PlaySpeakHour(int DayTemp) //*************時 { if(DayTemp>=1 &&... show more 急,我嘗試在SPCE061A電路板的時鐘程式範例中想用LED七段顯示數字出來,我...

//input: 時------16進制
//************************************...
PlaySpeakHour(int DayTemp) //*************時
{
if(DayTemp>=1 && DayTemp<=7)
{ PlayRespond(C_LINGCHEN); //1—7 淩晨
if(DayTemp==2) PlayRespond(C_S02); //兩
else PlayRespond(DayTemp+C_T00);
}

else if(DayTemp>=8 && DayTemp<=12)
{ PlayRespond(C_NOON); //8--12 上午
switch(DayTemp)
{ case 10:PlayRespond(C_T10); break; //十點
case 11:PlayRespond(C_T11); break; //十一點
case 12:PlayRespond(C_T12); break; //十二點
default: PlayRespond(DayTemp+C_T00);break;
}
}
else if(DayTemp>=13 && DayTemp<=19)
{ PlayRespond(C_AFTERNOON); //13--19 下午1--7
if(DayTemp==14) PlayRespond(C_S02); //兩
else PlayRespond(DayTemp-12+C_T00);
}

else if(DayTemp>=20 && DayTemp<=24)
{ PlayRespond(C_NIGHT); //20--24 晚上8--12
switch(DayTemp)
{ case 22:PlayRespond(C_T10); break; //十點
case 23:PlayRespond(C_T11); break; //十一點
case 24:PlayRespond(C_T12); break; //十二點
default: PlayRespond(DayTemp-12+C_T00);break;
}
}
PlayRespond(C_DIAN); //點
}
//input: 分 ------16進制
//************************************...
PlaySpeakMinute(int MinTemp) //*************分
{
if(MinTemp==0) PlayRespond(C_ZHENG); //正點
else
{ if((MinTemp/10)>1) PlayRespond(MinTemp/10+C_T00); //分的十位
if((MinTemp/10) >0) PlayRespond(C_T10); //分的十位大於1報,為1不報1
if((MinTemp%10)!=0) PlayRespond(MinTemp%10+C_T00); //分的個位不為0則報
PlayRespond(C_MIN); //分
}
}
Update: 可以解釋一下CPLD是什麼嗎
如果能用CPLD做出也可
2 answers 2