ezmoce
Üye
- Katılım
- 31 Mar 2008
- Mesajlar
- 22
- Puanları
- 1
- Yaş
- 40
arkadaşlar sinus işaretini doğrultarak pic e veriyorum ve sinuz tepe değerine ulaştığında çikiş elde etmek istiyorum şöyle bi program düşünüdüm fakat bu programda giriş olmadan bile çikiş 1 oluyo hatayı anlayan veya başka onerisi olna varsa ;yardım etmek isteyen olursa minnettar olurum
DEFINE ADC_BITS 8 'ADC 8 BIT
DEFINE ADC_CLOCK 3 'CLOCK KAYNAĞI
DEFINE ADC_SAMPLEUS 50 'ÖRNEKLEME ZAMANI 50uS
TRISA=%00000001 'A PORTUNUN A0 UCU GİRİŞ
TRISB=0 'B PORTU ÇIKIŞ
PORTA=0 'A PORTUNUN İLK DEĞERİ 0
PORTB=0 'B PORTUNUN İLK DEĞERİ 0
ADCON1=%0001000 '8 bit değişken tipi seçtik kullanacağımız değer 8 bit
ADC_DEGER VAR byte
ADC_ESKI VAR byte
BASLA:
ADCIN 0,ADC_DEGER '0 nolu kanaldan Analog değeri oku ve ADC_DEĞER değişkenine aktar.
BAK:IF ADCON0.2=1 THEN BAK
ADC_ESKI=ADC_DEGER
IF ADC_DEGER>=ADC_ESKI THeN BAK
PORTB.0=1
END
DEFINE ADC_BITS 8 'ADC 8 BIT
DEFINE ADC_CLOCK 3 'CLOCK KAYNAĞI
DEFINE ADC_SAMPLEUS 50 'ÖRNEKLEME ZAMANI 50uS
TRISA=%00000001 'A PORTUNUN A0 UCU GİRİŞ
TRISB=0 'B PORTU ÇIKIŞ
PORTA=0 'A PORTUNUN İLK DEĞERİ 0
PORTB=0 'B PORTUNUN İLK DEĞERİ 0
ADCON1=%0001000 '8 bit değişken tipi seçtik kullanacağımız değer 8 bit
ADC_DEGER VAR byte
ADC_ESKI VAR byte
BASLA:
ADCIN 0,ADC_DEGER '0 nolu kanaldan Analog değeri oku ve ADC_DEĞER değişkenine aktar.
BAK:IF ADCON0.2=1 THEN BAK
ADC_ESKI=ADC_DEGER
IF ADC_DEGER>=ADC_ESKI THeN BAK
PORTB.0=1
END