'
====================================
'
Ecriture port série
'
DTR = broche 4 (bit 0 du registre 4)
'
====================================
Sub WriteBit0(valeur
As Integer)
Dim r As Integer
If valeur = 0 Then
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFE)
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFE)
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFE)
Else
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 1)
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 1)
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 1)
End If
End Sub
'
====================================
'
Ecriture port série
'
RTS = broche 7 (bit 1 du registre 4)
'
====================================
Sub WriteBit1(valeur
As Integer)
Dim r As Integer
If valeur = 0 Then
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFD)
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFD)
r =
outport(ComAdress + 4, inport(ComAdress + 4) And &HFD)
Else
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 2)
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 2)
r =
outport(ComAdress + 4, inport(ComAdress + 4) Or 2)
End If
End Sub
'
====================================
'
Ecriture port série
'
TxD = broche 3 (bit 6 du registre 3)
'
====================================
Sub WriteBit2(valeur
As Integer)
Dim r As Integer
If valeur = 0 Then
r =
outport(ComAdress + 3, inport(ComAdress + 3) And 191)
r =
outport(ComAdress + 3, inport(ComAdress + 3) And 191)
r =
outport(ComAdress + 3, inport(ComAdress + 3) And 191)
Else
r =
outport(ComAdress + 3, inport(ComAdress + 3) Or 64)
r =
outport(ComAdress + 3, inport(ComAdress + 3) Or 64)
r =
outport(ComAdress + 3, inport(ComAdress + 3) Or 64)
End If
End Sub
'
====================================
'
Initialisation du port série
'
Impulsion sur le bit 3 du registre 4
'
====================================
Sub InitCom()
Dim r As Integer
Dim i As Integer
r = outport(ComAdress
+ 4, 0)
r = outport(ComAdress
+ 4, 0)
r = outport(ComAdress
+ 4, 0)
r = outport(ComAdress
+ 4, 8)
r = outport(ComAdress
+ 4, 8)
r = outport(ComAdress
+ 4, 8)
r = outport(ComAdress
+ 4, 0)
r = outport(ComAdress
+ 4, 0)
r = outport(ComAdress
+ 4, 0)
' Vide le registre
à décalage
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
===============================================
'
Met à zéro tous les bits du registre à décalage
'
===============================================
Sub RazCom()
Dim r As Integer
Dim i As Integer
' Vide le registre
à décalage
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
===============================================
'
Met à zéro tous les bits du registre à décalage
'
Sauf le bit 4 (vitesse lente ou rapide)
'
===============================================
Sub RazComFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
'WriteBit0 1
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=====================
'
Ascension droite plus
'
(Bit 0)
'
=====================
Sub AdPlus()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit2 1 ' Latch
à 1
End Sub
'
======================
'
Ascension droite moins
'
(Bit 1)
'
======================
Sub AdMoins()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=================
'
Déclinaison plus
'
(Bit 2)
'
=================
Sub DecPlus()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
==================
'
Déclinaison moins
'
(Bit 3)
'
==================
Sub DecMoins()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=======================================
'
Ascension droite plus et vitesse rapide
'
(Bit 0 + 4)
'
=======================================
Sub AdPlusFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit2 1 ' Latch
à 1
End Sub
'
=======================================
'
Ascension droite mois et vitesse rapide
'
(Bit 1 + 4)
'
=======================================
Sub AdMoinsFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
==================================
'
Déclinaison plus et vitesse rapide
'
(Bit 2 + 4)
'
==================================
Sub DecPlusFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
==================================
'
Déclinaison mois et vitesse rapide
'
(Bit 3 + 4)
'
==================================
Sub DecMoinsFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=====================
'
Focalisation positive
'
(Bit 5)
'
=====================
Sub FocusPlus()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=====================
'
Focalisation négative
'
(Bit 6)
'
=====================
Sub FocusMoins()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
=======================================
'
Focalisation positive et vitesse rapide
'
(Bit 4 et 5)
'
=======================================
Sub FocusPlusFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub
'
====================================
'
Focalisation moins et vitesse rapide
'
(Bit 4 et 6)
'
====================================
Sub FocusMoinsFast()
Dim i As Integer
WriteBit2 0 ' Latch
à 0
For i = 1 To 8
WriteBit0
0 ' On écrit 0
WriteBit1
0 ' 8 impulsions sur la Clock
WriteBit1
1
Next
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 1 ' Ligne
d'entrée à 1
WriteBit1 1 ' Front
montant de la Clock
WriteBit1 0 ' Front
descendant de la Clock
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit0 0 ' Pousse
d'un cran
WriteBit1 1
WriteBit1 0
WriteBit2 1 ' Latch à 1
End Sub