Operácie

AVR Example1.c: Rozdiel medzi revíziami

Z SensorWiki

(Nová stránka: <source lang="c"> **************************************************************************: : /*...)
 
 
(3 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.)
Riadok 4: Riadok 4:
 
/*  Monoliticke mikropocitace - Priklad 1.1                                  */
 
/*  Monoliticke mikropocitace - Priklad 1.1                                  */
 
/*                                                                            */
 
/*                                                                            */
/*  Program zasvieti/zhasne LED na PD5 podla stavu prepinaca na PD2           */
+
/*  Program zasvieti/zhasne LED na PB5 podla stavu prepinaca na PB4           */
 
/*                                                                            */
 
/*                                                                            */
 
/*  Autor: Richard Balogh <balogh@elf.stuba.sk>                              */
 
/*  Autor: Richard Balogh <balogh@elf.stuba.sk>                              */
 
/*  Historia:                                                                */
 
/*  Historia:                                                                */
/*            19.2.2006 prva pokusna verzia                                   */
+
/*            19. 2.2006 prva pokusna verzia                                 */
/*  Prenositelnost:                                                           */
+
/*            12.10.2012 uprava pre Acrob/Arduino (PD->PB)                    */
 +
/*  Verzia:                                                                   */
 +
/*            studentska, vynechane konkretne hodnoty                        */
 
/*                                                                            */
 
/*                                                                            */
 
/* ************************************************************************** */
 
/* ************************************************************************** */
#include <avr/io.h>        // spolu s -mmcu=atmega16 nahra spravny .h subor
+
 
 +
#include <avr/io.h>        // spolu s -mmcu=atmega328 nahra spravny .h subor
 
                             // ktory potrebujeme kvoli PORTx, PINx a DDRx
 
                             // ktory potrebujeme kvoli PORTx, PINx a DDRx
  
Riadok 18: Riadok 21:
 
{
 
{
 
                        
 
                        
     DDRD = 0x??;          // bin: 1010 0010 1 = out, 0 = in
+
     DDRB = 0x??;          //  1 = Output, 0 = Input
     PORTD = 0x??;          // bin: 1x11 110x 1 = LED zhasni, 1 = pull-up ON
+
     PORTB = 0x??;          //  1 = LED zhasni, 1 = Pull-up ON
  
 
     do{
 
     do{
 
    
 
    
       if (PIND & 0x??)      // bin:  PIND & 0000 0100 = sw1 OFF?
+
       if (PINB & 0x??)      // bin:  PINB & 0001 0000 = sw1 OFF?
         PORTD |= 0x??;    // bin  PORTD + 0010 0000 = nastav PD5, LED OFF
+
         PORTB |= 0x??;    // bin: PORTB + 0010 0000 = nastav PB5, LED OFF
 
       else                  // t.j. ak sw1 ON:
 
       else                  // t.j. ak sw1 ON:
         PORTD &= 0x??;    // bin: PORTD & 1101 1111 = vynuluj PD5, LED ON
+
         PORTB &= 0x??;    // bin: PORTB & 1101 1111 = vynuluj PB5, LED ON
  
 
     } while(1);            // toto rob stale dokola
 
     } while(1);            // toto rob stale dokola
Riadok 33: Riadok 36:
 
}
 
}
 
</source>
 
</source>
 +
 +
 +
[[MMP_Cvi%C4%8Denie_2#Postup|Späť na cvičenie...]]
 +
 +
[[Category:AVR]][[Category:MMP]]

Aktuálna revízia z 07:15, 12. október 2012

/* ************************************************************************** */
/*                                                                            */
/*  Monoliticke mikropocitace - Priklad 1.1                                   */
/*                                                                            */
/*  Program zasvieti/zhasne LED na PB5 podla stavu prepinaca na PB4           */
/*                                                                            */
/*  Autor: Richard Balogh <balogh@elf.stuba.sk>                               */
/*  Historia:                                                                 */
/*            19. 2.2006 prva pokusna verzia                                  */
/*            12.10.2012 uprava pre Acrob/Arduino (PD->PB)                    */
/*  Verzia:                                                                   */
/*            studentska, vynechane konkretne hodnoty                         */
/*                                                                            */
/* ************************************************************************** */

#include <avr/io.h>         // spolu s -mmcu=atmega328 nahra spravny .h subor
                            // ktory potrebujeme kvoli PORTx, PINx a DDRx

int main (void)
{
                      
     DDRB = 0x??;           //  1 = Output, 0 = Input
    PORTB = 0x??;           //  1 = LED zhasni, 1 = Pull-up ON

    do{
   
      if (PINB & 0x??)      // bin:  PINB & 0001 0000 = sw1 OFF?
         PORTB |= 0x??;     // bin:  PORTB + 0010 0000 = nastav PB5, LED OFF
      else                  // t.j. ak sw1 ON:
         PORTB &= 0x??;     // bin: PORTB & 1101 1111 = vynuluj PB5, LED ON

    } while(1);             // toto rob stale dokola

    return (0);             // formalita, nikdy sem neprideme
}


Späť na cvičenie...