Advertisement
Sawy3R11

Untitled

Apr 5th, 2017
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.72 KB | None | 0 0
  1. #include"lcd.h"
  2. #include"reg515.sfr"
  3.  
  4. unsigned int komutacje[3][8] = {{8,2,4,1,8,2,4,1}, {9,10,6,5,9,10,6,5},{8,10,2,6,4,5,1,9}};
  5. unsigned int rodzajKomutacji = 0;
  6. unsigned int pozycja = 0;
  7. unsigned int lewoPrawo = 1;
  8.  
  9.  
  10. _interrupt 5 void int_T2(void)
  11. {
  12.     TF2 = 0;
  13.        
  14.     P1 = komutacje[rodzajKomutacji][pozycja];
  15.    
  16.     if(lewoPrawo == 0){
  17.         pozycja--;
  18.         if(pozycja > 7)
  19.         pozycja = 0;
  20.         if(pozycja < 0)
  21.         pozycja = 7;
  22.  
  23.        
  24.     }  
  25.     if(lewoPrawo == 1){
  26.         pozycja++;
  27.         if(pozycja > 7)
  28.         pozycja = 0;
  29.          if(pozycja < 0)
  30.         pozycja = 7;       
  31.     }  
  32.  
  33.    
  34. }
  35.  
  36. void czekaj (unsigned int czas);
  37.  
  38. int main()
  39. {
  40.     unsigned int f = 0;
  41.     unsigned char znak;
  42.     unsigned int liczba=0;  
  43.     unsigned int flaga = 0;
  44.      
  45.     EAL = 1;
  46.     ET2 = 1;
  47.     T2I0= 1;
  48.     T2R1 = 1;
  49.    
  50.     lcd_init();
  51.     while(1)
  52.     {
  53.         znak = get_kb();
  54.         if(znak >= '0' && znak <= '9')
  55.         {
  56.  
  57.             if(flaga == 1)
  58.             {
  59.                 flaga =0;
  60.                 out_instr(1);
  61.             }
  62.  
  63.             out_char(znak);
  64.             liczba = 10*liczba + ((int)znak -48);
  65.         }
  66.         if(znak == 'e' && flaga == 0)
  67.         {
  68.             /*out_instr(1);
  69.             out_char((char)liczba); */
  70.            
  71.             f = liczba;
  72.             if(f < 17){
  73.              f= 17;
  74.             }
  75.             if(f > 600) {
  76.                 f = 600;
  77.             }
  78.  
  79.             CRCH = (0xFFFF - 1000000/f) >> 8;
  80.             CRCL = 1000000/f;
  81.            
  82.  
  83.            
  84.            
  85.            
  86.             liczba = 0;
  87.             flaga = 1;
  88.         }    
  89.  
  90.         if( znak == 'g'){
  91.              rodzajKomutacji++;
  92.         }
  93.         if( znak == 'd'){
  94.             rodzajKomutacji--;
  95.         }
  96.         if(rodzajKomutacji > 2){
  97.             rodzajKomutacji = 2;
  98.         }
  99.         if(rodzajKomutacji < 0){
  100.             rodzajKomutacji = 0;
  101.         }
  102.        
  103.         if(znak == 'l'){
  104.             lewoPrawo = 0;
  105.         }
  106.         if(znak == 'p'){
  107.             lewoPrawo = 1;
  108.         }  
  109.  
  110.         czekaj(15000);
  111.     }
  112.     return 0;
  113. }
  114.  
  115. void czekaj (unsigned int czas)
  116. {
  117.     unsigned int  i=0;
  118.     for(i; i<czas; i++);
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement