看板 ASM 關於我們 聯絡資訊
是這樣的,最近我在做關於紅綠燈小綠人矩陣圖型的報告 而我朋友剛好有用 mikroC 這套軟體寫出簡單的單晶片(8051)小綠人動態掃描的程式。 可是我看不太懂,希望有高手可以幫忙解說程式碼。 ------------------------------------------------------------------------------ void main() { int key,count; char s[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //borad all lack oil const char l[4][8]= { { 0b10011111, 0b10011111, 0b11001111, 0b11000111, 0b10000111, 0b11100111, 0b11010111, 0b11001011 } , { 0b10011111, 0b10011111, 0b11000111, 0b11001011, 0b10000011, 0b11000111, 0b11011011, 0b10011001 } , { 0b10011111, 0b10011111, 0b11000011, 0b11001101, 0b00100111, 0b11000111, 0b10111011, 0b00111001 } , { 0b10011111, 0b10011111, 0b11000111, 0b11001011, 0b10000011, 0b11000111, 0b11011011, 0b10011001 } }; do { for(key=0;key<20;key++) { for(count=0;count<8;count++) { p1=s[count]; //掃描各排 p2=l[key/5][count]; //送各排字型 delay_ms(2); } delay_ms(30); } } while(1); } ------------------------------------------------------------------------------ 以下是用 Proteus海神 模擬的結果(圖): http://tinyurl.com/nhoub2 ------------------------------------------------------------------------------ PS.另外可否請板友將寫此程式碼的過程轉換成"流程圖"(可用箭頭→述說就好) EX:開始→設定陣列→....→結束 讓我更好理解來製作報告 麻煩您 -- 老化四徵兆 zzzz * \○/ (○ └□ " ○□═ □> √√ ╦══╦ |\ 坐著一直睡 躺著睡不著 舊的一直提 說過就忘記 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.181.46 ※ 編輯: d062637776 來自: 114.33.181.46 (08/31 04:51)
ruemann:你這個實際跑起來可能會覺得畫面會閃 08/31 06:49
ruemann:它的做法很簡單,就是每一個film約46ms(其中30ms是空白) 08/31 06:51
ruemann:然後每2ms跑一個掃描線,每個畫面由八條掃描線組合而成 08/31 06:51
ruemann:全部的動作只有四張圖,就這樣 08/31 06:52
ruemann:最後,根據我對8051的了解,這個線路實際上應該是推不動 08/31 06:55
ruemann:也就是應該看不到模擬的畫面(led的亮度會很弱或是沒有) 08/31 06:55
有用海神模擬過了http://tinyurl.com/nhoub2 ※ 編輯: d062637776 來自: 114.33.181.46 (08/31 21:43)
d062637776:模擬也是我朋友拉的 程式是專為模擬而寫 08/31 21:56