Letztendlich sollte das doch auch so gehen mit der Wartezeit für das LCD ohne die main loop aufzuhalten ?
Code:$eeprom $eepromhex $regfile = "m32def.dat" ' Prozessortyp ATmega32 $crystal = 16000000 ' Taktrate $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 4800 Config Portb.2 = Output Led1 Alias Portb.2 Config Portb.3 = Output Led2 Alias Portb.3 Config Lcd = 20 * 2 Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4 Cls Cursor Off Config Timer0 = Timer , Prescale = 64 On Timer0 Timer_irq Const Timervorgabe = 6 Enable Timer0 Enable Interrupts Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Dim W As Word Dim Taktzaehler02 As Integer Dim Taktzaehler05 As Integer Dim Taktzaehler1000 As Integer Do If Timer0_flag = 1 Then Taktzaehler02 = Taktzaehler02 + 1 Taktzaehler05 = Taktzaehler05 + 1 Taktzaehler1000 = Taktzaehler1000 + 1 Timer0_flag = 0 End If If Taktzaehler02 = 200 Then Toggle Led1 Taktzaehler02 = 0 End If If Taktzaehler05 = 500 Then Toggle Led2 Taktzaehler05 = 0 End If If Taktzaehler1000 = 1000 Then W = Getadc(7) Locate 2 , 15 Lcd W ; " " Taktzaehler1000 = 0 End If Loop Timer_irq: Timer0 = Timervorgabe Timer0_flag = 1 Return End







Zitieren

Lesezeichen