Die Info mit dem 10bit Prescaler hab ich aus nem Buch für Atmel-Programmierung. "....Timer0 ist ein 8-Bit-Timer mit einem vorgeschaltetem 10-Bit-Prescaler."
Das Schalten der Ausgänge für die Zehner/Einer hab ich so gelöst:
Trotz viel Lesen und probieren ist es mir aber noch nicht gelungen z.B. eine "10" darzustellen. Ich hab ein Paar Beispiele mit "Select Case" gesehen, hab sie aber nicht verstanden? Ist das eine Möglichkeit die ich verwenden sollte?Code:$regfile = "M8def.dat" $crystal = 1000000 '--------Segmente--------------- Config Portd = Output Portd = 1 '----------Anode Display--------- Config Portb = Output Digit1 Alias Portb.1 Digit2 Alias Portb.2 Portb = 0 '---------AD-Wandler Config------------- Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc '--------Timer Config---------------- Dim A As Byte 'Umschaltung einer/zehner Config Timer0 = Timer , Prescale = 8 On Timer0 Timer_routine Enable Timer0 Enable Interrupts Dim Messung As Integer Dim I As Byte Dim X(10) As Byte Restore Segmente For I = 1 To 10 Read X(i) Next I Do Messung = Getadc(0) / 103 'Wert vom ADC/103 in Variable speichern Portd = X(messung + 1) Loop End Timer_routine: Incr A 'Variable um 1 erhöhen Portb = A 'portb.1 /portb.2 an/aus schalten Return '--------------------------------------------------------------------------- Segmente: 'gemeinsame Anode: ' 0 1 2 3 4 5 6 7 8 9 'Data &H3F , &H6 , &H05B , &H04F , &H066 , &H06D , &H07D , &H7 , &H7F , &H6F 'gemeinsame kathode: ' 0 1 2 3 4 5 6 7 8 9 Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10







Zitieren

Lesezeichen