Code:
$regfile = "2313def.dat"
$crystal = 4000000 'Taktfrequenz (Hz) festlegen
Dim Send As Byte , X As Byte , Digit As Byte
Dim A As Byte
_load Alias Portb.2 'Daten gueltig
_data Alias Portb.4 'Daten
_sdclk Alias Portb.5 'Takt
Ddrb = &B00110100 'Port B, 1=Ausgang
Portd = &B0000100
Rem Wait 1 'warten bis anzusteuernder Baustein bereit
Send = &B11000000 'Display init
Gosub Senden
Send = 228 'Dimmen 224=100% bis231
Gosub Senden
'---------------------------------------------------------------------------------------------------
Dim Z As Byte
Dim Zeichen As Integer 'Zeichencode für Decoder
Dim Temp As String * 1 'Zwischenspeicher für Stringbearbeitung
Dim Index As Integer 'Zeichenposition für Caraktergenerator
Dim Text As String * 8 'Testvariable (später Empfangspuffer)
Anfang:
Inputbin A
Select Case A
Case &H93 : Text = " TV "
Case &H0C : Text = " DVD "
Case &H81 : Text = " RADIO "
Case &H8A : Text = " SAT "
Case &H9F : Text = " CD "
Case &H91 : Text = " ATAPE "
Case &H85 : Text = " VTAPE "
Case &H3B : Text = " VTAPE2 "
Case &H7C : Text = " A-AUX "
Case &H4D : Text = " V-AUX "
Case &H01 : Text = "STANDBY "
Case Else Goto Anfang
End Select
Z = 1
Digit = 160
Do
Send = Digit 'Digit0 bis 8 =160,161,162,163,164,165,166,167
Gosub Senden
Digit = Digit + 1
Temp = Mid(text , Z , 1) 'Zeichen aus String lesen und in
Zeichen = Asc(temp) 'Zeichencode dez. umwandeln.
Z = Z + 1 'Durchlaufzähler erhöhen und dann im
'Zeichendecoder Zeichen decodieren.
Index = Lookdown(zeichen , Zeichendecoder , 32)
Index = Index - 1 'gefundene Position um 1 korrigieren und
Index = Index * 7 'Anfang im Caraktergenerator berechnen.
For X = 0 To 6 'Pro Zeichen 7 Spalten ausgeben. Dazu
Send = Lookup(index , Zeichensatz) 'Code holen und Zähler erhöhen. Dann
Gosub Senden
Incr Index
Next X
Loop Until Z > 8
Goto Anfang
'------------------------------Serielle Schnittstelle----------------------------------------------------------
Senden:
Reset _load 'bereit
Shiftout _data , _sdclk , Send , 3 '8Bit senden, LSB zuerst, Takt steigende Flanke
Set _load
'fertig
Return
' ****************************
' * Zeichenmapping *
' ****************************
Zeichendecoder:
Data $32 , $48 , $49 , $50 , $51 , $52 , $53 , $54 , $55 , $56 , $57
Data $65 , $66 , $67 , $68 , $69 , $70 , $85 , $72 , $73 , $89 , $75
Data $76 , $86 , $84 , $79 , $80 , $78 , $82 , $88 , $83 , $45
' ***************************
' * Zeichentabelle *
' ***************************
Zeichensatz:
Data &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 , &B00000000 ' 32
Data &B00000100 , &B00010101 , &B00010001 , &B00010001 , &B00010001 , &B00010101 , &B00000100 '0 48
Data &B00000100 , &B00001100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00001110 '1 49
Data &B00001110 , &B00010001 , &B00000010 , &B00000100 , &B00001000 , &B00010000 , &B00011111 '2 50
Data &B00011111 , &B00000001 , &B00000010 , &B00000110 , &B00000001 , &B00010001 , &B00001110 '3 51
Data &B00000010 , &B00000110 , &B00001010 , &B00010010 , &B00011111 , &B00000010 , &B00000010 '4 52
Data &B00011111 , &B00010000 , &B00010000 , &B00011110 , &B00000001 , &B00010001 , &B00001110 '5 53
Data &B00001111 , &B00010000 , &B00010000 , &B00011110 , &B00010001 , &B00010001 , &B00001110 '6 54
Data &B00011111 , &B00000001 , &B00000010 , &B00000100 , &B00000100 , &B00000100 , &B00000100 '7 55
Data &B00001110 , &B00010001 , &B00010001 , &B00001110 , &B00010001 , &B00010001 , &B00001110 '8 56
Data &B00001110 , &B00010001 , &B00010001 , &B00001111 , &B00000001 , &B00000001 , &B00011110 '9 57
Data &B00000100 , &B00001010 , &B00010001 , &B00011111 , &B00010001 , &B00010001 , &B00010001 'A 65
Data &B00011110 , &B00001001 , &B00001001 , &B00001110 , &B00001001 , &B00001001 , &B00011110 'B 66
Data &B00001110 , &B00010001 , &B00010000 , &B00010000 , &B00010000 , &B00010001 , &B00001110 'C 67
Data &B00011110 , &B00001001 , &B00001001 , &B00001001 , &B00001001 , &B00001001 , &B00011110 'D 68
Data &B00011111 , &B00010000 , &B00010000 , &B00011100 , &B00010000 , &B00010000 , &B00011111 'E 69
Data &B00011111 , &B00010000 , &B00010000 , &B00011100 , &B00010000 , &B00010000 , &B00010000 'F 70
Data &B00010001 , &B00010001 , &B00010001 , &B00010001 , &B00010001 , &B00010001 , &B00001110 'U 85
Data &B00010001 , &B00010001 , &B00010001 , &B00011111 , &B00010001 , &B00010001 , &B00010001 'H 72
Data &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 'I 73
Data &B00010001 , &B00010001 , &B00001010 , &B00001010 , &B00000100 , &B00000100 , &B00000100 'Y 89
Data &B00010001 , &B00010010 , &B00010100 , &B00100010 , &B00010100 , &B00010010 , &B00010001 'K 75
Data &B00010000 , &B00010000 , &B00010000 , &B00010000 , &B00010000 , &B00010000 , &B00011111 'L 76
Data &B00010001 , &B00010001 , &B00010001 , &B00001010 , &B00001010 , &B00000100 , &B00000100 'V 86
Data &B00011111 , &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 , &B00000100 'T 84
Data &B00001110 , &B00010001 , &B00010001 , &B00010001 , &B00010001 , &B00010001 , &B00001110 'O 79
Data &B00011110 , &B00010001 , &B00010001 , &B00011110 , &B00010000 , &B00010000 , &B00010000 'P 80
Data &B00010001 , &B00010001 , &B00011001 , &B00010101 , &B00010011 , &B00010001 , &B00010001 'N 78
Data &B00011110 , &B00010001 , &B00010001 , &B00011110 , &B00010100 , &B00010010 , &B00010001 'R 82
Data &B00010001 , &B00010001 , &B00001010 , &B00000100 , &B00001010 , &B00010001 , &B00010001 'X 88
Data &B00001110 , &B00010001 , &B00010000 , &B00001110 , &B00000001 , &B00010001 , &B00001110 'S 83
Data &B00000000 , &B00000000 , &B00000000 , &B00001110 , &B00000000 , &B00000000 , &B00000000 '- 45
[/php][/quote]
Lesezeichen