|
Hier Schaltplan und Programmcode, kam leider nicht früher zum hochladen dazu!
$regfile = "ATtiny13.DAT"
$crystal = 128000 'Frequenz des internen Oszillators
Config Portb = &B00001000 'Pinb.3 auf 'Ausgang', Rest auf 'Eingang' schalten
Portb = 0 'Ausgänge auf Low setzen
Enable Interrupts
Dim Zeichen As String * 1
Morsen:
Do
Read Zeichen
Wdtcr = &B11010100 'Watchdog auf 250ms stellen
If Zeichen = "*" Then Gosub Kurz
If Zeichen = "-" Then Gosub Lang
If Zeichen = " " Then Gosub Leer
Wdtcr = &B11010011 'Watchdog wieder auf 125ms stellen
If Zeichen = "X" Then Return
Loop
Kurz:
Portb.3 = 1
Reset Watchdog
Powerdown
Portb.3 = 0
Reset Watchdog
Powerdown
Return
Lang:
Portb.3 = 1
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Portb.3 = 0
Reset Watchdog
Powerdown
Return
Leer:
Reset Watchdog
Powerdown
Reset Watchdog
Powerdown
Return
End
Daten:
Data " " , " " , " " ,
Data "*" , "*" , "*" , "*" , " " , " " ,
Data "*" , "-" , " " , " " ,
Data "*" , "-" , "-" , "*" , " " , " " ,
Data "*" , "-" , "-" , "*" , " " , " " ,
Data "-" , "*" , "-" , "-" , " " , " " ,
Data " " , " " , " " , " " ,
Data "*" , "*" , "*" , "*" , " " , " " ,
Data "*" , "*" , "-" , " " , " " ,
Data "-" , "*" , " " , " " ,
Data "-" , " " , " " ,
Data "*" , "*" , " " , " " ,
Data "-" , "*" , " " , " " ,
Data "-" , "-" , "*" , " " ,
Data "X"
| Dateianhänge: |
Dateikommentar: Morseschaltung

Morseschaltung.jpg [ 7.66 KiB | 326-mal betrachtet ]
|
|