VEndymionV

Dioda migająca co 500ms

May 6th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.74 KB | None | 0 0
  1. // Dioda migająca co 500ms
  2. #include <8051.h>
  3.  
  4. #define TIM 19456 // 50ms
  5. #define LEDS P2 // port diod
  6. #define LED P2.0 // konkretna dioda
  7.  
  8. unsigned char count = 1;
  9.  
  10. void timer1(void) __interrupt(3) __using(1){
  11.  
  12.     if(count == 10){
  13.         LED = !LED;
  14.         count = 1;
  15.     }
  16.     else
  17.         count++;
  18.  
  19.     TH1 = TIM / 256;
  20.     TL1 = TIM % 256;
  21.  
  22.     return;
  23. }
  24.  
  25. int main(void){
  26.  
  27.     LED = 0;
  28.     // Wartości timerów:
  29.     TH1 = TIM / 256;
  30.     TL1 = TIM % 256;
  31.     // Ustalenie trybu timera 1
  32.     TMOD = 0b00010000; // timer 1 w trybie 1 - 16 bitowym
  33.     // Włączenie timera 1
  34.     TR1 = 1;
  35.     // Włączenie przerwań
  36.     ET1 = 1; // włączenie przerwania timera 1
  37.     EA = 1; // włączenie przerwań - w ogóle
  38.     // Nieskończona pętla przerywana przerwaniami co 50ms
  39.     while(1);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment