W

7 Segment Display - 11 LED'Lİ Termometre

Başlatan wishes, 14 Nisan 2012, 16:39:26

wishes

merhabalar. Ete hocamızın örneğinden aldığım kodlarla, mucit23 ve est32 arkadaşlarımın yardımıyla 11 ledli, 7 SEGMENT Display'li bir termometre yaptım. Isıyı 0-1 volt aralığında 0-100 C derece ölçebilen LM35DZ ölçüyor. 0-50 C derece aralığında her 5 C derecede bir LED yanıyor. gerekli dosyaları programı hayata geçirdikçe ekleyeceğim. şimdilik PICBASIC PRO kodlarını, HEX kodunu ve ve ISIS devre şemasını veriyorum.


'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [wishes]                                          *
'*  Notice  : xxxxxxxxxxxxx 2012 [select VIEW...EDITOR OPTIONS] *
'*          : Telif hakkı yoktur.                               *
'*  Date    : 14.04.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE OSC 4                     
 
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_ON       
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF                 
@ DEVICE pic16F877, XT_OSC

PORTA=0:TRISA=%11111111                       
PORTB=0:TRISB=%00000000                       
PORTC=0:TRISC=%00000000
PORTD=0:TRISD=%00000000
PORTE=0:TRISE=%00000000

DEFINE ADC_BITS     10   
DEFINE ADC_CLOCK    1
DEFINE ADC_SAMPLEUS 100
 
  ADCON1=%10000010   'analog değer oku
  ON INTERRUPT GoTo KESME   
  OPTION_REG=%00000011
  INTCON=%10100000
  TMR0=130
    ''     ''      ''    ''     Değişkenler      ''    ''     ''      ''
       HAM      VAR     WORD           
       ISI      VAR     WORD
       index    var     BYTE
       SAYI     var     BYTE
       BIRLER   VAR     BYTE
       ONLAR    VAR     BYTE
       X        VAR     BIT
   
       symbol L1=PORTC.0         
       symbol L2=PORTC.1
       symbol L3=PORTC.2
       symbol L4=PORTC.3
       symbol L5=PORTC.4
       symbol L6=PORTC.5
       symbol L7=PORTC.6
       symbol L8=PORTC.7
       symbol L9=PORTD.0
       symbol L10=PORTD.1
       symbol L11=PORTD.2
     
       SYMBOL DISP0=PORTE.0      ' onlar  hanesi ortak uç
       SYMBOL DISP1=PORTE.1      ' birler hanesi ortak uç
       
       PAUSE 100
''     ''      ''    ''     BAŞLANGIÇ      ''    ''     ''      ''   
     
BASLA:
        ADCIN 0, HAM  ' 0 nolu kanaldan analog değeri oku ve HAM değişkenine aktar
        GOSUB ISIHESAP
        GOSUB LEDYAK
        GOSUB DIJITLER
GOTO BASLA

    ''     ''      ''       ''     ''      ''    ''     ''      ''
DIJITLER:
     index=ISI DIG 0:GOSUB AL:BIRLER=SAYI
     index=ISI DIG 1:GOSUB AL:ONLAR=SAYI
RETURN   
     
AL:
   '  PORTE=$00
     LOOKUP index,[63,6,91,79,102,109,125,7,127,111],SAYI
RETURN
    ''     ''      ''       ''     ''      ''    ''     ''      ''
ISIHESAP:
    IF ADCON1.0=1 THEN ISIHESAP   
            ISI=(HAM*61)/125   '0-100 'C arası ölçüm yapabilen LM35DZ formülü
;       PAUSE 100              BU GECiKME PROGRAMIN CALIŞMASINI AKSATIR
RETURN
    ''     ''      ''      ''     ''      ''    ''     ''      ''
