Ich hab mir nun folgendes Programm erarbeitet. Die Temperatur haut schonmal ganz gut hin. Allerdings hab ich es immer noch nicht hinbekommen eine weiter Stelle der 7-Segment-Anzeige anzusprechen. Hier soll einfach ein "°" angezeigt werden. Den Code in der Timer-Routine hab ich immer noch nicht ganz verstanden. Vielleicht kann mir jemand auf die Sprünge helfen.
Code:$regfile = "M8def.dat" $crystal = 4000000 '--------Segmente--------------- Config Portd = Output Portd = 1 '----------Anode Display--------- Config Portb = Output Digit1 Alias Portb.1 Digit2 Alias Portb.2 Digit3 Alias Portb.3 Portb = 0 '---------AD-Wandler Config------------- Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc '--------Timer Config---------------- Dim A As Byte 'Umschaltung einer/zehner A = 1 Config Timer0 = Timer , Prescale = 64 On Timer0 Timer_routine Enable Timer0 Enable Interrupts Dim Messung As Word Dim Stelle(3) As Word Dim I As Byte Dim X(11) As Byte Restore Segmente For I = 1 To 10 Read X(i) Next I Do Messung = Getadc(0) * 64 Messung = Messung / 101 Messung = Messung - 151 Stelle(1) = Messung / 10 Incr Stelle(1) Stelle(2) = Messung Mod 10 Incr Stelle(2) Loop End Timer_routine: Portb.a = 0 'Vorherige Stelle ausschalten Incr A 'Neue Segmente ausgeben If A = 3 Then A = 1 Portd = X(stelle(a)) Portb.a = 1 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 Grad Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10 , &H63







Zitieren

Lesezeichen