PIC16F84 İLE UP/DOWN DİSPLAY KONTROLÜ

Başlatan TONY, 20 Mart 2006, 00:50:43

TONY

ARKADAŞLAR! 7 SEGMENT DİSLAY İLE 4 DİJİT UP/DOWN COUNTER YAPMAK İSTİYORUM.YALNIZ P16F84'ÜN BACAKLARI YETMİYOR.NASIL YAPABİLİRİM?
 
             YARDIMLARINIZ İÇİN ŞİMDİDEN TEŞEKKÜRLER.

mustafacan

çözümünü kendin sölemişsin bacaklar yetmiyorsa 16f628 yada   877 kullan derim adc side içinde
Keşfedilecek çok teknoloji var. Boş Vaktim Yok!

mikro29


polianner

16f628 in bacak sayısı 16f84 ile aynı değilmiydi? Ayrıca, bence tarama yaptırarak 16f84 teki bacak sayısı da bu iş için yeterli olur.

microcozmoz

74C926 entegresi ile bu işi yapabilirsin...

4 DIGIT COUNT W MUX 7 SEG. DRIVER

CLOCK (12)- Saat pals girişidir. Sayılması istenen frekans veya palsların giriş noktasıdır.

CARRY OUT (14)- Elde çıkışı. İki entegre kaskat olarak bağlandığında bir sonraki entegrenin clock girişine bağlanacak.

RESET (13)- Sayıcıları sıfırlamak için kullanılır, 1 yapılınca sayıcılar sıfırlanır ve 1 olduğu müddetçe sayıcılar sayım yapmayarak hepsi de sıfırda (yeni sayım için) bekler. O yapılınca sayıcılar baştan saymaya başlar.

LATCH ENABLE (5)- 0 olduğunda sayıcılardan gelen değerler aynen disp-laylere aktarılır, 1 yapılınca en son değer displeyde dondurulur. Tekrar 0 yapılıncaya kadar değer displeyde bekler.

DISPLAY SELECT (6)- 1 ise LE çalışmıyor, 0 ise LE çalışıyor.

DISPLAY ÇIKIŞLARI:
A-7, B-8, C-10, D-11
a-15, b-16, c-17, d-1, e-2, f-3, g-4

Ortak katod displayler kullanılmaktadır. A, B, C, D çıkışları display-lerin katod uçlarına birer NPN transistörlerle veya SN75492 gibi entegrelerle sürülebilir.

VDD= 18

Vss= 9

Entegrenin içerisindeki multiplexer osilatörünün frekansı yaklaşık olarak 1340 hertz.
"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."

sezgin05

16F628 kullanırsan 2. bir eleman kullanmadan yaparsın.Çünkü dahili osilatör olarak kullanırsan 16 adet pinin olur.Sana lazım olan 14 pin.Eğer 16F84 kullanacaksan 7447-48 kullanarak displayi 4 bitle sürersin...

mikro29

@ DEVICE pic16F628 
@ DEVICE pic16F628, mclr_off
@ DEVICE pic16F628, WDT_on 
@ DEVICE pic16F628, PWRT_ON 
@ DEVICE pic16F628, PROTECT_OFF 
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT  
'-----------------------------------------------------------------
CMCON=7    '16F628 de komparatör pinleri iptal hepsi giriş çıkış
PortA=0
TrisA=%00000011
PortB=0
TrisB=%00000000

Symbol TUSA=PORTA.0
SYMBOL TUSB=PORTA.1
SAYI     var WORD
BIRLER   VAR word
ONLAR    VAR word
YUZLER   VAR word
BINLER   VAR word

PORTB=0
SAYI=0
'--------------------------------------------------

PAUSE 200


BASLA:
        IF TUSA=0 THEN 
        SAYI=SAYI+1 :PAUSE 250
        IF SAYI=10000 THEN SAYI=9999
      ENDIF
         IF TUSB=0 THEN
        SAYI=SAYI-1:PAUSE 250
        IF SAYI=65535 THEN SAYI=0
      ENDIF
      
      BIRLER=SAYI DIG 0
      ONLAR= SAYI DIG 1
      YUZLER= SAYI DIG 2
      BINLER= SAYI DIG 3
      PORTB=240 | BIRLER
      LOW PORTB.7
      PAUSE 1
      HIGH PORTB.7
      PAUSE 1
    
      PORTB=240 | ONLAR
      LOW PORTB.6
      PAUSE 1
      HIGH PORTB.6
      PAUSE 2
      
      PORTB=240 | YUZLER
      LOW PORTB.5
      PAUSE 1
      HIGH PORTB.5
      PAUSE 2
      PORTB=240 | BINLER
      LOW PORTB.4
      PAUSE 1
      HIGH PORTB.4
      PAUSE 2
      GOTO BASLA
 
      END

Lütfi AYYILDIZ

Aşağıdaki linke sadece şemayı yükledim. Senin amacın ile benim programım biraz farklı olduğu için programı göndermedim. Tarama prensibine göre çalışan bir proje. Önce 1. displayi aktif yapıyosun ve verini gönderiyosun sonra 2.ve 3.... displayler. Bunu sürekli yaptığın zaman durağan bir görüntü ortaya çıkıyor. Kolay gelsin
http://www.hemenpaylas.com/download/296909/display.DSN.html

TONY

PROJEMİ, SADECE PORT A'YI KULLANARAK TARAMA MANTIĞI İLE YAPTIM.
YORUMLARINIZ İÇİN TEŞEKÜR EDERİM.


sezgin05

Buda benden:
16f84 ile 0-9999 yukarı&aşağı sayıcı.Devrede kullandığım NOT kapıları yerine NPN tipi bir transistör takılacaktır.

http://www.hemenpaylas.com/download/313787/4Digit.rar.html

erginkavakci

ARKADAŞLAR 7 SEGMENT E NE YAZDIRACAĞIMIZI BELİRLEYEN PBP SAYILARINI TESPİT ETMEK İÇİN BİR CİHAZ YAPTIM VE SİZLERLE PAYLAŞMAYI UYGUN GÖRDÜM BENİM DİSPLAY DEVRESİ YAPARKEN BAYA İŞİME YARIYOR SİZİNDE YARAR UMARIM.

http://www.hemenpaylas.com/download/416087/pbp_de_7_segment_sayi_kodlarini_bulma_cihazi.zip.html
http://www.ergin.ustasi.com http://www.erbaalilar.tr.cx [email]mucit_ergin@hotmail.com[/email]

elektromadrid

seri giriş paralel çıkış entegreler var onlardan kullanırsan portlardan tasarruf etmiş olursun yada arkadaşların dediği gibi 877 de kullanabilirsin
PIC 16F877

OG

Alıntı yapılan: "sezgin05"Buda benden:
16f84 ile 0-9999 yukarı&aşağı sayıcı.Devrede kullandığım NOT kapıları yerine NPN tipi bir transistör takılacaktır.

http://www.hemenpaylas.com/download/313787/4Digit.rar.html

Bu güzel koda ilave yapıp kullanılmayan haneleri karartalım.

TRISA=16
  TRISB=128
  COUNTER VAR WORD
  BOUNCE VAR BIT
  I VAR BYTE
  UP VAR PORTB.7
  DOWN VAR PORTA.4

  ikinci var byte
  ucuncu var byte
  dorduncu var byte
  
  PORTA=0
  PORTB=0
  COUNTER=0
  BOUNCE=0 
  BASLA:
  For I = 0 to 3

      If (UP = 0) and (BOUNCE = 0) then 
         BOUNCE = 1 
         Counter = Counter + 1

         if counter>9999 then
            counter=9999
            
         endif
         
         
      else 
         If (DOWN = 0) and (BOUNCE = 0) AND (COUNTER<>0) then 
         BOUNCE = 1 
        
          Counter = Counter - 1

          endif
          
         If (DOWN = 0) and (BOUNCE = 0) AND (COUNTER=0) then 
         BOUNCE = 1 
        
          Counter = 9999

          endif
      Endif 

      If (UP = 1) and (DOWN = 1) and (BOUNCE =1) then BOUNCE = 0
      if counter<10 then
      ikinci=0 : ucuncu=0 : dorduncu=0 : goto display
      endif
      if counter<100 then
      ikinci=2 : ucuncu=0 : dorduncu=0 : goto display
      endif
      
      if counter<1000 then
      ikinci=2 : ucuncu=4 : dorduncu=0 : goto display
      endif
      
      if counter>999 then
      ikinci=2 : ucuncu=4 : dorduncu=8 : goto display
      endif

display:      
      Lookup (Counter dig (I)),[63,6,91,79,102,109,125,7,127,111],PORTB 

'      Lookup I,[1,2,4,8],PORTA  
      Lookup2 I,[1,ikinci,ucuncu,dorduncu],PORTA
      Next I
   GOTO BASLA
   END 
  
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

sezgin05