[程式設計] <VB簡易板子亮燈測試>



[程式設計] <VB簡易板子亮燈測試>

本帖最後由 Edwin 於 2010-6-14 20:54 編輯

哈囉大家好,對於這次水果機有自己焊板子的同學,在此提供一個簡單的程
式,可以測試每一顆燈是否正常。(我自己沒有焊..因為手殘QQ!!)

(一)首先要先加入 inpout32.dll 的模組。加入模組方法及程式碼寫法如下:

1.依序選擇功能表上    專案(P) 然後 加入模組(M) 出現範本(T)視窗後 再選擇模組
名稱就延用它的Module1.vb就可以了。
2.程式碼:
在方案總管視窗上Moudle1.vb點2下,進入編寫程式區塊,在Module Module1跟
End Module之間鍵入程式碼:

Public Declare Sub out Lib "inpout32.dll" Alias "Out32" _     
(ByVal portaddress As Integer, ByVal value As Integer)

注意要換行接續的寫法是先 空格 然後底線。
之後再把 inpout32.dll 檔丟到 C 槽 Windows資料夾裡的 system資料夾裡。

(二)主程式部份
在表單上拉一個 button ,一個 timer
然後程式碼如下:
Public Class Form1
    Dim sppt As Short
'======timer1 Tick事件======
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Timer1.Tick
        Timer1.Interval = 300
        sppt = IIf(sppt >= 8, 0, sppt)

             out(&H378, 2 ^ sppt)        '表示讓8顆燈依序個別亮。
             out(&H37A, 15)                '以下兩行意思為讓273負緣觸發,能產生動作
             out(&H37A, 0)

        sppt += 1
    End Sub
'======button1 click事件======
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
            
             out(&H378, 0)       '按下 Button1 時,先讓燈全部熄滅
             out(&H37A, 15)     '以下兩行意思為讓273負緣觸發,能產生動作
             out(&H37A, 0)      
        
             Timer1.Enabled = True
   
    End Sub

End Class


說明:

2^sppt 表示 2 的 sppt 次方,由於條件式sppt=IIF(sppt>=8,0,sppt)讓sppt
的值只會從 0 到 7 (當它為8時就變回0) 所以送給Port的值就能讓燈依序一次亮一
顆,大家可以開小算盤算看看~

最後這拆下來的程式我在家弄的,沒有工具插來試,不知道對不對(實作時有問題再
跟我討論呀QQ)
1

評分人數

  • gswdkimo


剛溫!

究"肝心"耶