Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.10 KB | None | 0 0
  1. #include <reg515.sfr>
  2. #include <lcd.h>
  3.  
  4. int kom;
  5. int kom_id;
  6. int kier;
  7. int limp, freq;
  8.  
  9. int main()
  10. {
  11.     int i;
  12.     int j=0;
  13.     char k;
  14.     int l = 0;
  15.     kom=0;
  16.     kom_id=0; //0 - 1/4; 1 - 1/2
  17.     kier = 0;
  18.     freq = 14;
  19.    
  20.  
  21.     T2CON = 0x11;
  22.     IEN0 = 0xA0;
  23.  
  24.     lcd_init();
  25.     out_instr(0x1);
  26.  
  27.     out_char('1');
  28.     out_char('4');
  29.     out_instr(0xC0);
  30.  
  31.     while(1)
  32.     {
  33.         k = get_kb();
  34.  
  35.         if(k == 'b')
  36.             break;
  37.  
  38.         if(k == 'e') {
  39.             out_instr(0x1);  
  40.             if(l >= 14 || l <= 400) {
  41.                 freq = l;
  42.                 limp = 1000000/freq;
  43.                 CRCH = 65536 - limp;
  44.                 CRCH >> 8;
  45.  
  46.                 CRCL = 65536 - limp;
  47.             }
  48.             l = 0;
  49.             while(k!='\0') k = get_kb();
  50.             for(i = 0; i < 30000; i++);
  51.             continue;
  52.         }
  53.        
  54.         if(k=='g') {
  55.             if(kom_id < 2) kom_id++;
  56.             while(k!='\0') k = get_kb();
  57.             for(i = 0; i < 30000; i++);
  58.         }
  59.  
  60.         if(k=='d') {
  61.             if(kom_id > 0) kom_id--;
  62.             while(k!='\0') k = get_kb();
  63.             for(i = 0; i < 30000; i++);
  64.         }
  65.  
  66.         if(k=='l') {
  67.             kier = 1;
  68.             while(k!='\0') k = get_kb();
  69.             for(i = 0; i < 30000; i++);
  70.         }
  71.  
  72.         if(k=='r') {
  73.             kier = 0;
  74.             while(k!='\0') k = get_kb();
  75.             for(i = 0; i < 30000; i++);
  76.         }
  77.  
  78.         if(k!='\0' && k!='e' && k!='b' && k!='g' && k!='l' && k!='p' && k!='d')
  79.         {
  80.             l = l*10 + (k-48);
  81.             out_char(k);
  82.             while(k!='\0') k = get_kb();
  83.             for(i = 0; i < 30000; i++);
  84.         }                    
  85.     }
  86.    
  87.     out_instr(0x1);
  88.     out_char('s');
  89.     out_char('t');
  90.     out_char('o');
  91.     out_char('p');
  92.     return 0;
  93. }
  94.  
  95. _interrupt 5 void int_T2(void)
  96. {
  97.     int t14[8];
  98.     int t12[8];
  99.     int t38[8];
  100.  
  101.     TF2 = 0;
  102.  
  103.     t14[0] = 8;
  104.     t14[1] = 2;
  105.     t14[2] = 4;
  106.     t14[3] = 1;
  107.     t14[4] = 8;
  108.     t14[5] = 2;
  109.     t14[6] = 4;
  110.     t14[7] = 1;
  111.  
  112.     t12[0] = 9;
  113.     t12[1] = 10;
  114.     t12[2] = 6;
  115.     t12[3] = 5;
  116.     t12[4] = 9;
  117.     t12[5] = 10;
  118.     t12[6] = 6;
  119.     t12[7] = 5;
  120.  
  121.     t38[0] = 8;
  122.     t38[1] = 10;
  123.     t38[2] = 2;
  124.     t38[3] = 6;
  125.     t38[4] = 4;
  126.     t38[5] = 5;
  127.     t38[6] = 1;
  128.     t38[7] = 9;
  129.  
  130.  
  131.     switch(kom_id)
  132.     {
  133.         case 0:
  134.             P1 = t14[kom];
  135.             break;
  136.         case 1:
  137.             P1 = t12[kom];
  138.             break;
  139.         case 2:
  140.             P1 = t38[kom];
  141.             break;
  142.     }
  143.  
  144.     if(!kier) {
  145.         kom++;
  146.         if(kom == 8) kom = 0;
  147.     }
  148.     else
  149.     {
  150.         kom--;
  151.         if(kom == -1) kom = 7;
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement