Hallo,
ich bin ein Neuling auf dem Gebiet der Mikrocontroller und habe mir zum
Einstieg einen Tiny2313 gekauft. Da ich Basic etwas beherrsche, möchte
ich in Bascom programmieren.
Zu meinem Problem habe ich leider keine Antwort gefunden (die MIR
geholfen hat), trotz suche im Forum und gesamtem Netz.
Ich möchte mit dem Komparator über einen NTC eine Temperatur messen und
beim überschreiten des Schwellwertes (über Poti eingestellt) einen Port
auf High schalten.
Die Beschaltung ist im Anhang und mein Programm sieht folgendermaßen
aus:
$regfile "ATtiny2313.dat"
$crystal = 4000000
DDRb = &B11111100
Luefterstufe Alias Portb.4
Config Aci = Off , Compare = Off , Trigger = Rising
'Oder muss ich ACSR = 0 schreiben?
Dim Temp As Byte
Do
Temp = Acsr
If Temp = $b00100000 Then
Luefterstufe = 1
Else
Luefterstufe = 0
End If
Loop
End
Sicher ist die Antwort sehr einfach, aber ich komme einfach nicht
drauf. Ich habe Code in C gesehen, aber das hat mir auch nicht
geholfen.
Mir würde ein kleiner Codeschnipsel ja schon reichen, den fummel ich mir dann zurecht. Ich kann aus der Manual überhaupt nicht erkennen, wie ich den AC überhaupt ansprechen muss! :(
Moin!
Ich hab zwar noch nie nen Komparator verwendet. Versuch mal das....:
$regfile "ATtiny2313.dat"
$crystal = 4000000
DDRb = &B11111100
Luefterstufe Alias Portb.4
Config Aci = Off , Compare = Off , Trigger = Rising
'Oder muss ich ACSR = 0 schreiben?
Dim Temp As Byte
Do
Temp = Acsr.5
If Temp = 1 Then
Luefterstufe = 1
Else
Luefterstufe = 0
End If
Loop
End
Moin moin,
das ging nicht, aber ich hab folgendes probiert (ASCR = 0 zur
Initialisierung) und: ET LÜPPT!
Danke!
$regfile "ATtiny2313.dat"
$crystal = 4000000
DDRb = &B11111100
Luefterstufe Alias Portb.4
Acsr = 0
Dim Temp As Byte
Do
Temp = Acsr.5
If Temp = 1 Then
Luefterstufe = 1
Else
Luefterstufe = 0
End If
Loop
End
Dann könntest Du dir wahrscheinlich sogar die Variable sparen.....
z.B.
$regfile "ATtiny2313.dat"
$crystal = 4000000
DDRb = &B11111100
Luefterstufe Alias Portb.4
Acsr = 0
Do
If Acsr.5 Then
Luefterstufe = 1
Else
Luefterstufe = 0
End If
Loop
End
Ansonsten solle Dir wohl klarsein das Du fuer diese Funktion garkein µC
brauchst, sondern einen "echten" Komparator haettest nehmen können.
mfg,
Bjoern
@Björn Jo, die Variable kann man auch sparen. Ich habe den uC genommen, weil der noch mehr Sachen ausser Vergleichen erledigt. Den Rest des Code hab ich nur weggelassen, damit es übersichtlicher ist. Sonst hätte ich einen LM324 oder so genommen.. Thx Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
