Autor Tema: problema con el segundo pwm en pic 18f4550..Ayuda  (Leído 1113 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cheemaa

  • PIC10
  • *
  • Mensajes: 2
problema con el segundo pwm en pic 18f4550..Ayuda
« en: 25 de Septiembre de 2014, 02:23:17 »
Buenas tardes o dias. soy novato en esto y les quiero pedir su ayuda no puedo hacer funcionar el segundo pmw el CPP2 en el pic 18F4550 si me pudieran ayudar este el cocdigo que tengo con el primero si me va muy bien pero con el segundo no lo puedo hacer funcionar si me pudieran ayudar gracias


Código: C
  1. #include <p18cxxx.h>
  2. #include <delays.h>
  3. #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)
  4. #pragma config CPUDIV   = OSC1_PLL2    
  5. #pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
  6. #pragma config FOSC     = HSPLL_HS
  7. #pragma config FCMEN    = OFF
  8. #pragma config IESO     = OFF
  9. #pragma config PWRT     = OFF
  10. #pragma config BOR      = ON
  11. #pragma config BORV     = 3
  12. #pragma config VREGEN   = ON            //USB Voltage Regulator
  13. #pragma config WDT      = OFF
  14. #pragma config WDTPS    = 32768
  15. #pragma config MCLRE    = ON
  16. #pragma config LPT1OSC  = OFF
  17. #pragma config PBADEN   = OFF
  18. #pragma config CCP2MX   = ON
  19. #pragma config STVREN   = ON
  20. #pragma config LVP      = OFF
  21. #pragma config ICPRT    = OFF       // Dedicated In-Circuit Debug/Programming
  22. #pragma config XINST    = OFF       // Extended Instruction Set
  23. #pragma config CP0      = OFF
  24. #pragma config CP1      = OFF
  25. #pragma config CP2      = OFF
  26. #pragma config CP3      = OFF
  27. #pragma config CPB      = OFF
  28. #pragma config CPD      = OFF
  29. #pragma config WRT0     = OFF
  30. #pragma config WRT1     = OFF
  31. #pragma config WRT2     = OFF
  32. #pragma config WRT3     = OFF
  33. #pragma config WRTB     = ON       // Boot Block Write Protection
  34. #pragma config WRTC     = OFF
  35. #pragma config WRTD     = OFF
  36. #pragma config EBTR0    = OFF
  37. #pragma config EBTR1    = OFF
  38. #pragma config EBTR2    = OFF
  39. #pragma config EBTR3    = OFF
  40. #pragma config EBTRB    = OFF
  41.  
  42. #define M1 LATAbits.LATA1
  43. #define M2 LATAbits.LATA2
  44.  
  45. #define SD1 PORTBbits.RB7
  46. #define SD2 PORTBbits.RB6
  47. #define SD3 PORTBbits.RB5
  48. #define SZ1 PORTBbits.RB4
  49. #define SZ2 PORTBbits.RB3
  50. #define SZ3 PORTBbits.RB2
  51. //#define minitAllSwitches()  TRISBbites. TRISB4=1; TRSIBbites; TRISB5=1;
  52. void Configurar_PWM (void);
  53. void Configurar_PWM2 (void);
  54. void main (void)
  55.  
  56. {
  57.   ADCON1 |=0x0F; //es para poner todos los pines a digital oxof para hexadesimal
  58.         PORTA=0x00; //puertos A salidas de los leds
  59.         TRISA=0B00000000; //numero binario para k las patas de A esten apagadas
  60.         TRISB=0xFF;
  61.     TRISC=0x00;
  62.     PORTC=0B00000000;
  63.   //  minitAllSwitches();
  64.     Configurar_PWM();
  65.         Configurar_PWM2();
  66.  
  67.  
  68.         while (1)
  69.  
  70. {
  71. M1=0;  
  72. M1 = PORTCbits.RC2;
  73.         if (SZ1==1 && SZ2==0 && SZ3==0 )
  74.                 {      
  75.         CCPR1L = 1;    
  76.        
  77.                 }
  78.  
  79.         if (SZ1==1 && SZ2==0 && SZ3==0)
  80.                 {      
  81.         CCPR1L = 100;  
  82.        
  83.                 }
  84.  
  85.  
  86.  
  87.  
  88.  
  89.         if (SZ1==0 && SZ2==0 && SZ3==1)
  90.                 {      
  91.         CCPR1L = 200;  
  92.        
  93.                 }
  94.  
  95. M2=0;  
  96. M2 = PORTCbits.RC1;
  97.         if (SD1==1 && SD2==0 && SD3==0 )
  98.                 {      
  99.         CCPR1L = 1;    
  100.        
  101.                 }
  102.  
  103.         if (SD1==1 && SD2==0 && SD3==0)
  104.                 {      
  105.         CCPR1L = 100;  
  106.        
  107.                 }
  108.  
  109.  
  110.  
  111.  
  112.  
  113.         if (SD1==0 && SD2==0 && SD3==1)
  114.                 {      
  115.         CCPR1L = 200;  
  116.        
  117.                 }
  118.  
  119. }
  120.  
  121. }
  122. void Configurar_PWM(void)
  123. {
  124.  TRISCbits.TRISC2 = 0;
  125.  PR2 = 0xFF;
  126.  CCP1CON= 0x0c;
  127. CCPR1L = 0;
  128. //CCPR1L= 0x80;
  129. // CCPR1L = 200;
  130. T2CON = 0x05;
  131. T2CONbits.TMR2ON=1;
  132. }
  133. void Configurar_PWM2(void)
  134. {
  135.  TRISCbits.TRISC1 = 0;
  136.  PR2 = 0xFF;
  137.  CCP1CON= 0x0c;
  138. CCPR1L = 0;
  139. T1CON = 0x05;
  140. T1CONbits.TMR1ON=1;
  141. }

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: problema con el segundo pwm en pic 18f4550..Ayuda
« Respuesta #1 en: 25 de Septiembre de 2014, 19:17:29 »
  Dentro de tu función Configurar_PWM2 estás modificando el registro CCP1CON en lugar de CCP2CON
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas


 

anything