Hallo,
ich habe Probleme den AnalogKomparator richtig einzusetzen. Mein Programm reagiert nicht auf einen Pegelwechsel.

Ein Pegelwechsel an PB2 (ADC1) soll vom Komparator erkannt werden. Bei jedem Pegelwechsel soll ein Relais wackeln (als Test). Verwendet werden soll die interne Referenz von 1,1V. Mein Pegel muss dann also deutlich größer oder kleiner 1,1V sein.
Wenn dass Programm die Mainloop erreicht hat, reagiert es nicht mehr

Vielleicht könnt ihr den Fehler in meinem Programm entdecken.

Danke Jörn

Code:
 'Pin1-PB5= Reset mit 100nF gegen Masse und 10k nach 5V
 'Pin2-PB3= Relais
 'Pin3-PB4= Relais
 'Pin4= GND
 'Pin5-PB0= (MOSI)
 'Pin6-PB1= (MISO)
 'Pin7-PB2= SCK    und Analogeingang für den AnalogKomparator  ADC1
 'Pin8= VCC  5V
 '
$regfile = "ATtiny13.dat"
$crystal = 9600000
$hwstack = 8
$swstack = 2
$framesize = 5

Stop Timer0
Stop Watchdog
Stop Adc

Dim Test01 As Byte
Test01 = 0
Ddrb = &B00011000

Ddrb = &B00011000
      Portb.4 = 1                                           'Relais als Test wackeln
      Portb.3 = 0
      Waitms 500
      Portb.4 = 0
      Portb.3 = 1
      Waitms 500
      Portb.4 = 1
      Portb.3 = 0
      Waitms 500

      Ddrb = &B00000000



Config Aci = On , Compare = Off , Trigger = Toggle


Adcsrb.acme = 1                                             'Analoge Comparator Multiplexer Enable
Acsr.acbg = 1                                               'Referenzspannung eingeschaltet
'Adcsra.aden = 0
Admux = 1                                                   'Analogeingang für den AC ist ADC1  d.h. PB2
Start Ac
On Aci On_aci

Enable Interrupts

Do



Loop


On_aci:
Test01 = Adcsr.aco

If Test01 = 0 Then
      Ddrb = &B00011000
      Portb.4 = 1
      Portb.3 = 0        'Relais als Test wackeln
      Waitms 500
      Portb.4 = 0
      Portb.3 = 1
      Waitms 500
      Portb.4 = 1
      Portb.3 = 0
      Waitms 500

      Ddrb = &B00000000
Else
      Ddrb = &B00011000
      Portb.4 = 0
      Portb.3 = 1        'Relais als Test wackeln
      Waitms 500
      Portb.4 = 1
      Portb.3 = 0
      Waitms 500
      Portb.4 = 0
      Portb.3 = 1
      Waitms 500


      Ddrb = &B00000000
End If

Return