Hallo alle zusammen,
nun hab i mal keine Frage sondern wollte denen etwas gutes tun die sich mit dem Einstieg etwas schwehr tun.
Da ich selbst Einsteiger bin habe ich dieses Programm zusammengebastelt ohne jegliches glimbim. Hiermit kann man eine LED per Poti dimmen.
Vielleicht kann der eine oder andere sich dadurch den umgang mit der PWM bzw Timer funktion und dem ADC besser erklären.
Ich bin aber hauptsächlich auf den Timer eingegangen.
$regfile = "m8def.dat"
$crystal = 3686400
'Configuration des Timers also 10Bit Modus
'Ausgang schaltet erst auf Low dann auf high beim erreichen des Compare-Wertes
'Berechnung der Ausgangsfrequenz
'Ausgangsfreq.=(3686400 / 8 )/("max wert Variable hier 1024" x2)
'ergibt 460.8khz
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 8
'Config der Ports hier als Ausgang Pin 0 bei Port B
Config Portb.0 = Output
' Pin 0 Port C als eingang für das Poti
Config Pinc.0 = Input
'hier soll der Variablen "AD" ein Integer wert zugewiesen werden also 0-1024
Dim Ad As Integer
' Config des ADC
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'Starten des ADC
Start Adc
Do
'der Wert des ADC soll in die Variable AD gestekt werden
Ad = Getadc(0)
'der Wer der Variabeln AD soll für Pwm1a genutzt werden
Pwm1a = Ad
Loop
End
Hallo savag,
nicht schlecht, gut erklärt.
Ein Tipp von mir: für den ADC ist es immer besser eine Word Variable (0-65535) zu definieren, er kann nur positiven Werte von 0-1023 ausgeben. Wie die weitere Verarbeitung verläuft, auch negiert oder mit Fließkomma etc., kannst Du mit Hilfsvariablen erreichen. Der Integer kann Ganzzahlen von -32768 bis +32767 enthalten.
Gruß
Bonie
Danke bonie99
Wieder was dazu gelernt und die die es lernen wollen.
Gruß Mathias