0-5v adc binary gösterim

Başlatan huseyin0579, 29 Aralık 2016, 18:44:12

huseyin0579

Hocam adc ile ilgili problem yaşıyorum yardımcı olabilir'misiniz. Hocam ben programı yazmaya çalışıyorum. İsis simülasyonundaki çalışmayı eklediğim dosyadaki pot.hex ile deneyebilir'siniz. Program 0-5v aralığındaki değişken voltaj ile 3 - 255 binary sayım yapıyor. Bu sayım değeri adc başladığında 3 sayısından başlayacak ve adc voltajı 0 olursa led'lerde sıfırlanacak benim eklediğimde b=%00000011 bu şekilde kalıyor. Hocam adc voltaj ölçümü yani sayım başladığında toggle olarak yanık kalan led sönecek ve adc 0 olursa bu led tekrar eski konumuna gelecek yanık kalacak yani ledin sönüp tekrar yanık konuma geçmesi adc ölçümün başlayıp bitmesine bağlı, adc kanal için gerilim bölücü dirençleri pot ekleyerek ayarlamak istedim gereksiz derseniz iptal olabilir.
'****************************************************************'*  Name    : UNTITLED.BAS                                      *'*  Author  : [select VIEW...EDITOR OPTIONS]                    *'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *'*          : All Rights Reserved                               *'*  Date    : 26.11.2012                                        *'*  Version : 1.0                                               *'*  Notes   :                                                   *'*          :                                                   *'****************************************************************@ DEVICE PIC16F88@ DEVICE PIC16F88,WDT_ON@ DEVICE PIC16F88,PWRT_ON@ DEVICE PIC16F88,MCLR_OFF@ DEVICE PIC16F88,INTRC_OSC_NOCLKOUT@ DEVICE PIC16F88,LVP_OFF@ DEVICE PIC16F88,BOD_ON@ DEVICE PIC16F88,FCMEN_OFF@ DEVICE PIC16F88,IESO_OFF@ DEVICE PIC16F88,CCPMX_OFF@ DEVICE PIC16F88,DEBUG_OFF@ DEVICE PIC16F88,WRT_OFF@ DEVICE PIC16F88,CPD_OFFDEFINE OSC 4DEFINE ADC_BITS 10DEFINE ADC_CLOCK 2DEFINE ADC_SAMPLEUS 50OPTION_REG.7=0OSCCON=%01101100   CMCON=7TRISA=%00000100TRISB=%00000000PORTA=0PORTB=0ANSEL=%00000100ADCON1=%10000000 SAYI var BYTE 56HAM  VAR WORD 66SYMBOL LED1=PORTA.0SYMBOL LED2=PORTA.1HIGH LED1pause 1000LOW LED1BASLA:      HIGH LED2      PAUSE 100             ADCIN 2,SAYI                    HAM=SAYI      HAM=(HAM*/251)/100           SAYI=SAYI+3:LOW LED2      PORTB=SAYI            IF SAYI>255 then SAYI=255                GOTO BASLAEND

huseyin0579

Hocam sayım 3 - 255 aralığında olması şart değil desimal 3 değeri binary olarak b=%00000011 bu şekilde başlayacak ve örnek olması için 15 desimal sayı değeri binary karşılığı b=%00001111 bu değer olabilir 255 olması şart değil ben programla uğraşırım, 0-5v arasındaki voltaj ile ham değer için uygun adc voltaj aralığı ne olmalı 15 sayısına uyum sağlaması için?

huseyin0579

Hocam programı biraz düzelttim üst değer olarak 15 sayısını geçiyor. Bu problemden başka sorun yok o kısmı ayarlayamadım maksimum sayım değeri 15'i geçmeyecek ama geçiyor adc kademe değeride tam uyumlu değil galiba !...
'****************************************************************'*  Name    : UNTITLED.BAS                                      *'*  Author  : [select VIEW...EDITOR OPTIONS]                    *'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *'*          : All Rights Reserved                               *'*  Date    : 26.11.2012                                        *'*  Version : 1.0                                               *'*  Notes   :                                                   *'*          :                                                   *'****************************************************************@ DEVICE PIC16F88@ DEVICE PIC16F88,WDT_ON@ DEVICE PIC16F88,PWRT_ON@ DEVICE PIC16F88,MCLR_OFF@ DEVICE PIC16F88,INTRC_OSC_NOCLKOUT@ DEVICE PIC16F88,LVP_OFF@ DEVICE PIC16F88,BOD_ON@ DEVICE PIC16F88,FCMEN_OFF@ DEVICE PIC16F88,IESO_OFF@ DEVICE PIC16F88,CCPMX_OFF@ DEVICE PIC16F88,DEBUG_OFF@ DEVICE PIC16F88,WRT_OFF@ DEVICE PIC16F88,CPD_OFFDEFINE OSC 4DEFINE ADC_BITS 10DEFINE ADC_CLOCK 2DEFINE ADC_SAMPLEUS 50OPTION_REG.7=0OSCCON=%01101100   CMCON=7TRISA=%00000100TRISB=%00000000PORTA=0PORTB=0ANSEL=%00000100ADCON1=%10000000 SAYI var BYTE 56HAM  VAR WORD 66SYMBOL LED1=PORTA.0SYMBOL LED2=PORTA.1HIGH LED1pause 1000LOW LED1HIGH LED2BASLA:            LOW LED2                   ADCIN 2,SAYI                    HAM=SAYI      HAM=(HAM*/251)/100           SAYI=SAYI+2      PORTB=SAYI            IF SAYI>15 then SAYI=15      IF SAYI=2 THEN:GOSUB CIK         GOTO BASLACIK:   PORTB=0   HIGH LED2   PAUSE 500   RETURNEND

ete

Bana yetti artık senin işlerinle uğraşmak. Kendin çöz bu sorunları. Ben yeterincee çözdüm sanırım.

Ete

Powered by EzPortal