oK I will try this when I get home tonight.

I did some change in my program, mostly in the Pin Configuration section.
If this do not work, I will remove all the ADC stuff and just try the HPWM


INCLUDE "modedefs.bas" 'Includes supoprt for PicBasic language
@ DEVICE pic16F88, HS_OSC , CCPMX_ON
DEFINE OSC 20 'use external 20mhz crystal
PAUSE 100 ' start-up delay

'/////////////////////////
'// PIN configuration //
'/////////////////////////

DEFINE CCP1_REG PORTB 'Define output port of pulses out
DEFINE CCP1_BIT 3 'Define output port of pulses out

Define ADC_BITS 8 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uSec

CMCON = 7 ' Disable analog comparator
ANSEL = %00000010 ' set AN1 (RA1) as analog, others to digital
ADCON1 = %00000000 ' Left justified results in 8 bits
ADCON0 = %10000001 ' Configure and turn on A/D Module

TRISB = %00000000 ' Set PORTB to all output
TRISA = %11111111 ' Set PORTA to all input

'///////////////////////////////////////////////
'// Variable Declaration and initialization //
'///////////////////////////////////////////////

DutyCycle var byte 'Create adval to store result

'//////////////////////////
'// Program starts here //
'//////////////////////////

Mainloop:
ADCON0.2 = 1 'Start Conversion

ADCIN 1, DutyCycle 'analog pin 1 (RA1) get the 8 bit result
pause 50

HPWM 1,DutyCycle,10800
pause 100

GOTO Mainloop
end