關於8051單晶片C語言音樂控制 |
答題得分者是:foreman
|
mex007
一般會員 發表:1 回覆:1 積分:0 註冊:2008-05-26 發送簡訊給我 |
|
foreman
高階會員 發表:3 回覆:124 積分:190 註冊:2004-09-10 發送簡訊給我 |
大大:
這樣改如何? unsigned char key[2], unsigned char Length0=10; void T1_int(void) interrupt 3 { unsigned char k; TH1=(65536-50000)/256; TL1=(65536-50000)%6; key[1]=key[0]; key[0]=P2; k=key[1]&~key[0]; if (k&1) Length0--; if (k&2) Length0 ; if (k&4) Length0=10; if (k&8) No=0; if (Length0==0) Length0=1; if (Length0>20) Length0=20; if(--Length==0) { Length=Length0; if(--Beat==0) TimeOut=1; } } /* T1_int */ |
mex007
一般會員 發表:1 回覆:1 積分:0 註冊:2008-05-26 發送簡訊給我 |
|
foreman
高階會員 發表:3 回覆:124 積分:190 註冊:2004-09-10 發送簡訊給我 |
void T1_int(void) interrupt 3
{ unsigned char k; TH1=(65536-50000)/256; TL1=(65536-50000)%6; key[1]=key[0]; //key[1]上次按鍵值 key[0]=P2; //key[0]本次按鍵值 k=key[1]&~key[0]; //k=上次無按&本次有按 if (k&1) Length0--; //按P2.0 Length0減少, 音樂加速 if (k&2) Length0 ; //按P2.1 Length0增加, 音樂減速 if (k&4) Length0=10;//按P2.2音樂原速 if (k&8) No=0; //按P2.3音樂重新開始 if (Length0==0) Length0=1;//避免Length0變成255 if (Length0>20) Length0=20;//避免Length0大 if(--Length==0) { Length=Length0; if(--Beat==0) TimeOut=1; } } /* T1_int */ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |