GO/DONE

Başlatan onurinci, 24 Temmuz 2021, 03:40:26

onurinci

hocam 12F675'in ADCON0 registerini 1 yapıyorum,olup olmadığından emin değilim,isis'te watch registerden baktığımda verdiğim ayarı kaale almmamış,hata bendemi acaba ?


bit 1         GO/DONE: A/D Conversion Status bit
                          1 = A/D conversion cycle in progress. Setting this bit starts an A/D conversion
                                                                                                    cycle.
                              This bit is automatically cleared by hardware when the A/D conversion has
                                                                                                completed.
                          0 = A/D conversion completed/not in progress

@ Device PIC12F675,WDT_OFF,PWRT_ON,PROTECT_OFF, CPD_OFF,MCLR_OFF,BOD_OFF,INTRC_OSC_NOCLKOUT 
DEFINE OSC 4
DEFINE OSCCAL_1K 1


TRISIO=%00000001 :GPIO=0   'sets GPIO.0 as in input and all others as outputs 
ADCON0=%10000011           ' 131 
ANSEL=1                    'sets Fosc/2 and GPIO.0 as ADC input 
CMCON=7

DEFINE ADC_BITS 10 
DEFINE ADC_CLOCK 3 
DEFINE ADC_SAMPLEUS 50

ete

Prensip olarak bu bit ADC işlemini başlatmak için HIGH yapılır ve örnekleme zamanı kadar HIGH da kalıp işlemci tarafından ADC işlemi tamamlandığında hemen LOW a çekilir.
Bu biti 1 yapıp ardından 1 mi değilmi diye bakıncaya kadar o zaten LOW olacaktır. Görmek zor daha doğrusu HIGH halini yakalamak zor.
BAsic derleyicisi ADCIN 0,HAM şeklinde bir komut gördüğünde zaten bu biti öncee HIGH yapıp low olmasını bekler ve ADC okuma işlemini sonlandırır. Arada bir bende bu biti set ederek işlem yapıyorum ama bu güne kadar herhangi bir farklılık görmedim. SOnuçta artık kullanmıyorum.
İlla kullancağım dersen, şekli şöyle,
ADCON0.1=1
WHILE ADCON0,1=1:WEND
program bu satıra gelirse adc okuma işlemi tamamlanmış demektir.
Şekil böyle

Ete

onurinci

Hocam çok teşekkürler...

Powered by EzPortal