ds1868 yardım edermisiniz

Başlatan veli dayı, 03 Temmuz 2012, 14:33:11

veli dayı

arkadaşlar maksadım hergeçen gün malzeme bilgimi geliştirmek.şimdi de ds 1868 e taktım kafayı bu entegreyi nasıl kontrol edebiliyoruz mantığı nedir.şablon olarak kullanabileceğimiz pic basic kodu bilen varmıdır.
    kontrol için resetin buradaki fonksiyonu ne clock ne işe yarıyor.data ya veri gönderirken ne demiş olyoruz entegreye bu konularda bilgisi olan varsa paylaşabilir mi

    bu arada 2006 mıydı 2007 yıllarımıydı hatırlamıyorum ama bu konu da ete hocamda bayağı kafa patlatmış bu işlere fakat kesin çözmüştür.

ete

Bir ara uğraşmıştım. Sorduklarına şu anda detaylı cevap veremeyeceğim. Çünü hiç bir şey hatırlamıyorum. Programdan bir şeyler çıkarmaya çalışıver.
Kısaca şunu söyleyebilirim. DS1868 içinde iki adet pot bulunuyor.
Bunların kontrolü DS1868 içinde bulunan Shift register ile yapılıyor.
Örnek program aşağıdadır.

'****************************************************************
'*  Name    : PIC-DIGIPOT.BAS                                      *
'*  Author  : [E.T.E]                                           *
'*  Notice  : Copyright (c) 2004 [ETE]                          *
'*          : All Rights Reserved                               *
'*  Date    : 25.08.2004                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ DEVICE PIC16F876                                                                 
DEFINE ADC_BITS 8 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS

    RAW      VAR   BYTE
HAM      VAR   BYTE
    ZAMAN    VAR   WORD
    BILGI    VAR   PORTB.2
    CLK      VAR   PORTB.1
    RST      VAR   PORTB.0

TUSA     VAR   PORTB.4
' TUSE     VAR   PORTB.1

    PSIFIR   VAR   BYTE
    POTBIR   var   byte
    STK      VAR   BYTE
    I        VAR   BYTE
    TOPLAM   VAR   WORD
' -------------------------------------------------------------------   
TRISA=%00000000
TRISB=%00010000
TrisC= %00000000

PORTB=0
PORTA=0
ZAMAN=0
STK=0
ADCON1 = %00000100 'AN0 VE AN1 Analog,Ref =VDD
PAUSE 500
PSIFIR=100:POTBIR=100:GOSUB POTYAZ

BASLA:     
            IF TUSA=0 THEN
               pSIFIR=pSIFIR+1
               IF PSIFIR=0 then PSIFIR=255
               POTBIR=POTBIR+1
               IF POTBIR=0 THEN POTBIR=255
            ENDIF   
           
'           IF TUSe=0 THEN
'               pSIFIR=pSIFIR-1
'               IF PSIFIR=255 then PSIFIR=0
'               POTBIR=POTBIR-1
'               IF POTBIR=255 THEN POTBIR=0
'            ENDIF   
            GOSUB POTYAZ
            GOTO BASLA
           
            RAW=0:HAM=0:TOPLAM=0
            FOR I=1 TO 10
            ADCIN 0,RAW 
BAK:        if ADCON0.2=1 then bak             
            TOPLAM=TOPLAM+RAW
            NEXT I:RAW=TOPLAM/10
           
            TOPLAM=0
            FOR I=1 TO 10
            ADCIN 1, HAM
YINE:       IF ADCON0.2=1 THEN YINE
            TOPLAM=TOPLAM+HAM
            NEXT I:HAM=TOPLAM/10
           
            IF RAW<15 THEN BASLA
               IF HAM<127 THEN
                  ZAMAN=(265-RAW)*(4-(127-HAM)/64)
                  GOTO CIK
               ENDIF
            ZAMAN=(265-RAW)*(4+(HAM-127)/64) 'bu digital pot için kademe atlama pause olacak.
CIK:       IF (PSIFIR=0) AND (POTBIR=0) THEN BASLA
            IF STK=1 THEN
                POTBIR=POTBIR-1
                GOSUB POTYAZ:PAUSE ZAMAN /1000
                IF POTBIR=0 THEN STK=0
             ENDIF
             IF STK=0 THEN 
                PSIFIR=PSIFIR-1
                GOSUB POTYAZ:PAUSE ZAMAN/1000
             ENDIF
'             TOGGLE LED               
             GOTO BASLA

ENUST:       STK=1:PSIFIR=255:POTBIR=255:GOSUB POTYAZ
             RETURN
   
POTYAZ:      HIGH RST:PAUSE 1
             BILGI=STK
             PULSOUT CLK,1
             SHIFTOUT BILGI,CLK,1,[POTBIR]
             SHIFTOUT BILGI,CLK,1,[PSIFIR]    'Dpot1868-1
             LOW RST:PAUSE 1                                             
             RETURN
             end


veli dayı

hocam herne kadar pek anlamasamda yinede emek çekip cevap yazdınız teşekkür ederim.benim bir kaç fırın ekmeği daha yemem lazım gibi duruyor bu konu da

Hattuşa

#3
@ete hocam
bu ds1868 dijital potu ayarlı direnç gibi kullanılmıyor mu? bugün bir devre kurdum ama çıkış alamadım. hiç bahsettiğim şekilde kullanan oldu mu? yani bir ucunu +5, diğerine gnd verdim ama orta uçtan bir çıkış alamadım.

EDIT: kusura bakmayın, çalıştı  ;D

Powered by EzPortal