Moin,
Ich hatte damals etwas Hilfe bekommen von jemandem, der sich mit Bascom auskennt und leider ist er jetzt sehr schwer zu erreichen, oder hat anschein keine Lust mehr ^^ Ich wollte das jetzt mal allein versuchen, aber mit etwas Hilfe von Euch.
Ich habe erst vor kurzem den AVR- Einstieg leicht gemacht durchgearbeitet und ein paar Befehle in Basecom Language Reference angeschaut. Ich will nur damit sagen, dass ich ziehmlich neu bin in solchen Sachen, aber mich schon mal darauf vorbereitet habe.
Mein Projekt ist ein Zielscheibensystem, dass automatisch aufleuchtet und während dessen getroffen werden kann, und danach eine andere Zielscheibe leuchtet. Alles soll mit Punkten bewertet werden. Natürlich soll dann eine Digitale Zahl zu sehen sein in typisch Roter leuchender Schrift.
Jetzt steh ich da mit einen Script von jemand anderem, den ich sogar zum Teil verstehe, aber irgendwie nicht so funktioniert wie vorgesehen.
Dieser Script gehört zum ATtiny2313 auf dem ATMEL Evaluations-Board Version 2.0.1
Code:
$regfile = "m8def.dat"
$crystal = 8000000
'***********************************************************************'
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Scheibe As Integer
Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Do
If Scheibe > 204 Then
Portd.0 = 1
Else
Portd.0 = 0
End If
If Scheibe > 408 Then
Portd.1 = 1
Portd.0 = 0
Else
Portd.1 = 0
End If
If Scheibe > 611 Then
Portd.2 = 1
Portd.1 = 0
Portd.0 = 0
Else
Portd.2 = 0
End If
If Scheibe > 615 Then
Portd.3 = 1
Portd.2 = 0
Portd.1 = 0
Portd.0 = 0
Else
Portd.3 = 0
End If
If Scheibe > 819 Then
Portd.4 = 1
Portd.3 = 0
Portd.2 = 0
Portd.1 = 0
Portd.0 = 0
Else
Portd.4 = 0
End If
Loop
End
'*************************************************************************
Config Int0 = Rising
Enable Int0
On Int0 On_int0
On_int0:
Scheibe = Getadc(0)
Return
'
Wir wollten das ADC ausnutzen.
Er sagte da nur, alle Scheiben müssten an den INT0 Pin angelegt werden und die LEDs an die anderen Pins. Nur scheint mir das etwas unlogisch zu sein und wollte euch mal fragen, wie ich das weiter machen könnte.
Ich möchte aber jetzt ein ATmega32 16PU 1218 verwenden und habe den Code umgeschrieben mit erstmal 3 Zielscheiben.
Code:
$regfile = "m8def.dat"
$crystal = 8000000
'***********************************************************************'
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Scheibe As Integer
Config Portd.0 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Do
If Scheibe > 204 Then
Portd.0 = 1
Else
Portd.0 = 0
End If
If Scheibe > 408 Then
Portd.5 = 1
Portd.0 = 0
Else
Portd.5 = 0
End If
If Scheibe > 611 Then
Portd.6 = 1
Portd.5 = 0
Portd.0 = 0
Else
Portd.6 = 0
End If
Loop
End
'*************************************************************************
Config Int0 = Rising
Enable Int0
On Int0 On_int0
On_int0:
Scheibe = Getadc(0)
Return
'
Könntet Ihr mir bitte weiter helfen?
Bis jetzt leuchtet keine LED
mfg EKI
Lesezeichen