LEDYAK:
  IF ISI<5 THEN
    HIGH L1 : LOW L2 : LOW L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11
  ENDIF   
     
  IF ISI>=5 AND ISI<10 THEN
    HIGH L1 : HIGH L2 : LOW L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
 
  IF ISI>=10 AND ISI<15 THEN
    HIGH L1 : HIGH L2 : HIGH L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11
  ENDIF
     
  IF ISI>=15 AND ISI<20 THEN
    HIGH L1 : HIGH L2 : HIGH L3 : HIGH L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
     
  IF ISI>=20 AND ISI<25 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11         
  ENDIF
     
  IF ISI>=25 AND ISI<30 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11       
  ENDIF
     
  IF ISI>=30 AND ISI<35 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11       
  ENDIF
     
  IF ISI>=35 AND ISI<40 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
     
  IF ISI>=40 AND ISI<45 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : LOW L10 : LOW L11     
  ENDIF
     
  IF ISI>=45 AND ISI<50 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : HIGH L10 : LOW L11 
  ENDIF
     
  IF ISI>=50 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : HIGH L10 : HIGH L11       
  ENDIF       

RETURN
    ''     ''      ''    ''     Kesme      ''    ''     ''      ''
  DISABLE
    KESME:
      X=1-X
      SELECT CASE X
      CASE 0
        LOW DISP0
        PORTB=BIRLER
        HIGH DISP1
      CASE 1
        LOW DISP1
        PORTB=ONLAR
        HIGH DISP0       
      END SELECT
        TMR0=130
        INTCON.2=0
    RESUME
  ENABLE
    ''     ''      ''    ''     ''      ''    ''     ''      ''
END


Mucit23

Ben anlatayım ne yapman gerektiğini.
Öncelikle Multiplex sistemlerde görüntünün düzgün çıkabilmesi için sürekli ekranın taranması gerekir. Bu işin numarası işte orada.
Ekranı Taramak şu şekilde işler
Diyelim Ekranda 23 göstereceksin.
Senin yapman gereken şunlar sırasıyla.

İlk önce Tüm display kapalıdır.
İlk önce 23 sayısını göstereceksen diyelim 3 sayısının Değerini Displaylere verirsin.
Sonra Birinci dijiti aktif edersin.Yaklaşık 2ms bekledikten sonra birinci dijiti kapatırsın.
Daha sonra 3 sayısını displaylere verirsin. Bu sefer 2. dijiti aktif edip 2 ms bekledikten sonra 2 dijiti kapatırsın.
Sonraki işlem başa döner. Yine 3 sayısını displaye ver, Birinci dijiti aç,2ms bekle, birinci dijiti kapat, 2 sayısını displaye ver...... vs vs
Bu şekilde aksama olmada sürekli bir döngü halinde siplaylerin taranması gerekiyor. Bu işlemler çok hızlı bir şekilde yapılırsa ekranda 23 sayısı pürüzsüz bir şekilde görünür. normalde 2 ve 3 rakaları sürekli yanıp sönüyordur. İnsan gözü bunu algılamaz tabiki

İşin teorisi burada Birazda işin işlevselliğine değineyim.
Ben multiplex yardımcı eleman kullanmadan 6 displaye kadar problemsiz sürdüm. Bundan sonra bazı latch enteğrelerinin yardımı gerekiyor multiplex sistemler için.

Tarama işleminin aksama olmadan yapılması gerektiğini söylemiştim. Aksama olmaması için en iyi yöntem kesme kullanmaktır. Eğer sen Her 2ms de bir kesme oluşturursan kesme alt programında displaylare görüntüyü sırayla aktarabilirsin.

her 2 ms de bir kesme oluşturmak için (4Mhz kristal bağlı iken) TMR0 bölücü oranı 1/16 iken TMR0 ön değerinin 130 olması gerekiyor. Farklı bölücü oranlarıylada olabilir.

Sen programın başına aşağıdaki kodları eklersen TMR0 Kesmesi ayarlarını yapmış olacaksın.

ON INTERRUPT GoTo KESME   
OPTION_REG=%00000011
INTCON=%10100000
TMR0=130

Programın başına bunları ekle

Sonra yapman gereken kesme alt programını hazırlamak
Bunun için Programın herhangi bir yerine aşağıdaki komutları yaz

DISABLE
KESME:
;
;
;
;
;
TMR0=130
INTCON.2=0
RESUME
ENABLE

Şimdi kesme alt programımız yukarıdaki gibi olacak.
Noktalı virgül koyduğum yerlerde displayi tarıyacaksın artık
Bunun yapmanın en kolay yolu bir adet index değişkeninin değerini her kesme olduğunda değiştirerek index değişkenin değerine göre displaylerin dijitlerini aktif etmek kısacası displayi taramak.

Bunu yapmadan önce senin programında önemli eksiklikler var öncelikle onları söyliyeyim.
Yazdığın programa bakınca displayleri taradığın aktar isimli bölümde okuduğun ısı değerini direk dijitlere ayırıp displaylere vermişsin. Bu yanlıştır. Bunu yaparsan ekranda saçma sapan karakterler görürsün.

Displayde 1 rakamının görünmesi için Ekranda sadece B ve C seğmentlerinin yanması gerekir.Yani Displaylere 00000110 değerini göndermen gerekir. Bu değerin Desimal karşılığı 6 dır. Sen displayere direkmen 1 değerini gönderdiğin için sadece A seğmentine enerji gideceği için displaylde Sadece A seğmenti yanar. 1 rakamı görünmez.
Aynı şekilde 2 Sayısı için displayde A, B, D, E ve G seğmentlerinin yanması gerekir. Yani Displaylere 01011011 Değerini göndermen gerekir. Buda decimal olarak 91 değerine denk gelir. Sen eğer 2 değerini displaylere gönderisen Sadece B seğmenti yanar.
Gördüğün gibi Displaylere gönderdiğin rakamla Displaylere görünmesi istediğin rakam iöçin gönderilmesi gereken değerler arasında hiçbir ilişki yok.
Bunu yapabilmen için Bir lookup tablosu oluşturup Senin sayı değerine göre displaylere göndermen gereken değeri belirliyorsun.

AL: LOOKUP index,[63,6,91,79,102,109,125,7,127,111],SAYI :RETURN
Bu programcık o işi otomatikmen yapıyor.
Nasıl çalıştığını anlatayım.
Burada kullanılan iki adet değişken var. Biri index değişkeni, Diğeri Sayı değişkeni.
Şimdi Bu program kısaca index Değişkenin değerine göre tablo içerisinde o değere karşılık gelen sayıyı alıp Sayı Değişkenin içerisine yerleştiriyor.

Farzedelim index değişkenin değeri 3 olsun. Böyle olunca Program Tablo içerisinde 79 Değerini alıp Sayı değişkeni içerisine yerleştirir. Sonra Sen bu 79 değerini Displaylere gönderisen Ekranda 3 değerini görürsün. Eğer index değişkeni 8 olsaydı Sayı değişkenine 127 Değeri gönderilecekti.

Şimdi son olarak sen eğer ısı bilgisini buradaki tabloya göre sentezleyip farklı değişkenlere yüklersen Kesme alt programında  işin daha kolaylaşır

Örnek bir parça yazayım
index=ISI DIG 0:GOSUB AL:BIRLER=SAYI
index=ISI DIG 1:GOSUB AL:ONLAR=SAYI

Yukarıdaki parça tüm sentezleme işini yapıyor. Al İsimli program ise daha önce verdiğim tablo olacak. Program Isı değerinin 1. Veya ikinci dijitini alıp tablodan o değere karşılık gelen sayıyı Sayı İsimli Değişkene yükler. Sonrada Bu sayı değerinide BIRLER ve ONLAR isimli değişkenlere yüklerisin. Geri kalan İşlem Kesme alt programında Sırayla BIRLER ve ONLAR değerini Displaylere vermek. Bu şekilde  görüntü 23 Sayısı ekranda görünecektir.

Epeyce ayrıntılı anlattım. Artık yapman gereken söylediklerimi programda birleştirmek. Kesme alt programında ne yapman gerektiğini mesajımın ilk kısmında söylemiştim Onun içinde uğraş yapamazsan yardımcı oluruz.

Kolay Gelsin..




Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

wishes

#2
çok teşekkür ederim mucit kardeşim. ellerine, yüreğine sağlık. programın son halini bitirince burada paylaşacağım. çok gelişmiş bir program değil ama belki birine bir yol göstermiş, heves aşılamış; daha gelişmiş bir program tasarlamak üzere fikir ve ilham vermiş oluruz.

est32

ayrıca isiste display'in çalışmasını gözlemleyebilmek için transistörlerin kollektör bacaklarına VDD'den pull-up direnci kullanmak gerek

wishes

devreyi gerçekleştirdim ama ufak bir sounum daha kaldı. mesela sayı 34 diyelim iki göstergede de hem 3 hem de 4 aynı anda yanmaya çalışıyor.

