Advertisement
Guest User

Untitled

a guest
May 21st, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.10 KB | None | 0 0
  1. #include "defs.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. #define C1 1
  6. #define C2 2
  7. #define C3 3
  8.  
  9. int main(){
  10.    unsigned char code_now= NOKEY, code_ante;
  11.    unsigned char kbhit=0,kbcode, loop_cnt=0;
  12.  
  13.    int lumi=50;  //luminozitatea
  14.    char buf_lumi[4];
  15.  
  16.    unsigned char stare = C1;
  17.    char buf_pit[4];
  18.    unsigned long int a,b,c;
  19.  
  20.      
  21.    sysinit();
  22.     TCCR0 = Ob01101100;
  23.       OCR0 = 256*lumi/100;
  24.  
  25.    while(1){
  26.       if(loop_cnt==200){
  27.          code_ante=code_now;
  28.          code_now = kbscan();
  29.          if(code_now! = NOKEY && code_ante== NOKEY ){
  30.             kbhit=1;
  31.             kbcode=code_now;
  32.          }
  33.          loop_cnt=0;
  34.       }
  35.  
  36.       //PWM start
  37.       if(kbhit  && (kbcode == 'C' || kbcode == 'D')){
  38.          if(kbcode == 'C'){
  39.                if(lumi < 100){
  40.                   lumi = lumi + 5;
  41.                   OCR0 = 256*lumi/100;
  42.                   //lumi=//...creste luminozitatea
  43.                   //...
  44.                }
  45.            
  46.          }
  47.          if(kbcode == 'D'){
  48.             //lumi=//...scade luminozitatea
  49.             //...
  50.             if(lumi > 0){
  51.                   lumi = lumi - 5;
  52.                   OCR0 = 256*lumi/100;
  53.             }
  54.            
  55.          }
  56.          gotoLC(2,1);
  57.          putsLCD("L=");
  58.          itoa(lumi, buf_lumi, 10);
  59.          putsLCD(buf_lumi);
  60.          putsLCD("%  " );
  61.       }
  62.       //PWM end
  63.  
  64.  
  65.       //c pitagoreic start
  66.       if( kbhit && kbcode>='0' && kbcode<='9'){
  67.          kbhit=0;
  68.  
  69.          switch(stare){
  70.             case C1:   //cifra 0
  71.                gotoLC(1, 1);
  72.                putsLCD("                ");
  73.                gotoLC(1, 1);
  74.                buf_pit[0]=kbcode;
  75.              //  scrie prima cifra
  76.                gotoLC(1,1);
  77.                putch(kbcode);
  78.                stare=C2;
  79.                break;
  80.  
  81.             case C2:
  82.                buf_pit[1]=kbcode;
  83.               // scrie a doua cifra
  84.                gotoLC(1,2);
  85.                putch(kbcode);
  86.                stare=C3;
  87.                break;
  88.          
  89.             case C3:
  90.                buf_pit[2]=kbcode;
  91.                buf_pit[3]='\0';
  92.               // scrie a treia cifra
  93.                gotoLC(1,3);
  94.                putch(kbcode);
  95.               // scrie "Busy... ," pe linia 1, din coloana 8
  96.                gotoLC(1,8);
  97.                putsLCD("Busy... ");
  98.               // calculeaza c
  99.                c = kbcode - 48;
  100.  
  101.                for(a = 1;a <= c; a++){
  102.                   for(b = 1; b<= c; b++){
  103.                     // verifica daca a^2 + b^2 = c^2
  104.                      if(a*a+b*b=c*c){
  105.                         spion = 1;
  106.                         goto Pyth_or_not;
  107.                      }
  108.                   }
  109.                }
  110.                
  111.      Pyth_or_not:
  112.                gotoLC(1,8);
  113.                if(spion == 1){
  114.                   putsLCD("PYTH    ");
  115.                }
  116.                else{
  117.                   putsLCD("nonPYTH ");
  118.                }
  119.                stare=C1;
  120.                break;
  121.          }//end switch    
  122.       }
  123.          // end c pitagoreic      
  124.  
  125.       kbhit=0;
  126.       loop_cnt++;
  127.    }//end while
  128. }//end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement