ANOLOG OKU PWM OUT YARDIM

Başlatan harmanx, 07 Haziran 2012, 18:06:33

harmanx

analog okuyup ekrana yazıp aynı zamanda pwm basmak istiyorum
bir yarde pwm de sorun var düzgün çalışmıyor
yardımlarınızı bekliyorum bu pwm işinden anlamadım karışık geldi bana




TRISA=%00000001
TRISB=0
TRISC=0
TRISD=0
'-------------------------------------------------------------------------------
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_on
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC
'-------------------------------------------------------------------------------
DEFINE LCD_DREG      PORTB   
DEFINE LCD_DBIT      4      
DEFINE LCD_EREG      PORTB   
DEFINE LCD_EBIT      3      
define LCD RWREG    PORTB   
define LCD_RWBIT    2       
DEFINE LCD_RSREG   PORTB   
DEFINE LCD_RSBIT   1      
DEFINE LCD_BITS      4      
DEFINE LCD_LINES   2      

DEFINE   ADC_BITS   10
DEFINE   ADC_CLOCK   1      
'DEFINE   ADC_CLOCK   3      
DEFINE   ADC_SAMPLEUS   100   
'-------------------------------------------------------------------------------
DEFINE CCP1_REG PORTC
DEFINE CCP1_BIT 2

'-------------------------------------------------------------------------------
ADCON1=%10001110
'-------------------------------------------------------------------------------
HAM    var  word                                                                         
VOLT   var  word
Mvolt  var  byte
'-------------------------------------------------------------------------------
Low PORTB.2      
LCDOut $FE,1   
pause 200       
'-------------------------------------------------------------------------------

BASLA:
      ADCIN 0,HAM 
     
BAK:  IF ADCON0.2=1 THEN BAK
     
lcdout $FE,1," DEGER =",# HAM
Ham=ham+1       

Volt=(ham */ 1250)/100
Mvolt=volt//100
Volt=Volt/10

LCDOUT $FE,$C0," VOLT=",#VOLT,",",# Mvolt,"V"     
PAUSE 500
     
'------------------------------------------------------------------------------     
CCP1CON.4=Ham.0
CCP1CON.5=Ham.1
CCPR1L=Ham>>2
       
HPWM 1,HAM,8000
goto BASLA
end