veli dayı

mucit23 kardeş indeks tablosu dediğin ne ben bu işlerde bayağı bir acemiyimde şöyle araştırma yapabileceğim bir yere yönlendirebilirmisin beni.bu  indeks tablosu dediğin şeyi googleden nasılarştırabilirm.ne diye aratacam.mesela

Mucit23

Yazılımda ufak tefek hataların var düzeltelim sırasıyla onları.

1/16 bölme oranında her 2 ms de bir kesme oluşması için TMR0 130 olması gerektiğini söylemiştim. Sen ilk başta tmr0 a 130 değerini yüklemişsin fakat kesmeden çıkarken tekrar 99 yüklemişsin. Buşekilde TMR0 sayıcısına hep 99 değerini yüklemiş olursun. İstediğimiz değerlerde çalışmaz.

Diğer Hatalarından biri Isı hesap bölümünde 100ms lik gecikme koyman
Aslında Orada gecikmeye hiç gerek yok. Ama illa koyman gerekiyorsa kesme kullanılan yerlerde Pause komutuyla gecikme  koyma. Döngü kurarak gecikme koy. Çünkü Pause komutu kesme dahil herşeyi durdurur. Eğer bu komut işleniyorken Kesme oluşursa program kesmeye gidemez. Diğer birçok donanımıda engeller.

Diğer bir hatan ise Kesme alt programında displayleri tararken yapmışsın. Her 2 ms de bir kesme oluşacağı için program her kesmeye gittiğinde sadece bir displayi yakması lazım. bu şekilde her kesmeye gittiğin bir dipslay döndürülür diğeri yakılır. Her kesme arası yaklaşık 2ms olduğu için her display 2ms civarı yanık kalır.
Programı incelersen ne demek istediğimi anlarsın Gerekli düzeltmeleri yaptım.

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [wishes]                                          *
'*  Notice  : xxxxxxxxxxxxx 2012 [select VIEW...EDITOR OPTIONS] *
'*          : Telif hakkı yoktur.                               *
'*  Date    : 14.04.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE OSC 4                     
 
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_ON       
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF                 
@ DEVICE pic16F877, XT_OSC

PORTA=0:TRISA=%11111111                       
PORTB=0:TRISB=%00000000                       
PORTC=0:TRISC=%00000000
PORTD=0:TRISD=%00000000
PORTE=0:TRISE=%00000000

DEFINE ADC_BITS     10   
DEFINE ADC_CLOCK    1
DEFINE ADC_SAMPLEUS 100
 
  ADCON1=%10000010   'analog değer oku
  ON INTERRUPT GoTo KESME   
  OPTION_REG=%00000011
  INTCON=%10100000
  TMR0=130
    ''     ''      ''    ''     Değişkenler      ''    ''     ''      ''
       HAM      VAR     WORD           
       ISI      VAR     WORD
       index    var     BYTE
       SAYI     var     BYTE
       BIRLER   VAR     BYTE
       ONLAR    VAR     BYTE
       X        VAR     BIT
   
       symbol L1=PORTC.0         
       symbol L2=PORTC.1
       symbol L3=PORTC.2
       symbol L4=PORTC.3
       symbol L5=PORTC.4
       symbol L6=PORTC.5
       symbol L7=PORTC.6
       symbol L8=PORTC.7
       symbol L9=PORTD.0
       symbol L10=PORTD.1
       symbol L11=PORTD.2
     
       SYMBOL DISP0=PORTE.0      ' onlar  hanesi ortak uç
       SYMBOL DISP1=PORTE.1      ' birler hanesi ortak uç
       
       PAUSE 100
''     ''      ''    ''     BAŞLANGIÇ      ''    ''     ''      ''   
     
BASLA:
        ADCIN 0, HAM          ' 0 nolu kanaldan analog değeri oku ve HAM değişkenine aktar
        GOSUB ISIHESAP
        GOSUB LEDYAK
        GOSUB DIJITLER
GOTO BASLA

    ''     ''      ''       ''     ''      ''    ''     ''      ''
DIJITLER:
     index=ISI DIG 0:GOSUB AL:BIRLER=SAYI
     index=ISI DIG 1:GOSUB AL:ONLAR=SAYI
RETURN   
     
AL:
   '  PORTE=$00
     LOOKUP index,[63,6,91,79,102,109,125,7,127,111],SAYI
RETURN
    ''     ''      ''       ''     ''      ''    ''     ''      ''
ISIHESAP:
    IF ADCON1.0=1 THEN ISIHESAP   
            ISI=(HAM*61)/125   '0-100 'C arası ölçüm yapabilen LM35DZ formülü
;       PAUSE 100              BU GECiKME PROGRAMIN CALIŞMASINI AKSATIR
RETURN
    ''     ''      ''      ''     ''      ''    ''     ''      ''
LEDYAK:
  IF ISI<5 THEN
    HIGH L1 : LOW L2 : LOW L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11
  ENDIF   
     
  IF ISI>=5 AND ISI<10 THEN
    HIGH L1 : HIGH L2 : LOW L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
 
  IF ISI>=10 AND ISI<15 THEN
    HIGH L1 : HIGH L2 : HIGH L3 : LOW L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11
  ENDIF
     
  IF ISI>=15 AND ISI<20 THEN
    HIGH L1 : HIGH L2 : HIGH L3 : HIGH L4 : LOW L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
     
  IF ISI>=20 AND ISI<25 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : LOW L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11         
  ENDIF
     
  IF ISI>=25 AND ISI<30 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     LOW L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11       
  ENDIF
     
  IF ISI>=30 AND ISI<35 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : LOW L8 : LOW L9 : LOW L10 : LOW L11       
  ENDIF
     
  IF ISI>=35 AND ISI<40 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : LOW L9 : LOW L10 : LOW L11   
  ENDIF
     
  IF ISI>=40 AND ISI<45 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : LOW L10 : LOW L11     
  ENDIF
     
  IF ISI>=45 AND ISI<50 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : HIGH L10 : LOW L11 
  ENDIF
     
  IF ISI>=50 THEN
    HIGH L1 : HIGH L2 : HIGH L3 :  HIGH L4 :  HIGH L5 : HIGH L6
     HIGH L7 : HIGH L8 : HIGH L9 : HIGH L10 : HIGH L11       
  ENDIF       

RETURN
    ''     ''      ''    ''     Kesme      ''    ''     ''      ''
  DISABLE
    KESME:
      X=1-X
      SELECT CASE X
      CASE 0
        LOW DISP0
        PORTB=BIRLER
        HIGH DISP1
      CASE 1
        LOW DISP1
        PORTB=ONLAR
        HIGH DISP0       
      END SELECT
        TMR0=130
        INTCON.2=0
    RESUME
  ENABLE
    ''     ''      ''    ''     ''      ''    ''     ''      ''
END
    ''     ''      ''    ''     ''      ''    ''     ''      ''
   
     
'                   ,:',:`,:'
'                __||_||_||_||_||__
'           ____[""""""""""""""""""]_____
'          \ " ''  wishes&vifor  '''''''/
'    ~~^~^~^~^~^^~^~^~^~^~^~^~^~~^~^~~^~^~^^~~^~^

'
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Mucit23

@ veli_dayı

lookup komutunu araştırın

Kısaca kullanımı aşağıdaki gibidir

LOOKUP index,[63,6,91,79,102,109,125,7,127,111],SAYI

Bu kod her işlendiğinde index isimli değişkenin değerine göre program tablodan o değere karşılık gelen değeri alıp sayı değişkenin içerisine yerleştirir.

Örneğin İndex değişkenin değeri 0 ise program tablodan 0.değeri yani 63 değerini alıp Sayı değişkenine yerleştirir.
Veya İndex değeri 8 ise Sayı değişkenine127 değeri yüklenir.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

veli dayı


wishes

#9
yardımlarınız için çok teşekkür ederim. müsait bir zamanda baskı devreye geçeceğim. peki LEDYAK etiketini daha kısa komutlarla gerçekleştirebilir miyiz, yoksa benim yazdıklarım makul komutlar mıdır.

heyecanımı mazur görün. ilk defa dişe dokunur bir proje gerçekleştirmek üzereyim :)

wishes

#10
aynı örneği 28 pinli 16f873/876 için uyarladım. hem daha az yer kaplıyor hem de maliyeti daha ucuz. isis şeması, hex kodu ve picbasic kodları ektedir. saygılarımla.




Powered by EzPortal