Ynt: FxDev'in Kitabındaki Örnekler

Başlatan zorlarecord, 06 Ağustos 2012, 13:15:38

zorlarecord

Öncelikle herkese merhaba.FxDev'in Kitabındaki Örneklerde gerilim pic'in neresine bağlanıyor. Saygılarımla.Selamünaleyküm.Birde bu kitaptaki ikinci örnek buton ile led yakma devresi çalışmıyor.Devreye genel bakınca gerilim nereden sağlanmalı ?

mesaj birleştirme:: 06 Ağustos 2012, 16:21:19

Diğer bir soruda 0x000, 0x001, 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F gibi terimleri neye göre yazıyor ne anlam ifade ediyor.

ayhani

İsiste devre yapımını hızlandırmak için pic'e besleme her zaman verilmiş sayılır. Fxdev'in tüm örnekleri çalışıyor. Ben kitaba simülasyon videolarını eklemiştim isterseniz aşağıdaki linkten indirebilirsiniz.

http://www.1amper.com/fxdev.html
En iyi bildiğim şey hiçbir şey bilmediğimdir.

serhat1990

#2
Alıntı yapılan: zorlarecord - 06 Ağustos 2012, 13:15:38
Öncelikle herkese merhaba.FxDev'in Kitabındaki Örneklerde gerilim pic'in neresine bağlanıyor. Saygılarımla.Selamünaleyküm.Birde bu kitaptaki ikinci örnek buton ile led yakma devresi çalışmıyor.Devreye genel bakınca gerilim nereden sağlanmalı ?

mesaj birleştirme:: 06 Ağustos 2012, 16:21:19

Diğer bir soruda 0x000, 0x001, 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F gibi terimleri neye göre yazıyor ne anlam ifade ediyor.

Kitaptaki örneklerde configuration ayarları yoktu yanlış hatırlamıyorsam ondan çalışmayabilir. Sigorta ayarları yok diye hatırlıyorum. Programına bunları eklersen sıkıntı ortadan kalkar. Örneklerde analog bilgiyi RA0 ve RA1' den okuyor. Analog giriş pinlerini kullanıyor.
Söylediğin dizi ise 7 segmenti sürmek için . Bunları 7 segmenti biliyorsan anlayabilirsin. Bu değerleri belli bir porta yüklüyor . Ve 7 segmentte senin yüklediğin bu sayılara göre ledler yanıyor. 0x3F = 0 yakar örneğin. Kolay gelsin.

zorlarecord

#3
Tamam cevabın için teşekkür ederim lakin bu benim sorumun cevabı olmasa gerek.Benim merak ettiğim bu dizi içerisindeki 0x.... gibi terimlerin bir mantığı olmalı neye göre yazıyoruz.Bunu öğrenebileceğim bir yer var mı ? + bu configuration ayarlarının mantığını anlatan bir kaynak baktım bulamadım bunuda nereden öğrenebileceğimi söylemen yeterli

mesaj birleştirme:: 07 Ağustos 2012, 12:04:38

ayhani kardeşim sana da teşekkür ederim.Peki bu örnekleri Isis'te çizip ares'e aktardığım zaman 31 numaralı bacakla 11 numaralı bacağı kısa devre olarak gösteriyor(tam olarak hatırlamamakla beraber).Ben bunun baskı devresi için çıktısını alırken bu şekilde kısa devre olarak mı alacağım ? Somut hale dönüştürürken gerilim bağlantılarını bu baskı devresinde göremiyorum bu nasıl olacak ? Hadi kendim ekledim diyelim hangi bacaktan gerilim sağlanmalı ?

mesaj birleştirme:: 07 Ağustos 2012, 12:09:12

Birde verdiğin adreste simülasyon videoları yok :)

serhat1990

Bak şimdi google'a 7 segment yaz. Ve 7 segmentin iç yapısına bak. İlk önce ledleri yakıp söndürmek için ne yapman gerektiğini göreceksin. Ondan sonra sana şöyle birşey söyliyeyim. PORTB=0x3F; dedik diyelim.
Bu sayede b portunun durumu ,

B-7 B-6 B-5 B-4 B-3 B-2 B-1 B-0
0     0    1     1    1    1    1     1   olacak 7 segmentin hangi bacağı hangi pine bağlıysa ona göre ledlerin yanıp sönmesini sağlarsın.

En iyi çözümü kendin burada göreceksin.

http://www.thelearningpit.com/lp/doc/7seg/7seg.html


Ayrıca configuration ayarları yani sigorta ayarları için kitap vs gerek yok. Datasheet ' e açıp configuration word yazınca görebilirsin.

Örneğin __CONFIG ( 0x2423 ); Gibi datasheet'e göre kodunu yazarsın.

Kolay gelsin.

zorlarecord

Eyvallah kardeşim sağolasın.Peki bu configuration ayarlarını yaparken parantez içi rakamların ne iş yaptığını üretici belirliyor değil mi ?*

serhat1990

Evet ama bunları sen ayarlıyorsun . Aşağıda 16f877'nin dediğim bölümü var. İncelersen fikir sahibi olursun.
En alttaki 1. ve 0.bit devrenin çalışması açısından çok önemli osilatör kaynağını seçmen amacıyla.


zorlarecord

Peki bu tabloya bakarak bir tane örnek configuration oluşturabilir misin ?

serhat1990

bak şimdi 4 mhz kristal osilatör kullanıyorsun , watch dog timer kapatalım , power up timer'ı açalım , brown-out reset kapatalım , lvp kapatalım , data korumasını kapatalım , yazıma karşı korumayı kapatalım , devre üzerinde programlamayı kapatalım , kod koruması kapatalım , ve yapalım :)

__CONFIG ( 0x2F01 ); BUNLARI ACARSAN 0010 1111 0000 0001 anlarsın tablo ve kodlara bak. Tamam sigortaları öğrenemezsen program yazman zorlaşır. ayrıca ben böyle yazıyorum bunun biraz daha basit bir yolu var kullanmadığımdan pek bilmiyorum .

Diğer şekil buna benzer

__CONFIG( CPD & INTIO & MCLRDIS & WDTEN & LVPDIS & PWRTEN & BOREN ); tamam kolay gelsin.

zorlarecord

Kardeşim harbiden sana çok çok teşekkür ederim.Benim merak ettiğim bunları hangi sırada yazıyoruz.Bit sıralaması her zaman ki soldan sağa doğru(...,3,2,1,0) mu?Birde bunları yazarken tablodaki en solda satır satır yazan bit numaraları bunların yerini mi belirliyor ? Eğer böyleyse bazı parametreler 2 bitle, bazıları 1 bitle mi temsil ediliyor ? Bütün bunlar doğru ise configuration ayarları toplam 14 bitle temsil ediliyor(Bu pic için).Geriye kalan 15. ve 16. bitleri 0 olarak gösteriyoruz değil mi ?Son olarak:Bu tabloya ise configuration word diyerek ulaşıyoruz ?*

serhat1990


zorlarecord

.Peki bu örnekleri Isis'te çizip ares'e aktardığım zaman 31 numaralı bacakla 11 numaralı bacağı kısa devre olarak gösteriyor(tam olarak hatırlamamakla beraber).Ben bunun baskı devresi için çıktısını alırken bu şekilde kısa devre olarak mı alacağım ? Somut hale dönüştürürken gerilim bağlantılarını bu baskı devresinde göremiyorum bu nasıl olacak ? Hadi kendim ekledim diyelim hangi bacaktan gerilim sağlanmalı ?

muratdu

16F877 in datasheetine baktım.

pin 11 ve 32 VDD
pin 12 ve 31 VSS

gözüküyor. Bunu mu soruyorsunuz?







serhat1990

Alıntı yapılan: zorlarecord - 14 Ağustos 2012, 13:34:05
.Peki bu örnekleri Isis'te çizip ares'e aktardığım zaman 31 numaralı bacakla 11 numaralı bacağı kısa devre olarak gösteriyor(tam olarak hatırlamamakla beraber).Ben bunun baskı devresi için çıktısını alırken bu şekilde kısa devre olarak mı alacağım ? Somut hale dönüştürürken gerilim bağlantılarını bu baskı devresinde göremiyorum bu nasıl olacak ? Hadi kendim ekledim diyelim hangi bacaktan gerilim sağlanmalı ?

Kullandığınız işlemcinin datasheet'ine bakın. 877'de iki tane vcc 2 tane gnd mevcut.

zorlarecord

Evet o zaten açık ve net.Sıkıntı ares'te bunu bastırmak istediğin zaman otomatik olarak gerilim yolları çıkmıyor bu nasıl sağlanmalı?*