McdM
Üye
- Katılım
- 8 May 2010
- Mesajlar
- 9
- Puanları
- 1
- Yaş
- 34
Merhabalar
öncelikle 16f88 ile analog sinyal okuyip bu sinyale göre pwm sinyalı üretmek istiyorum. Analog sinyalım 0-5V arasıdır. Örn: 1v ta %20 pwm sinyalı gibi.
yazdıgım program ile tam olarak istedigim gibi çalıştıramıyorum.
PORTA=0 : PORTB=0
TRISA=%00000001
TRISB=%00001000
@ DEVICE PIC16F88
@ DEVICE PIC16F88, WDT_ON
@ DEVICE PIC16F88, PWRT_ON
@ DEVICE PIC16F88, PROTECT_OFF
@ DEVICE PIC16F88, MCLR_ON
@ DEVICE PIC16F88, INTRC_OSC_NOCLKOUT
DEFINE OSC 4
CMCON=7
OSCCON=%01100000
ANSEL=%00000001
ADCON1=%10000000
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 100
SYMBOL PWM_O=PORTA.1
SYMBOL RUN=PORTA.2
HAM VAR WORD
VOLT VAR WORD
BASLA:
HIGH RUN
PAUSE 1000
LOW RUN
PAUSE 1000
ADCIN 0, HAM
Ham=ham+1
Volt=(ham */ 1250)/100
PAUSE 100
IF VOLT=50 THEN
HIGH PWM_O
PAUSE 900
LOW PWM_O
PAUSE 100
ENDIF
IF VOLT=20 THEN
HIGH PWM_O
PAUSE 800
LOW PWM_O
PAUSE 200
ENDIF
IF VOLT=30 THEN
HIGH PWM_O
PAUSE 700
LOW PWM_O
PAUSE 300
ENDIF
GOTO BASLA
END
(yardımcı olursanız sevinirim)
öncelikle 16f88 ile analog sinyal okuyip bu sinyale göre pwm sinyalı üretmek istiyorum. Analog sinyalım 0-5V arasıdır. Örn: 1v ta %20 pwm sinyalı gibi.
yazdıgım program ile tam olarak istedigim gibi çalıştıramıyorum.
PORTA=0 : PORTB=0
TRISA=%00000001
TRISB=%00001000
@ DEVICE PIC16F88
@ DEVICE PIC16F88, WDT_ON
@ DEVICE PIC16F88, PWRT_ON
@ DEVICE PIC16F88, PROTECT_OFF
@ DEVICE PIC16F88, MCLR_ON
@ DEVICE PIC16F88, INTRC_OSC_NOCLKOUT
DEFINE OSC 4
CMCON=7
OSCCON=%01100000
ANSEL=%00000001
ADCON1=%10000000
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 100
SYMBOL PWM_O=PORTA.1
SYMBOL RUN=PORTA.2
HAM VAR WORD
VOLT VAR WORD
BASLA:
HIGH RUN
PAUSE 1000
LOW RUN
PAUSE 1000
ADCIN 0, HAM
Ham=ham+1
Volt=(ham */ 1250)/100
PAUSE 100
IF VOLT=50 THEN
HIGH PWM_O
PAUSE 900
LOW PWM_O
PAUSE 100
ENDIF
IF VOLT=20 THEN
HIGH PWM_O
PAUSE 800
LOW PWM_O
PAUSE 200
ENDIF
IF VOLT=30 THEN
HIGH PWM_O
PAUSE 700
LOW PWM_O
PAUSE 300
ENDIF
GOTO BASLA
END
(yardımcı olursanız sevinirim)