[問題]關於8051跑馬燈的問題

看板C_and_CPP (C/C++)作者 (放手)時間15年前 (2010/11/28 15:01), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
各位高手好 小弟最近開始在接觸單晶片C時 遇到一點問題 所以想請教各位 希望可以不吝指教 而我目前在撰寫跑馬燈的程式,想要執行的結果如下: ○○○●●○○○ ○○●○○●○○ ○●○○○○●○ ●○○○○○○● ●○○○○○○● ○●○○○○●○ ○○●○○●○○ ○○○●●○○○ 燈的起始位置在中間,分別往外移動 但目前程式寫完執行的結果如下: ○○○●○○○○ ○○●○○○○○ ○●○○○○○○ ●○○○○○○○ ○○○○●○○○ ○○○○○●○○ ○○○○○○●○ ○○○○○○○● ○○○○○○○● ○○○○○○●○ ○○○○○●○○ ○○○○●○○○ ○○○●○○○○ ○○●○○○○○ ○●○○○○○○ ●○○○○○○○ 以下為程式: while(1) { a=0x10; b=0x08; // <-------------- "0000" 0000 for(j=0;j<=3;j++) { P0=~a; //P0=a|b; delay(20000); a<<=1; } // --------------> 0000 "0000" //b=0x08; for(j=0;j<=3;j++) { P0=~b; delay(20000); b>>=1; } // <-------------- 0000 "0000" c=0x01; for(j=0;j<=3;j++) { P0=~i; delay(20000); c<<=1; } // -------------> "0000" 0000 d=0x80; for(j=0;j<=3;j++) { P0=~i; delay(20000); d>>=1; } ----------------------------------------------------------------------------- 單純的由第一個燈或最後的燈號移動 都可正常 所以想弄點花樣 但不知道這樣的寫法 該如何統整才可以完成我上述所說的跑法 希望有能者 可幫忙指教一下 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.10.150

11/28 16:22, , 1F
你的程式碼迴圈有四次,跑出你那樣子不奇怪吧
11/28 16:22, 1F

11/28 16:23, , 2F
照你的要求,你程式碼迴圈頂多就兩次或一次就夠了吧?
11/28 16:23, 2F

11/28 16:23, , 3F
再配合array取表法去做,一下就好了.
11/28 16:23, 3F

03/11 22:48, , 4F
查表法+1
03/11 22:48, 4F
文章代碼(AID): #1CyVuzbY (C_and_CPP)
文章代碼(AID): #1CyVuzbY (C_and_CPP)