The code below will flash the LED but not create a pwm output. I'm guessing its because there are fractions and not integers to work with thus creating 0's and other odd results.
The convert to voltage portion works fine - I changed it, but the rest needs work still.


Code:
       temp=0      ADCIN 0, temp
      'write 40, temp
      
'convert to voltage
      v_feedback=temp                                                 'put ADC in float
                                                                               'v_supply=v_feedback/1024
      v_supply = 1024/v_feedback * 10                            'find supply % of vref
                                                                               'v_supply=v_supply*supply_multiplier  'find supply volts
      v_supply = v_supply * supply_multiplier / 10
      write 60, v_supply
      
'calculate rise time
      t_rise=L_Ipeak / v_supply                                       'find rise time @ supply volts for L/Ipeak
                                                                               ' = 68/24 = 2.833uS (example = 24vin)
'calculate CCPR1L:CCP1CON<5:4>
      SMPS_duty=t_rise*osc_freq                                    'find duty cycle value
                                       '2.833*48 = 136
      final_duty=SMPS_duty                                            'convert to byte
      
'calculate period
      t_period=t_rise*133/100                                         'dutycycle = .75period
                                                                                '2.833*133/100 =  3.767uS
'calculate PR2
      SMPS_period=(t_period/period_multiplier)                   'find period value
                                                                               '3.767/(4/48) = 45.2
      final_period=SMPS_period-1                                    'put in byte
                                                                         ' = 44.2
'put in register masks
      high_duty=(final_duty>>2)        'high 6 bits in CCPR1L
      low_duty=(final_duty<<6)         'low two bits for CCP1CON
      low_duty=(low_duty>>2)           'shift back to CCP1CON<5:4>
      low_duty.3=1                     'PWM configuration bit
      low_duty.2=1                     'PWM configuration bit




main:
CCPR1L=high_duty       'flash LED to show alive
CCP1CON=low_duty
portc.0 = 1
pause 100
portc.0 = 0
pause 100
GOTO main