Hallo,
ich habe ein Platine mit ATtiny2313, LCD und Tastern. Wenn ein Taster gedrückt wird, soll der Taster auf dem LCD stehen.
zum meinem Problem:
wenn ich einen 8MHz Quarz benutze habe ich in wildem durcheinander die Taster auf dem LCD stehen und der µC bootet immerwieder neu.........
wenn ich den internen RC oszillator nutze läuft alles bestens...
(da ich aber noch mehr machen möchte soll ein Quarz mit 14,7456MHz rein - aber zum Vergleich ist es vielleicht einfacher erst mal den Fehler bei dem 8MHz Quarz zu finden)
Hardware ich habe es mit 2 Kontensatoren je 33pF und nun 22pF am Quarz getestet - kein Erfolg.
Fusebit KLA987: 111111 Ext.Crystal Osc.; Frequency 8.0- MHz Startuptime 14CK+65ms
ich habe auch schon verschiedene andere versucht....
Am Programm sollte es wohl auch nicht liegen(?).
Hat jemand eine Idee?
Tobias
Code:
'Konfiguration µC:
$regfile = "ATtiny2313.dat" 'ATtiny2313-Deklarationen
'$framesize = 24
'$swstack = 8
'$hwstack = 32
'$crystal = 14745600 'Quarz: 14,7456 MHz
$crystal = 8000000
$baud = 9600 'Baudrate definieren
'-------------------------------------------------------------------------------
'Ein / Ausgänge definieren:
Ddrd = &B1111111 'Pin PD5-0 als Eingang / 6 als Ausgang (LCD) konfigurieren
Ddrb = &B11111111
'PullUps setzen:
Portd = &B0111100 '1 = PullUp AKTIV
Portb = &B00100000 '1 = PullUp AKTIV
'-------------------------------------------------------------------------------
'LCD konfiguration
Config Lcd = 20 * 4 'LCD größe
Config Lcdpin = Pin , Rs = Portb.4 , E = Portb.3 , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portb.0 , Db7 = Portd.6
Cursor Off Noblink
'-------------------------------------------------------------------------------
'Alias
Taster1 Alias Pind.2
Taster2 Alias Pind.3
Taster3 Alias Pind.4
Taster4 Alias Pind.5
Taster5 Alias Pinb.5
'-------------------------------------------------------------------------------
Cls
Locate 1 , 1
Lcd "RS232 - LCD"
'-------------------------------------------------------------------------------
Do 'Hauptschleife
'Tasterabfrage:
If Taster1 = 0 Then
Print "Taster1"
Cls
Lcd "Taster1"
End If
If Taster2 = 0 Then
Print "Taster2"
Cls
Lcd "Taster2"
End If
If Taster3 = 0 Then
Print "Taster3"
Cls
Lcd "Taster3"
End If
If Taster4 = 0 Then
Print "Taster4"
Cls
Lcd "Taster4"
End If
If Taster5 = 0 Then
Print "Taster5"
Cls
Lcd "Taster5"
End If
Loop
'===============================================================================
'Pinbelegung µC
'===============================================================================
' AtmelATtiny2313
' +---U---+
' (Reset) PA2 +1 20+ Vcc +5V
' RS232 PD0 +2 19+ PB7 FREI
' RS232 PD1 +3 18+ PB6 FREI
' x x Xtal 2 / PA1 +4 17+ PB5 TASTER 5
' x x Xtal 1 / PA0 +5 16+ PB4 / LCD / RS
' T1 PD2 +6 15+ PB3 / LCD / E
' T2 PD3 +7 14+ PB2 / LCD / DB4
' T3 PD4 +8 13+ PB1 / LCD / DB5
' T4 PD5 +9 12+ PB0 / LCD / DB6
' GND +10 11+ PD6 / LCD / DB7
' +-------+
Lesezeichen