Autor Tema: Combinar Programas  (Leído 1222 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Combinar Programas
« en: 29 de Mayo de 2009, 17:01:59 »
Disculpen estoy trabajando con mi red en 485 mas que pense en poder combinar mis programas mas que no se si este bien miren

Programa combinado

Código: C
  1. #include <18F4550.h>
  2. #device adc=8
  3. #include <math.h>
  4. #FUSES NOWDT
  5. #fuses NOMCLR,INTRC_IO,NOWDT,NOPROTECT,NOLVP
  6. #use delay(clock=8000000)
  7. #use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
  8. #use standard_io(c)
  9. #include <LCD.C>
  10. void main()
  11. {
  12.    int   q;
  13.    float p,T;
  14.    char recepcion;
  15.    char lectura;
  16.    byte pwm;
  17.    setup_adc_ports( AN0||VSS_VDD);       //Canal 0 analógico
  18.    setup_adc(ADC_CLOCK_INTERNAL);    //Fuente de reloj RC
  19.    set_tris_a(0x00);
  20.    setup_ccp2(CCP_PWM);
  21.    setup_timer_2(T2_DIV_BY_4, 99, 1);
  22.    lcd_init();
  23.    do{
  24.       set_adc_channel(0);           //Habilitación canal0
  25.       delay_us(20);
  26.       q = read_adc();                  //Lectura canal0
  27.       p = 5.0 * q / 256.0; //Conversión a tensión
  28.       T = p / 0.01 ;
  29.       printf(lcd_putc,"\fTemp = %01.2f C", T);
  30.       printf(lcd_putc,"\nVoltage = %01.2f V", p);
  31.       delay_ms(45);
  32.       recepcion=getchar();
  33.    if(recepcion=='R')
  34.    {
  35.    printf("%C",q);
  36.    delay_ms(45);
  37.    }
  38.    output_high(pin_c0);
  39.    output_low(pin_c1);
  40.       lectura=getchar();
  41.          if(lectura=='S'){
  42.          pwm=getc();
  43.          set_pwm2_duty(pwm);
  44.       }
  45.       if(lectura=='R'){
  46.       output_low(pin_c0);
  47.       output_high(pin_c1);
  48.       delay_ms(60);
  49.       }
  50.    }while(1);
  51. }

Y aqui estan sin combinar

Código: C
  1. //PROGRAMA QUE CONTROLA EL PWM DEL VENTILADOR.
  2. #include <18F4550.h>
  3. #fuses HS,NOWDT,NOPROTECT,NOLVP
  4. #use delay(clock=20000000)
  5. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
  6. #use standard_io(a)
  7. void main()
  8. {
  9.    char lectura;
  10.    byte pwm;
  11.    set_tris_a(0x00);
  12.    setup_ccp2(CCP_PWM);
  13.    setup_timer_2(T2_DIV_BY_4, 99, 1);
  14.    do{
  15.    output_high(pin_a0);
  16.    output_low(pin_a1);
  17.       lectura=getchar();
  18.          if(lectura=='S'){
  19.          pwm=getc();
  20.          set_pwm2_duty(pwm);
  21.       }
  22.       if(lectura=='R'){
  23.       output_low(pin_a0);
  24.       output_high(pin_a1);
  25.       delay_ms(60);
  26.       }
  27.    }while(1);
  28. }

Código: C
  1. //PROGRAMA PARA OBTENER LA CONVERSION DE TEMPERATURA DEL SENSOR.
  2. #include <18F4550.h>
  3. #device adc=8
  4. #FUSES HS,NOWDT,NOPROTECT,NOLVP
  5. #use delay(clock=20000000)
  6. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
  7. #define use_portb_lcd TRUE
  8. #include <LCD.C>
  9. void main()
  10. {
  11.    int   q;
  12.    float p,T;
  13.    char recepcion;
  14.    setup_adc_ports( AN0||VSS_VDD);       //Canal 0 analógico
  15.    setup_adc(ADC_CLOCK_INTERNAL);    //Fuente de reloj RC
  16.    lcd_init();
  17.    do
  18.    {
  19.       set_adc_channel(0);           //Habilitación canal0
  20.       delay_us(20);
  21.       q = read_adc();                  //Lectura canal0
  22.       p = 5.0 * q / 256.0; //Conversión a tensión
  23.       T = p / 0.01 ;
  24.       printf(lcd_putc,"\fTemp = %01.2f C", T);
  25.       printf(lcd_putc,"\nVoltage = %01.2f V", p);
  26.       delay_ms(45);
  27.       recepcion=getchar();
  28.    if(recepcion=='R')
  29.    {
  30.    printf("%C",q);
  31.    delay_ms(45);
  32.    }
  33.    } while(1);
  34. }

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Combinar Programas
« Respuesta #1 en: 29 de Mayo de 2009, 17:15:38 »
Parece estar bien a simple vista, tuviste algún problema?
No contesto mensajes privados, las consultas en el foro


 

anything