電腦介面卡
與電腦連結方式
線路圖1
線路圖二
佈線步驟:
1.畫佈線圖及腳位表
2.插件:LED右紅左綠短腳在上,電阻金色在下,IC缺口在左、C4 (-)在下、
D17、D18黑線在上(※ 稽納二極體有標記的負端均朝上,並置於R17 與R18 下方)
3.焊接:
a.焊元件(IC、LED及電阻、電容、稽納二極體、晶體振盪器)
b.焊R1~R16
c.焊接地線:11點(黑線*11)
d.焊VCC:9點(紅線*8)
e.AD0~AD7(色線*16)
f.RCLK*1、GOE*2
g.焊USB 2,3腳(左下為第1腳,順時鐘),R17、R18、Q1、C1、C2
4.檢查:IC、LED、C4、D17、D18正負極是否方向正確。
5.測試:連接電腦,執行測試程式。
電腦介面卡視窗程式設計
'USB連接與輸出函式庫
Private Declare Function OpenUsbDevice Lib "USBIO.dll" (ByVal a As Integer, ByVal b As Integer) As Boolean
Private Declare Sub OutDataCtrl Lib "USBIO.dll" (ByVal a As Byte, ByVal b As Byte)
'公用變數宣告
Dim a, c As Integer 'a為按鈕編號(Green:1,Red:2,Exit:3),c為記錄燈號狀態
Dim r(20) As Byte, g(20) As Byte 'r(20):存放紅燈的燈號狀態 g(20):存放綠燈的燈號狀態
'載入程式:依題號預設燈號狀態,採10進位計算(以下範例為試題一)
Private Sub Form_Load()
r(0) = 1: r(1) = 2: r(2) = 4: r(3) = 8: r(4) = 16: r(5) = 32: r(6) = 64: r(7) = 128
g(0) = 1: g(1) = 3: g(2) = 7: g(3) = 15: g(4) = 31: g(5) = 63: g(6) = 127: g(7) = 255
End Sub
'程式結束時清除電路板燈號
Private Sub Form_Unload(Cancel As Integer)
OutDataCtrl 0, &H0: OutDataCtrl 0, &H30 '&H0:控制板子上的綠燈,&H30:控制板子上的紅燈,0:代表熄燈
End Sub
'紀錄按鈕編號,並把燈號狀態設為0
Private Sub Command1_Click(Index As Integer)
c = 0
a = Index + 1
'按EXIT按鈕 則結束程式
If a = 3 Then End
End Sub
'定時執行:每秒執行一次 (1,000 ms)
Private Sub Timer1_Timer()
'顯示系統時間
Label1.Caption = "Current Time:" & Time$
'取得連線結果
Dim conn As Boolean
conn = OpenUsbDevice(&H1234, &H6789) '連結USB到板子,成功 conn=1,失敗 conn=0
'設定畫面連結燈號顏色,若連結成功則程式亮暗色燈,前八顆為暗紅色,後八顆為暗綠色,連結失敗則為無色(不亮)
For i = 0 To 15
Shape1(i).FillStyle = IIf(conn, 0, 1)
Shape1(i).FillColor = IIf(i < 8, RGB(128, 0, 0), RGB(0, 128, 0))
Next
'依按鈕控制電路板亮燈
If a = 1 Then OutDataCtrl 0, &H30: OutDataCtrl g(c), &H0 '按鈕1:紅燈熄滅,PC板依序亮綠燈
If a = 2 Then OutDataCtrl 0, &H0: OutDataCtrl r(c), &H30 '按鈕2:綠燈熄滅,PC板依序亮紅燈
'依按鈕控制畫面亮燈控制
For i = 0 To 7
If a = 1 And (g(c) And 2 ^ i) Then Shape1(i + 8).FillColor = RGB(0, 255, 0) '依燈號狀態亮綠(8~15)燈
If a = 2 And (r(c) And 2 ^ i) Then Shape1(i).FillColor = RGB(255, 0, 0) '依燈號狀態亮紅(0~7)燈
Next
'往下一個狀態,最多15種狀態(試題9,10),
c = c + 1: If c > 14 Then c = 14
End Sub