跑馬燈,霹靂燈,廣告燈與BCB之左移,右移的關係為何? |
答題得分者是:dan59314
|
yangkissktop
一般會員 發表:13 回覆:29 積分:8 註冊:2003-10-25 發送簡訊給我 |
最近迷上單晶片
當嘗試由BCB連上並列埠再連上8255之A,B,C埠時
發現8位元處理有夠麻煩,程式又臭又長
請問各位高手有何高見? 條件
1.輸出8bit到某埠(對應8顆LED),bit0對應到最低位元LED
2.跑馬燈行進方式為單顆LED單方向循環
3.霹靂燈行進方式為單顆LED雙方向彈跳
4.廣告燈行進方式為間隔LED單方向循環
5.行進方向分左邊及右邊
6.驅動方式分低態(0燈亮)及高態(1燈亮)觸發 請問高手這3(燈種類)x2(行進方向)x2(驅動方式)種方法之位元處理
有沒有又快又精簡的寫法?(有沒有類似cyclic的函數?)
期待大內高手來訪喲!
------
yangkissktop |
dan59314
中階會員 發表:121 回覆:107 積分:86 註冊:2002-08-16 發送簡訊給我 |
|
yangkissktop
一般會員 發表:13 回覆:29 積分:8 註冊:2003-10-25 發送簡訊給我 |
|
yangkissktop
一般會員 發表:13 回覆:29 積分:8 註冊:2003-10-25 發送簡訊給我 |
|
yangkissktop
一般會員 發表:13 回覆:29 積分:8 註冊:2003-10-25 發送簡訊給我 |
|
dan59314
中階會員 發表:121 回覆:107 積分:86 註冊:2002-08-16 發送簡訊給我 |
引言: 啊!抱歉 我說的是BCB 例如:跑馬燈(昨天晚上沒睡覺想的) Byte &x; x = 0x01; for(;;) LeftCycle(x); void LeftCycle(Byte &x) { x = (x & 0x80) (x<<1); }基本上,您的 code 用到 bit 運算指令,應該就蠻簡潔、蠻快了。如果要更簡潔快速,可能可以考慮 inline assembly void LeftCycle(Byte &x) { asm { push EAX mov AL,x ror AL,1 //右旋 1 bit. mov x,AL pop EAX } } 其餘類推-----------------------,希望有幫助。 軟還要更軟,我的Artwork http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27674 Chinese Girl in Rhino3D http://rhino3d.com/gallery/figure/girl.htm |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |