Exemplo n.º 1
0
 /* 
    Nombre: qtama
    Descripcion: establece el tamaño de la porcion de comida servida.
    Parametros: ninguno
    Retorna: entero sin signo
 */
unsigned short qtama () {
 unsigned short kp;
  qtama:

   do {
      kp = Keypad_Key_Click();             // Store key code in kp variable
      if (UART1_Data_Ready()){
         kp = UART1_Read();
         goto    bluetooth1;
         }
      }while (!kp);
    kp = teclado(kp);
    
    bluetooth1:

    if(kp == 'A' ||kp== 'B' ||kp== 'C'||kp== 'D'){
          Lcd_chr(2, 5, kp);

    do {
      kp = Keypad_Key_Click();             // Store key code in kp variable
      if (UART1_Data_Ready()){
         kp = UART1_Read();
         goto    bluetooth2;
         }
      }while (!kp);
      
    kp = teclado(kp);
    bluetooth2:
    
    if(kp == '#'){
    goto qtama;
    }
   }
  else {
  goto qtama;
  }
  return (kp);
 }
Exemplo n.º 2
0
unsigned short qtama () {
  unsigned short kp;
  qtama:
  
    do {
      kp = Keypad_Key_Click();
      if (UART1_Data_Ready()){
         kp = UART1_Read();
         goto    bluetooth1;
         }
    }while (!kp);
    kp = teclado(kp);
   
    bluetooth1:
    if(kp == 'A' ||kp== 'B' ||kp== 'C'||kp== 'D'){
      Lcd_chr(2, 4, kp);
      do {
        kp = Keypad_Key_Click();             // Store key code in kp variable
        if (UART1_Data_Ready()){
          kp = UART1_Read();
          goto    bluetooth2;
        }
      }while (!kp);
      kp = teclado(kp);
      
      bluetooth2:
      if(kp == '#'){
        goto qtama;
      }
      if(kp == '*'){
        Lcd_Chr (2,6,'G'); Lcd_Chr (2,7,'u'); Lcd_Chr (2,8,'a'); Lcd_Chr (2,9,'r');Lcd_Chr (2,10,'d');Lcd_Chr (2,11,'a'); Lcd_Chr (2,12,'d'); Lcd_Chr (2,13,'o');
      }
   }else {
     goto qtama;
   }
   return (kp);
 }
