Advertisement
Guest User

Untitled

a guest
Nov 24th, 2010
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.33 KB | None | 0 0
  1. /* ------------------------------------------------------------
  2.   Titel : Projekt Rauchmelder
  3.  --------------------------------------------------------------
  4.  Funktion :  Zähler & Tasterentprellung
  5.  --------------------------------------------------------------
  6.  Prozessor : ATmega8
  7.  Taktfrequenz externer Quarz:    3,686411 MHz
  8.  Sprache : C
  9.  Datum : ©2010
  10.  Version : 1.1
  11.  ------------------------------------------------------------ */
  12.  
  13. #include <avr/io.h>
  14. #include <util/delay.h>
  15. #include <avr/interrupt.h>
  16.  
  17.  ISR (ANA_COMP_vect)                                 // Interrupt  Analog Comparator
  18.     {
  19.     PORTB  |= 0x04;
  20.     while(bit_is_set (PINB,2))
  21.      {
  22.       for(int x=0;x<=500;x++)
  23.        {
  24.         PORTB |= 0x02;
  25.         _delay_ms(2.5);
  26.         PORTB &=~ 0x02;
  27.         _delay_ms(2.5);
  28.        }
  29.      _delay_ms (200);
  30.      for(int y=0;y<=500;y++)
  31.       {
  32.        PORTB |= 0x02;
  33.        _delay_ms(3);
  34.        PORTB &=~ 0x02;
  35.        _delay_ms(3);
  36.       }
  37.      }
  38.     }
  39.  
  40. void main (void)
  41. {
  42.   DDRB  = 0x03;
  43.   PORTB = 0x04;
  44.   PORTD = 0x00;
  45.   DDRD  = 0x00;
  46.   ACSR  = 0x0b; // Analog Comparator Status Register
  47.   SFIOR = 0x08; // Multiplexer ACME Bit 1
  48.  
  49.     while (1)
  50.     {
  51.       PORTB = 0x01;
  52.    
  53.       _delay_ms(2500);
  54.       PORTB = 0x00;
  55.       _delay_ms(6000);
  56.      
  57.       ADMUX = 0; // Wert PINC0 einlesen
  58.       ADMUX = 1; // Wert PINC1 einlesen
  59.        
  60.       sei ();
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement