pic uygulama

Başlatan boyut, 02 Nisan 2009, 18:58:49

boyut

arkadaşlar ben pic 16F84A ve 16F628A' YI kullanarak 8x8  dot matriste farklı şekiller çıkararak isis programında simüle ediyorum.
Sorunum gerçek uygulamasını yapınca; bir türlü programladığım pic'i devre üzerinde çalıştıramadım.

dot matrisim sağlam
+4,5 V DC veriyorum devreye
Pic'e program atarken sorun yaşamıyorum.

Bunun haricinde sizce sorunum ne olabilir?
Ne Mutlu TÜRKÜM diyene

ete

Voltajını 5V yap ve dene yine olmuyor ise buraya şemanı ve programların başlangıç kısımlarını koy ona göre bakalım.
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

boyut

ETE hocam öğrenmeye çalışıyorum. Ayrıca ilgilendiğiniz için çok teşekkür ederim.
5v yaptım durum aynı.Fakat isis şemasını buraya koyamadım. Onun için direk linkini yazıyorum:http://img4.imageshack.us/my.php?image=ledz.jpg

Bu da program :
'****************************************************************
'*  Name    : LEDMATRIS.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 02.04.2009                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
PORTA=0
PORTB=0
TRISB=0

BASLA:
HIGH 2
PAUSE 100
LOW 2
PAUSE 100
HIGH 3
PAUSE 100
LOW 3
PAUSE 100
GOTO BASLA
END
Ne Mutlu TÜRKÜM diyene

stlg

Proteusta cokca yapılan bir hata reset ucuyla yada kristal secimiyle ilgilidir
cunku proteusun default olarak kabul ettigi degerler vardır gercek uygulamada reset uclarının,kristal seciminin ve besleme uclarının dogru sekilde baglanması gerekmektedir
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

ete

Şayet isis deki şemanın aynısını uygulamış isen;
kristalin eksik gözüküyor yalnızca.

İsis, işlemcilerde besleme, mclr direnci,kristal bağlantısını var kabul eder.
Bu nedenle şayet bağlamadı isen;
- Pic in 15-16 nolu bacaklarına 4 MHz.lik bir rezonatör bağla. Bu 3 bacaklı bir eleman olup dıştaki iki bacağı picin 15-16 nolu bacaklarına bağlanacak ve ortadaki bacak ise GND ye bağlanacaktır.
Rezonatör bulamam dersen 4 MHz lik bir kristal bul ve direk picin 15-16 nolu bacaklarına bağla. Bu bacakları birer 22pf kondansatör ile GND ye bağla.
MCLR bacağını (5 nolu bacak) 4K7 direnç ile +5V beslemeye bağla.

Bunların dışında pic in sigorta ayarlarınıda doğru ayarlaman gerek. Bunlarıda şöyle ver;
@ DEVICE pic16F84
@ DEVICE pic16F84, WDT_ON
@ DEVICE pic16F84, PWRT_ON
@ DEVICE pic16F84, PROTECT_OFF
@ DEVICE pic16F84, XT_OSC

Devrede şayet 16F628 kullanır isen programın başına
CMCON=7 komutunu ilave et. Gerçi bu komut A portunu kullanır isen işine yarayacaktır. Değilse çok önemli değil. Yaptığı iş default olarak comparatör girişleri olarak (Analaog) açılan A portu pinlerini digital giriş / Çıkış pininlerine çevirir.
16F628 de ayrıca dahili osilatör bulunmaktadır. Kristal kullanmadan pici çalıştırabilirsin. Bunun için sigorta ayarlarını aşağıdaki şekilde ayarlaman gerek.

@ DEVICE pic16F628
@ DEVICE pic16F628, WDT_ON
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_ON  'veya OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

boyut

Tamam anladım, çok teşekkür ederim yardımlarınız için, deneyip sonucunu tekrar buraya yazarım.
Ne Mutlu TÜRKÜM diyene

boyut

Tekrar teşekkür ederim. Sorun Sigorta ayarlarından kaynaklanıyormuş.
dediğiniz gibi yaptım ve çalıştı.Çok sağolun yardımlarınız için
Ne Mutlu TÜRKÜM diyene

boyut

@ DEVICE pic16F628
@ DEVICE pic16F628, WDT_ON
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_ON  'veya OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT

Ete[/quote]



NOT:
Hocam halleettim sorunu cevap vermeyin başınızı ağırttıysam k. bakmayın. mesajı nerden sileceğimi bulamadım bende not bırakayım dedim saygılar. Yani aşağıdaki yazılanları dikkate almayın.




Ete hocam izninizle birşey daha danışacağım.

Şimdi bende 8*8 ortak anot matris var, yalnız bazı kısımları bozuk olduğundan ben 5 sütun* 6 satır olarak öğrenme amaçlı  kullanıyorum.

ve pic 16f628'in de PortA ya bağlı 4. pin bozuk onun yerine 6. pini kulandım.
yani sütunlara PortA'nın 6-3-2-1-0 nolu pinleri bağlı. Satırlara da PortB'nın 6-5-4-3-2-1 nolu pinleri bağlı. (Sütun 6 Sol baş, Satır 6 en üst satır )
Programı aşağıya kopyalıyacağım fakat önce karşılaşmış olduğum sorunu yazayım:
Aşağıdaki programla F harfini kaydırmaya çalışıyorum. Fakat F karakterinin en üst satırı kaymıyor diğer satırlar kayıyor.

PROGRAM:

@ DEVICE pic16F628
@ DEVICE pic16F628, WDT_ON
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_ON  
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT  

P1 VAR BYTE
i VAR BYTE
i1 VAR BYTE      

d0 VAR BYTE
d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE  
 
TRISA=%00000000
TRISB=%00000000
CMCON=7

P1=5
i=0        '=== BU DEGER SABIT ===
i1=18      '===KAYMA HIZINI AYARLIYOR===  

'===F karakteri degiskenlerde tanimlandi===

d0=%00000000      'SATIR VERİLERİ
d1=%10111111      
d2=%10111111      
d3=%10110111      
d4=%10110111      
d5=%10000001

BASLA:    

i=i+1
   IF i=i1 Then kaydir

'===F karakterinin olusturulmasi===
 
   PORTA=%00000001               'SÜTUN 1
   PORTB=d1
   Pause P1
   PORTA=%00000010        'SÜTUN 2
   PORTB=d2
   Pause P1      
   PORTA=%00000100               'SÜTUN 3
   PORTB=d3      
   Pause P1      
   PORTA=%00001000        'SÜTUN 4
   PORTB=d4      
   Pause P1      
   PORTA=%01000000        'SÜTUN 5
   PORTB=d5      
   Pause P1       
   
   GoTo BASLA       

kaydir:
   i=0    
         '===KAYDIRMA BASLIYOR===
     
       d0=d5
       d5=d4
   d4=d3
   d3=d2
   d2=d1
   d1=d0
            
   GoTo BASLA
   End [color=Font Color] [/color][align=center][align=justify][/align][align=left][/align]
Ne Mutlu TÜRKÜM diyene

stlg

Sevgili boyut

Porta4 bozuk değildir ,digerlerine gore farklı yapıdadır eger bu pini cıkıs yaparsan acık kollektor cıkıslı oldugundan veri alınmıyormus gibi olur ,bu pini bir direncle pullup yap sorunun kalmaz kolay gelsin
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

ete

Aslında üst satırda kayıyor ama kaymadığını sanıyorsun.
d1=%10111111  satırını
d1=%11111111
şeklinde değiştir. Anlayacaksın.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

boyut

Alıntı yapılan: "stlg"Sevgili boyut

Porta4 bozuk değildir ,digerlerine gore farklı yapıdadır eger bu pini cıkıs yaparsan acık kollektor cıkıslı oldugundan veri alınmıyormus gibi olur ,bu pini bir direncle pullup yap sorunun kalmaz kolay gelsin


çok teşekkür ederim hocam .Bende bozuk zannediyordum:)
Ne Mutlu TÜRKÜM diyene

boyut

Alıntı yapılan: "ete"Aslında üst satırda kayıyor ama kaymadığını sanıyorsun.
d1=%10111111  satırını
d1=%11111111
şeklinde değiştir. Anlayacaksın.

Ete

Evet hocam anladım.Çok teşekkür ederim.Ben de şöyle çözmüştüm:

d6=%11111111 değişkenini ekledim.

kaydırmayıda böyle yaptım.

       d0=d5
       d5=d4
   d4=d3
   d3=d2
   d2=d1
   d1=d6
   d6=d0
Ne Mutlu TÜRKÜM diyene

boyut

Mesela şimdi ben F nin yanına A yı ve R yi ekledim ve şöyle kaydırdım.

d0=%11111111      'SATIR VERİLERİ
d1=%10111111      
d2=%10111111      
d3=%10110111      
d4=%10110111      
d5=%10000001
d6=%11111111
d7=%11000001      
d8=%10110111      
d9=%10110111      
d10=%10110111      
d11=%11000001      
d12=%11111111
d13=%11111111
d14=%10011101      
d15=%10101011      
d16=%10110111      
d17=%10110111
d18=%10000001

ve diğer kısım  baya bir karışık oldu ama netice olarak F A R olarak kaydırdım

kaydir:
   i=0    
         '===KAYDIRMA BASLIYOR===
       d13=d7    
   d7=d8
   d8=d9
   d9=d10
   d10=d11
   d11=d12
   d12=d18  
      d18=d17  
      d17=d16  
      d16=d15  
      d15=d14
      d14=d6
      d6=d5
      d5=d4
      d4=d3
      d3=d2
      d2=d1
      d1=d0
      d0=d13
            
   GoTo BASLA
   End
Ne Mutlu TÜRKÜM diyene

veysel46

@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT


ete hocam;
            bu satırı ben cdlıte yazıp pbp derledigimde hata veriyor neden acaba?

ete

Komut PBP için yazılmış ise doğru ve hata vermemesi gerekir.
CDLite kullanmadığım için bir yourm yapamıyacağım.
ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com