i really appreciate ur help but I did what u said and the problem still there and the pwm is fixed at 30% duty even when um changing the volt here's the code

sender:
Code:
'Sender Code


Define OSC 8

char var byte

' Main program loop
start:

if (portb.0==0) then       'button pressed
char = "A"                 'character A sent to the other pic
Serout portc.6, 2,[char]

pause 50
elseif (portb.0!=0) then
char = "B"
Serout portc.6, 2,[char]

pause 50

endif

Goto start
End
Reciever
Code:
DEFINE OSC 8
           'LCD CONFIGURATION
DEFINE LCD_DREG PORTB      'Define PIC port used for LCD Data lines
DEFINE LCD_DBIT 4          'Define first pin of portb connected to LCD DB4
DEFINE LCD_RSREG PORTB     'Define PIC port used for RS line of LCD
DEFINE LCD_RSBIT 3         'Define Portb pin used for RS connection Communication
DEFINE LCD_EREG PORTB      'Define PIC prot used for E line of LCD
DEFINE LCD_EBIT 0          'Define PortB pin used for E connection
DEFINE LCD_BITS 4          'Define the 4 bit communication mode to LCD
DEFINE LCD_LINES 2         'Define using a 2 line LCD
DEFINE LCD_COMMANDUS 2000  'Define delay between sending LCD commands
DEFINE LCD_DATAUS 50       'Define delay time between data sent.
           'PWM CONFIGURATION
DEFINE CCP1 REG PORTC      'Port to be used by HPWM1
DEFINE CCP1_BIT 2          'Pin to be used by Hpwm1
DEFINE CCP2 REG PORIIC     'Port to be used by HPWM2
DEFINE CCP2_BIT 1          'Pin to be used by hwmp2
            'ADC CONFIGURATION
Define ADC_BITS 10          '10 bit result
define ADC_clock 3         '8mhz external clock
define ADC_Samplus 50
trisA= 255      'all PORTA pins are inputs
adcon1= %10000010 ' Set PORTA analog and right justify
   trisc=0 
   portc=0

   Temp var word     'Temp out of Lm35
   Vp var word       'Voltage out of Pressure Sensor
   Vl var word       'Voltage out of Level Sensor
   char var byte
    
   main:
   Serin portc.7,2,char           'Receive data sent from the transmitting pic 
if (char == "A" ) then            'if data is character A
   
   pause 50
   Adcin 0, Temp                            ' Read channel 0 to Temp (0-1023)
   Temp = (Temp */ 500)>>2                  ' Equates to: (Temp * 500)/1024
   LCDOut ,$fe,$80,"Temp= ",DEC2 Temp       'Display Temp On The First Line 
   
   Adcin 1, Vp                                                     'Read channel 1 to Vp (0-1023)
   Vp = (Vp */ 500)>>2                                             'Equates to: (Vp * 500)/1024
   LCDOut $fe,$c0 ,"Pressure = ",DEC (Vp/100),".", DEC2 Vp," volt" 'Display Voltage out of pressure sensor on second line
   
   Adcin 2, Vl                                                     'Read channel 2 to Vl (0-1023)
   Vl = (Vl */ 500)>>2                                             'Equates to: (Vl * 500)/1024
   LCDOut $fe,$94 ,"Level= ",DEC (Vl/100),".", DEC2 Vl," volt"     'Display Voltage out of Level sensor on third line    

   if portd.0==0 then               'Soil Moisture is lower than preset value 
    if  Vp<3 then                   'Voltage From Pressure Sensor is Less than preset value (3 volt)
       Hpwm 2, 179,5000             'Solenoid is on with 70% duty cycle at 5 khz 
       if Vl<3 then                 'If voltage of Level sensor is Less than preset value (3 volt) 
       hpwm 1,179,5000              'Pump is on with 70% duty cycle at 5 khz
       elseif Vl>=3 then            'If voltage of Level sensor is more than or equal preset value
       hpwm 1,77,5000               'Pump is on with 30% duty cycle at 5 khz
       ENDIF
    elseif Vp>=3 then                'Voltage From Pressure Sensor is more than or equal preset value (3 volt)
       hpwm 2,77,5000                'Solenoid is on with 30% duty cycle at 5 khz
       if Vl<3 then                  'If voltage of Level sensor is less than preset value (3 volt)
       hpwm 1,179,5000               'Pump is on with 70% duty cycle at 5 khz
       elseif Vl>=3 then             'If voltage of Level sensor is more than or equal preset value
       hpwm 1,77,5000                'Pump is on with 30% duty cycle at 5 khz
       endif
    endif
   elseif portd.0!=0 then            'Soil Moisture is high or equal to preset value
       hpwm 1,0,5000                 'Turn off Pump
       hpwm 2,0,5000                 'Turn off Solenoid
   endif
elseif char=="B" then
   lcdout $fe,1                       'Clear LCD
   hpwm 1,0,5000                      'Turn off Pump
   hpwm 2,0,5000                      'Turn off Solenoid
endif

   

   Goto main                          'Do it forever

   End