回覆列表
-
1 # 貝爾外道衝車
-
2 # daazhu1
這個很簡單,有兩種基本方法,
1、STC12-40P微控制器有36個IO口,你把這些LED一一對應串聯個電阻接在每個IO 口上面就能寫程式碼控制,這個最基本的程式碼,很簡單,看看教程,一天就學會了;
2、51微控制器用3-8譯碼器只要微控制器的12個IO口加上4片3-8譯碼器就能控制32個燈了;
還有其他複雜的方法我就不說了,總之一片微控制器控制幾百個led都可以的。
-
3 # 使用者3196995656495352
51微控制器的IO口接按鍵,實現外部觸發(外部中斷,高低電平,上下降沿),觸發後再透過IO控制LED的開關即可。
不用中斷一樣的實現,而且可以有多少個按鍵就可以有多少種流水燈方式。
你使用的鍵盤函式直接呼叫流水燈函式就可以。
比如使用獨立鍵盤,if(P1.1==0) light_water(); 然後:void light_water(){ num=1; for(a=0;a<8;a++) { P1.1=num<<1; delay(1000); //延時; keyboard();//執行時又不停掃描鍵盤函式; }}這樣就會有一個LED從右往左移動8次;那麼當第一次流水未完時,又呼叫第二個流水函式light_water1就能中斷當前執行的流水函式又去執行第二個流水燈函式了。希望我的回答能幫助到你。