Exemplo n.º 3
0
unsigned short obtenerNumero (unsigned short numMax) {
  unsigned short dig, numero, kp;
  volverObtenerNumero:
  dig = 0;
  numero=0;
  
  leerNum:
  do {
      kp = Keypad_Key_Click();
      if (UART1_Data_Ready()){
        kp = UART1_Read();
        goto    bluetoothRead;
      }
    }while (!kp);
    kp = teclado(kp);
    
    bluetoothRead:
    if(kp == 'A' || kp== 'B' || kp == 'C' ||kp == 'D'){
      goto leerNum;
    }else if (kp != '#' && kp != '*'){
      dig++;
      numero =  numero*10  +  kp -48;
      //Lcd_Chr(2, 7+dig, kp);
    }
  
  //}while (numero > numMax && kp != '*'  && kp != '#');
  
  if(kp == '#'){               //si presiona numeral se borra el numero
    goto volverObtenerNumero;
  }else if (kp == '*' && numero > 0){
    //Lcd_Chr(2, 7, (numero+48));
    Lcd_Out(2, 1, "Valor guardado");
    delay();
  }else if (numero > numMax){
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Out(2, 1, "Se paso de valor maximo");
    delay();
    goto volverObtenerNumero;
  } else{
    goto leerNum;
  }

  return (numero);
}
Exemplo n.º 4
0
unsigned short obtenerNumero (unsigned short numeroMax) {
  unsigned short dig,numero,kp;
  volverObtenerNumero:
  dig = 0;
  numero=0;
  Lcd_chr(2, 5, ' '); Lcd_chr(2, 4, ' '); Lcd_chr(2, 3, ' '); Lcd_chr(2, 2, ' '); Lcd_chr(2, 1, ' ');
  
  leerNumero:
  do {
    kp = Keypad_Key_Click();             // Store key code in kp variable
    if (UART1_Data_Ready()){
      kp = UART1_Read();
      goto    bluetooth4;
    }
  }while (!kp);
  kp = teclado(kp);
  
  bluetooth4:
  if(kp == 'A' || kp== 'B' || kp == 'C' ||kp == 'D'){
    goto leerNumero;
  }else if (kp>=48 && kp<=57) {
    dig++;
    Lcd_chr_Cp(kp);
    numero = (kp-48)+(10*numero);
  }
  
  if(kp == '#'){
    goto volverObtenerNumero;
  }else if (kp == '*' ){
    Lcd_Chr (2,6,'G'); Lcd_Chr (2,7,'u'); Lcd_Chr (2,8,'a'); Lcd_Chr (2,9,'r');Lcd_Chr (2,10,'d');Lcd_Chr (2,11,'a'); Lcd_Chr (2,12,'d'); Lcd_Chr (2,13,'o');
    delay();
  }else if (numero >= numeroMax){
    //Lcd_Cmd(_LCD_CLEAR);
    Lcd_chr(2, 1,'M'); Lcd_chr(2, 2,'a'); Lcd_chr(2, 3,'x'); Lcd_chr(2, 5,'t');
    delay();
    delay();
    goto volverObtenerNumero;
  }else{
      goto leerNumero;
   }

   return (numero);
}
Exemplo n.º 5
0
void main() {


   unsigned short kp;
   int nscale=0;
   char txt[3];

        //initializing scale
   char scale[3][3];
   scale[0][0]='H';scale[0][1]='z';scale[0][2]=' ';
   scale[1][0]='K';scale[1][1]='H';scale[1][2]='z';
   scale[2][0]='M';scale[2][1]='H';scale[2][2]='z';
   TRISA= 0;
   TRISB=0;


  Lcd_Init();                              // Initialize LCD
  Lcd_Cmd(_LCD_CLEAR);                     // Clear display
  Lcd_Cmd(_LCD_CURSOR_OFF);                // Cursor off
  Lcd_Out(1, 1, "Freq:");                  // Write message text on LCD
  Lcd_Out(1, 14, "Hz");
  Lcd_Out(2,1,"Signal Generator");
  Keypad_Init();                           // Initialize Keypad
  while(1)
  {
          int freq_array[3]={0,0,0};
          unsigned long freq;

          kp=0;
          kp=Keypad_Key_Click();

          if(kp!=0 && kp!=1 && kp!=2)         //when any number is pressed
          {
                freq_array[0]=freq_array[1];
                freq_array[1]=freq_array[2];
                freq_array[2]=keyidentifier(kp);
                freq=100*freq_array[2]+10*freq_array[1]+freq_array[0];
                LongToStr(freq,txt);
                Lcd_Out(1,6,txt);
          }

          if(kp==2)         //when scale key pressed
          {
                if(nscale==2){
                        nscale=0;
                }
                else
                {
                        nscale=nscale+1;
                }
                Lcd_Out(1,14,scale[nscale]);
          }

          if(kp==1)         //when start is pressed
          {
                  if(nscale==2)
                  {
                          freq=freq*1000000;
                  }
                  else if(nscale==1)
                  {
                          freq=freq*1000;
                  }
                  else
                  {
                          freq=freq;
                  }

                  set_keyword(freq);
                  send_data_ad9850();
          }

  }

}
Exemplo n.º 6
0
void main() {
  char txt[16];
  trisc=0;
  portc=0;
  Keypad_Init();
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);

