Ansteuerung LCD des Butterfly AVR mit BASCOM Demo 1.11.7.7
Hallo!
Ich möchte das doch recht vielseitige Entwicklungsboard Butterfly AVR mit BASCOM in Version 1.11.7.7 programmieren.
Zur Ansteuerung des LCDs gibt es eine Lib (LBX) "lcd_butterfly.lbx". Weiterhin gibt es unter /samples das Programm "m169_lcd.bas", welches die grundlegende Funktion zur Anzeige demonstrieren soll. Leider bricht bei mir dieses Programm mit Error Code 320 beim Syntaxcheck ab. Ich vermute, daß es irgendwas mit dem Label "Lcd_butterfly_data:" und dem folgenden Datenfeld zu tun haben muß, kann den Fehler aber nicht finden. Am Programm selbst habe ich nur die o.g. lib durch lbx ersetzt ansonsten aber keine Änderungen vorgenommen.
Das Problem tritt bei mir an unterschiedlichen Rechnern (WIN98 und XP) auf. Kann es mit den Beschränkung der Demo-Version zusammen hängen? Funktioniert bei anderen Usern dieses Sample-Programm?
Thomas!
Liste der Anhänge anzeigen (Anzahl: 1)
Hier erst einmal das dazugehörige Bas-File (incl. Tastaturabfrage und Tastenquittungston):
Code:
:'-------------------------------------------------------------------------------
' (c) 2004, MCS Electronics
' M169_LCD.BAS demonstrates LCD butterfly driver
'-------------------------------------------------------------------------------
$regfile = "m169def.dat"
$crystal = 8000000
$baud = 9600
$lib "lcd_butterfly.lbx"
'you need to dim this byte
Dim _butterfly_digit As Byte
Dim S As String * 6
Dim I As Byte
Dim Taster_nummer As Byte
Dim Pulses As Word , Periods As Word
Pulses = 256 : Periods = 100 'set variables
Speaker Alias Portb.5 'define port pin
Declare Sub Taster_1_routine
Declare Sub Taster_2_routine
Declare Sub Taster_3_routine
Declare Sub Taster_4_routine
Declare Sub Taster_5_routine
Config Pinb.4 = Input
Portb.4 = 1
Config Pinb.6 = Input
Portb.6 = 1
Config Pinb.7 = Input
Portb.7 = 1
Config Pine.2 = Input
Porte.2 = 1
Config Pine.3 = Input
Porte.3 = 1
'Config Serialin = Buffered , Size = 12
Restart:
Cls
S = "AVR"
Cls : Lcd "BASCOM" : Wait 2
Cls : Lcd S : Wait 1
Do
For I = 1 To 5
Taster_nummer = I
Select Case Taster_nummer
Case 1 : Debounce Pinb.6 , 0 , Taster_1_routine , Sub
Case 2 : Debounce Pinb.7 , 0 , Taster_2_routine , Sub
Case 3 : Debounce Pinb.4 , 0 , Taster_3_routine , Sub
Case 4 : Debounce Pine.2 , 0 , Taster_4_routine , Sub
Case 5 : Debounce Pine.3 , 0 , Taster_5_routine , Sub
End Select
Next
Loop
End
Sub Taster_1_routine
Gosub Tastenquittung
Cls : Lcd "NORD"
Print "NORD"
End Sub
Sub Taster_2_routine
Gosub Tastenquittung
Cls : Lcd "SUED"
Print "SUED"
End Sub
Sub Taster_3_routine
Gosub Tastenquittung
Cls : Lcd "SELECT";
End Sub
Sub Taster_4_routine
Gosub Tastenquittung
Cls : Lcd "WEST";
Print "WEST"
End Sub
Sub Taster_5_routine
Gosub Tastenquittung
Cls : Lcd "OST"
Print "OST"
End Sub
Tastenquittung:
Sound Speaker , Pulses , Periods 'make some noise
Return
Lcd_butterfly_data:
Data 0% ' space
Data 0% ' !
Data 0% '""
Data 0% ' #
Data 0% '$
Data 0% ' %
Data 0% ' &
Data 0% ' '
Data 0% ' (
Data 0% ' )
Data 0% ' *
Data 0% ' +
Data 0% ' ,
Data 0% ' -
Data 0% ' .
Data 0% '/
Data &H5559% ' 0
Data &H0118% '1
Data &H1E11% ' 2
Data &H1B11% ' 3
Data &H0B50% ' 4
Data &H1B41% ' 5
Data &H1F41% '6
Data &H0111% ' 7
Data &H1F51% ' 8
Data &H1B51% '9
Data 0% ':
Data 0% ';
Data 0% '<
Data 0% '=
Data 0% '>
Data 0% '?
Data 0% '@
Data &H0F51% ' A
Data &H3991% , &H1441% , &H3191% , &H1E41% , &H0E41% , &H1D41% , &H0F50% , &H2080% , &H1510% , &H8648% , &H1440% , &H0578%
Data &H8570% , &H1551% , &H0E51% , &H9551% , &H8E51% , &H9021% , &H2081% , &H1550% , &H4448% , &HC550% , &HC028% , &H2028% , &H5009%
hier das Hex-File dazu: