That's the code, well... it's just THE part of the cooking-timer code to make that "half-bridge" PWM work:
Code:'------------------------------------------------------------------------------- ' PIC 16F690 Fuses (MPASM) @ __config _FCMEN_OFF &_IESO_OFF &_CPD_OFF &_WDT_OFF &_HS_OSC &_BOR_OFF &_CP_OFF &_PWRTE_OFF &_MCLRE_OFF '------------------------------------------------------------------------------- ' Registers 76543210 OPTION_REG = %10000110 ' Pull-Ups OFF, Prescaler TMR0 1:128 ANSEL = %00000000 ' Select analog inputs Channels 0 to 7 ANSELH = %00000001 ' Select analog inputs Channels 8 to 11 WPUA = %00000000 ' Select weak pull-ups WPUB = %00000000 ' Select weak pull-ups ADCON0 = %10000000 ' AD Module ADCON1 = %00000000 ' AD control register CM1CON0 = %00000000 ' Comparator1 Module CM2CON0 = %00000000 ' Comparator2 Module INTCON = %10100000 ' INTerrupts CONtrol; GIE=1, T0IE=1 TRISA = %00000000 ' Select Input/Output (0 to 5) PORTA = %00000000 ' Set High/Low (0 to 5) TRISB = %00110000 ' Select Input/Output (4 to 7) PORTB = %00000000 ' Set High/Low (4 to 7) TRISC = %01000000 ' Select Input/Output (0 to 7) PORTC = %00000000 ' Set High/Low (0 to 7) ' HPWM registers T2CON = %00000101 ' Timer2 = ON (bit2), prescaler (bits1:0) 00=1, 01=4, 1x=16 CCP1CON = %10001100 ' Select PWM Mode (%00001100 = PWM module ON) CCPR1L = 62 ' Dutycycle set to 50% (= percentage of PR2) PR2 = 124 ' Freq 4kHz





Bookmarks