while(1){
lcd_out(1,1,"EnterTemp=");
x=0;

do{
    kp = 0;
    
    kp = Keypad_Key_Click();
     }
     while(!kp);
     
    switch (kp) {
    
      case  1: kp = 49;previous_value=1;break; // 1
      case  2: kp = 50;previous_value=2;break; // 2
      case  3: kp = 51;previous_value=3;break; // 3
      case  4: kp = 65;break;// A
      case  5: kp = 52;previous_value=4;break;// 4
      case  6: kp = 53;previous_value=5;break; // 5
      case  7: kp = 54;previous_value=6;break; // 6
      case  8: kp = 66;break; // B
      case  9: kp = 55;previous_value=7;break; // 7
      case 10: kp = 56;previous_value=8;break; // 8
      case 11: kp = 57;previous_value=9;break; // 9
      case 12: kp = 67;break; // C
      case 13: kp = 42;break; // *
      case 14: kp = 48;previous_value=0;break;// 0
      case 15: kp = 35;break; // #
      case 16: kp = 68;break; // D

    }
    if(kp==42&&x==0){      //clear the screen
    lcd_cmd(_lcd_clear);
    shift=10;
    first=1000;
    second=1000;
    third=1000;
    desired_temp=0;
    previous_value=0;
    get_temp=0;
    real_temp=0;
    kp=0;
    x=1;
    }



    

    if(first==1000&&second==1000&&third==1000&&kp!=35&&x==0){
    first=previous_value;
    shift++;
    lcd_chr(1,shift,kp);
    }
    else if(first!=1000&&second==1000&&third==1000&&kp!=35&&x==0){
    second=previous_value;
    shift++;
    lcd_chr(1,shift,kp);
    }
    else if(first!=1000&&second!=1000&&third==1000&&kp!=35&&x==0){
    third=previous_value;
    shift++;
    lcd_chr(1,shift,kp);
    }

    if(kp==35&&x==0){
    shift++;
    lcd_chr(1,shift,kp);
    delay_ms(1000);
    if(first!=1000&&second==1000&&third==1000){
    desired_temp=first;
    }
    else if(first!=1000&&second!=1000&&third==1000){
    first=first*10;
    desired_temp=first+second;
    }
    else if(first!=1000&&second!=1000&&third!=1000){
    first=first*100;
    second=second*10;
    desired_temp=first+second+third;
    }
    while(kp==35&&x==0){
     lcd_cmd(_lcd_clear);
     get_temp=adc_read(0);
     real_temp=(500.0*get_temp)/1023;
     inttostr(real_temp,txt);
     lcd_out(2,1,"RealTemp=");
     lcd_out_cp(txt);
     while(real_temp>desired_temp){
      get_temp=adc_read(0);
     real_temp=(500.0*get_temp)/1023;
     inttostr(real_temp,txt);
     lcd_out(2,1,"RealTemp=");
     lcd_out_cp(txt);
     ac_fan=1;
     lcd_out(1,1,"cooling");
     }
     while(real_temp<=desired_temp){
      get_temp=adc_read(0);
     real_temp=(500.0*get_temp)/1023;
     inttostr(real_temp,txt);
     lcd_out(2,1,"RealTemp=");
     lcd_out_cp(txt);
      ac_fan=0;
      lcd_out(1,1,"process done");
      lcd_out(2,1,"RealTemp=");
     lcd_out_cp(txt);
     }

    }
    


    

    
    
    
    
    

    }
}
}
Exemplo n.º 7
0
void main() {
    inicializar();
    opcionTemporizador = 0;//EEPROM_Read(0x00);
    numeroRepeticiones = EEPROM_Read(0x01);
    if  (opcionTemporizador ==0)
    {
        Lcd_Out(1, 1, "******Bienvenido******");
        Lcd_Out(2, 1, "Configure su PetFeeder");
        Delay_ms(250);
        for(i=0; i<6; i++) {               // Move text to the right 4 times
            Lcd_Cmd(_LCD_SHIFT_RIGHT);
            //Lcd_Out(1, 1, "Bienvenido. ");
            Delay_ms(250);
        }
        //Lcd_Out(1, 1, "Bienvenido. ");
        Delay_ms(1250);

        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1, 1, "Num. repeticiones");
        kp=0;
        do{
            if  (contNumero<=3 && numero<256){
                kp = Keypad_Key_Click();
                kp = obtenerValorKeyPad(kp);
                Lcd_Out(2, 1, textNumero);
                /*if (kp){
                    Lcd_Cmd(_LCD_CLEAR);
                    Delay_ms (250);
                    Lcd_Out(1, 1, "Verificando numero");
                    Delay_ms (250);
                    
                    if (numero>255) {
                        Lcd_Cmd(_LCD_CLEAR);
                        Lcd_Out(1, 1, "Exedio el numero ");
                        Lcd_Out(2, 1, "maximo: 255");
                        Delay_ms(2000);
                        Lcd_Cmd(_LCD_CLEAR);
                        Lcd_Out(1, 1, "Num. repeticiones");
                        limpiarTextNumero();
                        numero = 0;
                        contNumero =0;
                        kp = 0;
                    }
                } */
            }else{
                Lcd_Cmd(_LCD_CLEAR);
                Lcd_Out(1, 1, "Exedio el numero ");
                Lcd_Out(2, 1, "maximo: 255");
                Delay_ms(2000);
                Lcd_Cmd(_LCD_CLEAR);
                Lcd_Out(1, 1, "Num. repeticiones");
                limpiarTextNumero();
                numero = 0;
                contNumero =0;
                kp = 0;
            }

        }while (!kp);
        //opcionTemporizador=kp;
        Lcd_Cmd(_LCD_CLEAR);
        Lcd_Out(1, 1, "SALI");

    }
    //else
    //{
    //}
}
Exemplo n.º 8
0
void main() {
     int citajPrvBroj = 1;
     int broj1 = 0;
     int broj2 = 0;
     int suma;

     ANSEL = 0;
     ANSELH = 0;
     
     Lcd_Init();
     Lcd_Cmd(_LCD_CLEAR);
     do {
        char kp = 0;
        do {
           kp = Keypad_Key_Click();
        } while (kp == 0);
        
        switch (kp)
        {
          case 1: kp = '1'; break; // 1
          case 2: kp = '2'; break; // 2
          case 3: kp = '3'; break; // 3
          case 4: kp = '+'; break; // +
          case 5: kp = '4'; break; // 4
          case 6: kp = '5'; break; // 5
          case 7: kp = '6'; break; // 6
          case 8: kp = 'C'; break; // C
          case 9: kp = '7'; break; // 7
          case 10: kp = '8'; break; // 8
          case 11: kp = '9'; break; // 9
          case 12: kp = '='; break; // =
          case 13: kp = 'B'; break; // brisi
          case 14: kp = '0'; break; // 0
          case 15: kp = 'K'; break; // kraj
          case 16: kp = 'P'; break; //prikazi
        }
        
        if (kp >= '0' && kp <= '9') {
           if (citajPrvBroj) {
              broj1 = kp - '0';
           } else {
             broj2 = kp - '0';
           }
        } else if (kp == '+') {
          citajPrvBroj = 0;
        } else if (kp == '=') {
          suma = broj1 + broj2;
        } else if (kp == 'B') {
          if (citajPrvBroj) {
             broj1 = 0;
           } else {
             broj2 = 0;
           }
        } else if (kp == 'C') {
          broj1 = broj2 = suma = 0;
          citajPrvBroj = 1;
          Lcd_Cmd(_LCD_CLEAR);
        } else if (kp == 'P') {
          IntToStr(suma, text);
          Lcd_Out_CP(text);
        } else if (kp == 'K') {
          break;
        }
        Lcd_Chr_CP(kp);
     } while (1);
}