Gast
#11980
Hallo Leute !
Ich bin gerade ziemlich am verzweifeln. Habe festellen müssen, das die
beiden Ain Eingäng gar keine AD-Converter sind ( natürlich erst nach dem
Ätzen :-(, ja ja ich weiß Datenblätter lesen...) Also hab ich noch eine
R-C Beschaltung vom Port B.2
nach Port B.0 auf die Platine "gebastelt", so wie es auch hier im Forum
schon erwähnt wurde. Nur leider bekomme ich mit meinem Programm nur
zufallszahlen.
hier der Code:
--------------------------
'Variables
Declare Sub Getadcvalue()
Dim Result As Byte
Dim Convertcomplet As Bit '1 wenn AD Wandlung fertig
'Ein Ausgänge Festlegen
Config Pinb.0 = Input 'ACI IN
Config Pinb.1 = Input 'ACI IN
Config Pinb.2 =output 'ANALOG OUT
Daout Alias Portb.2 ' D/A Ausgang
'...und Interrupts Festlegen
Enable Interrupts
Enable Aci
Config Timer0 = Timer , Prescale = 1024
Enable Timer0
On Aci Aci_int
On Timer0 Timer_int
Do
Call Getadcvalue() 'starte A/D
Wandlung
Do
Loop Until Convertcomplet = 1 'warte bis Wandlung komplett
Print Result 'Debug print
'........
'..........
' hier steht irgendwann mal die Display Ausgabe Routine
'..........
Loop
'*************************
'*AD Wandler start Routine
'****************************
Sub Getadcvalue
Daout = 1 'starte Ladevorgang
Tcnt0 = 0 'Timer zurücksetzen
Start Timer0 '..und starten
Convertcomplet = 0
End Sub
'******************************
'*Analog Comparator Interrupt
'******************************
Aci_int:
Disable Interrupts
Stop Timer0
Result = Tcnt0
Daout = 0
Waitms 10
Convertcomplet = 1
Enable Interrupts
Return
'****************************************
'* Timer Überlauf = Eingang out of Range
'**************************************
Timer_int:
Disable Interrupts
Stop Timer0
Result = 255
Daout = 0
Waitms 10
Convertcomplet = 1
Enable Interrupts
Return
---------------------------------
bin jetzt schon seit dem WE dran, und hab´s nicht
zum laufen gebracht ! Irgendwelche Ideen ?
- Falko
PS
Compiler: Bascom-AVR V1.11.6.4