Advertisement
milanmetal

[RSDMK] Vezbe 3 // XOR i XNOR sa diodama i tasterima

Mar 27th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. #include <c8051f340.h>        
  2. #include "time.h"
  3.  
  4. // tasteri i LED diode
  5. sbit K1 = P2^0;                    
  6. sbit K2 = P2^1;    
  7. sbit D2 = P2^2;
  8. sbit D3 = P2^3;
  9.  
  10. void OSCILLATOR_Init (void);          
  11. void PORT_Init (void);
  12.  
  13. void main(void)
  14. {
  15.     bit dioda = 1;      //pomocna promenljiva za selekciju aktivne diode
  16.  
  17.     PCA0MD &= ~0x40;    // Watchdog tajmer iskljucen
  18.  
  19.     OSCILLATOR_Init();  // Inicijalizacija oscilatora (Fosc = 22.1184 MHz)
  20.     TIME_Init();        // Inicijalizacija sistemskog vremena (koristi se prekid tajmera 2)
  21.     PORT_Init();        // Inicijalizacija portova
  22.  
  23.     D2 = D3 = 1;
  24.  
  25.     //test aplikacija:
  26.     while (1)
  27.     {
  28.         if ((K1 == 0 && K2 == 1) || (K1 == 1 && K2 == 0)){  //pritisnut taster K1
  29.             dioda = 1;
  30.         } else {
  31.             dioda = 0;
  32.         }
  33.        
  34.         //if (K2 == 0)  //pritisnut taster K2
  35.             //dioda = 0;
  36.        
  37.         if (dioda)
  38.         {
  39.             //blink dode D2
  40.             D2 = 1;
  41.             D3 = 0;
  42.             //delay_ms(200);
  43.             //D2 = 0;
  44.             //delay_ms(200);
  45.         }
  46.         else
  47.         {
  48.             //blink dode D3
  49.             D3 = 1;
  50.             D2 = 0;
  51.         //  delay_ms(200);
  52.         //  D3 = 0;
  53.         //  delay_ms(200);
  54.         }
  55.     }                            
  56.  }
  57.  
  58. void PORT_Init (void)
  59. {
  60.    P2MDIN |= 0x0F;              // 4 najniza bita porta P2 -> digitalni
  61.    P2MDOUT = 0x0C;              // Pinovi za LED -> push-pull izlazi
  62.  
  63.    // Crossbar inicijalizacija
  64.    XBR1    = 0x40;              // Dozvola crossbar-a i slabih pull-up otpornika
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement