Yeni Başladım Çözmeliyim :/

Başlatan elom, 08 Kasım 2013, 19:18:36

elom

Selamlar aranızda yeniyim aslında yeni değilim bayağı eskiden takip ediyorum bir çok çalışma yaptım yardımlarınızla. Şimdi ise bir sorunla aslında sorun değil bir nevi ödev. Üniversite öğrencisiyim MİCRO-C dersi görüyorum ve ayrıca bi otomobil hastalığım var bunların birleşiminden bir fikir geldi aklıma ve hocama bilgimi aktardım o da buna cevap vermeyeceğini ve bunu benden ödev olarak yapmamı istediğini söyledi.

Yapmak istediğim şey şuydu;

Otomatik araçlarda şanzımanın değiştirdiği vites göstergede görünüyor bende düşündüm dedim ki neden manuel vitesde de böyle birşey olmasın.
vites kenarına 6 tane buton yerleştircem 1. buton kapandığında display ekranda 1 yanıcak. 2. butona basıldığında 2.    3-4-5 aynen bu şekilde devam edicek boş viteste ise yani hiç bir butona basılmadığında   displayda     0   görünecek  geri viteste ise aşağıdaki hazırladığım şemada belirttiğim şekil çıkması gerekiyor. Elimde olan malzemeler PIC-18F4550 ve 6 tane de butonum var display seçimini sizlere bırakıyorum. Bu devreyi İSİS ve MİCRO-C olarak teslim etmeliyim ama MİCRO-Cde pek bilgi sahibi değilim yazar abilerim / kardeşlerim yardımlarınızı bekliyorum. Saygılar..




bir tane daha ekliyorum ne olur ne olmaz diye

pwm.c

18F4550 böyle bir devre için çok fazla gelir. 16F628A ile yapılsa olmaz mı?
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

elom

O da olabilir de elimdeki olan oydu o yüzden yazdım saygılar...

t.t

#3
micro c hakkında pek bilgim yok ama ana tema çok basit olarak şu 5 giriş 7 çıkış olarak bitleri ata eğer hiçbir buton aktif değil ise 6 bit lojik 1 olacak yani segment displayde abcdef yanacak 1. buton kapanırsa 7 segmentte b ve c yanacak 2.butonda ise abged ye bağlı bitlerin logic 1 olmasını en basit şekilde if komutlarıyla yapabilirsin

elom

peki bunu while döngüsüne sokmalı mıyım ? ikinci kötülük de şu ki bende hiç anlamıyorum sadece basit komutlarla yeni başlangıç yaptık :/

pwm.c

#5


void main() {
     CMCON = 7;
     trisa = 0xff;
     porta = 0;
     trisb = 0;
     portb = 0;
     
     while(1)
     {
     switch (porta) {
     case 0: portb=0x3F;  break;
     case 1: portb=0x06;  break;
     case 2: portb=0x5B; break;
     case 4: portb=0x4F;  break;
     case 8: portb=0x66;  break;
     case 16: portb=0x6D; break;
     case 32: portb=68; break;
     default: portb=0;
     }
     }
}

dosyalar:
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

elom

Hocam çok teşekkür ediyorum ellerine sağlık benim için yorulmuşsunuz herşeyi yaptım fakat bi noktada takıldım kaldım PIC\'in dış yüzeyinde ground ve +5v uçları bağlı ben onları bağlayamıyorum nasıl yapabilirim ?

pwm.c

#7
proteustan bahsediyorsan o pinleri kullanamıyorsun ve bağlamana gerek yoktur.
benim çizdiğim devreye sadece göstermek için ekledim. bazıları o pinleri gerçek devrede kullanmıyorlar. bu yanılgıyı önlemek için eklemek zorunda kalıyorum.
sende yapmak istersen gövdeye biyere bir punta ekle ve üzerine bağlantı yap. istersen yanına o pin numarasınıda yazabilirsin.
ek olarak, \"Set Desing Defaults\" bölümündeki \"show hidden pins?\" imlecini işaretlersen gizli pinler görünür ancak hiçbir şekilde bağlantı yapamıyorsun. sadece göstermelik çıkıyor.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

elom

#8
eğer bunlar göstermelik ise ben çalıştıramıyorum sanırım micro-c de deerledim içine dosyasını attım ama olmadı sadece R yanıyor ve elimi çektiğimde de sönmüyor ekranda sadece o var başka birşey yok yani diğer tuşlarda da işlev yok böyle bir sorunla karşı karşıya kaldım konuyla ilgili resimi yükledim saygılar..

pwm.c

Yeniden Derleme için proje oluştururken config ayarlarından Dahili osilatörü seç ve MCLR pinini disable et.




_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

elom

abicim çok çok teşekkür ediyorum zorlandım ama sayende başardım :) hayat kurtarıcımsın abi ne diyim başka allah razı olsun :) izin verirseniz bi kaç projem daha var onlar da da sizden fikir almayı isterim :)

pwm.c

#11
@elom
teşekkürler ama bunlar basit işler ve her aceminin düştüğü standart durumlardır. forumlarda yıllardır hep aynı cevapları yazıyoruz ama çoğu kişi acemilikten olsa gerek ya araştırmıyor yada okusa bile anlamıyor. illa birinin ona özellikle demesini bekliyorlar. örneğin eskiden bazıları seri port ile çalışan JDM programlayıcı yapıp kullanıyordu ama belli bir süre sonra 0000h hatası almaya başlıyorlardı. bunun hakkında forumlara defalarca konu açtılar bizde defalarca aynı şeyleri yazdık durduk. neyseki yeni bilgisayarlarda seri portlar kalktı ve bu hata hakkında sorulan sorulardan kurtulduk.
elinde bulunan kaynakları dikkatli okursan sorun yaşamassın emin ol. elbette hepimize takıldığın yerde soru sorabilirsin ama her aklına geleni yeni konu açarak sorayım dersende kirlilik olur. ayrıca, proje isteyenleri pek hoş karşılamazlar haberin olsun.

yazılım konusunda ben şuanda CCS C kullanıyorum. neredeyse tüm derleyicileri kullandım ama mikroc konusunda çok iyi sayılmam, daha dorusu beğenmedimde diyebilirim. artık register ezberlemek istemiyorum. mikroc nin ARM versiyonunu stm32f100 için hala kullanmaktayım.

Bana yönelteceğin sorular için email gönderebilirsin. vakitim olursa yardımcı olmaya çalışırım.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

elom

Haklısınız direkt olarak istemek kirlilik olur. Ama insanda şöyle bi düşünce oluşuyor diyorum ki mesela belirli bi düşüncem var ama bunu hayata geçirmek için deneyim yada bilgim yok , bir taraftan da hayata geçirme isteği dürtüyor insanı. Bu nedenle soru soruyorum ya da istiyorum bugun bu devreyi gösterdiğimde hoca  güldü bunun için yardım almamalısın dedi haklısınız hocam dedim. Ama tekrar diyorum ki insan durduramıyo kendini abi mesela sizin gibi bilgi sahibi abilerimiz (belki) yapılacak daha büyük şeyler isteyerek çıtanızı genişletmişsiniz. Bizler yeniyiz ve çıtamız henüz belli değil düşe kalka öğrenmeliyiz gerek sorarak gerek isteyerek birşeyleri elde ederek hatalarımızı öğrenmeliyiz. Tabi bu benim düşüncem ve karşımdakinin düşüncesine daima saygılıyımdır. Bu mesleği ölümüne seviyorum diyebilirim yapmak istediğim o kadar fazla şey var ki bu istediğim aralarında bir nokta kalır ama bunu yapabilecek gerek malzeme bilgisi olsun gerek kullanılan cihazları tanıma olsun bilgim henüz yok e okulda da bi yere kadar eğitim var bunları geliştirmek için can atıyorum. Mesela yarı yıldan sonra microc dersleri olmayacak da PLC kontrol verecekler. E nerde kaldı bizim microc (yarım kaldı). bunları bizim tamamlamız bekleniyor. Ve piyasada bu bilgileri öğrenmek imkansız diyebilirim. sonuç olarak öğrenmek istiyorum herşeyi abi sadece başlayacak yeterli bilgiyi istiyorum kendimde başladıktan sonra farkındayım ki elbet yardım alabilirim ama o zaman yardım istemek için yüzüm olabilir.

biraz kafa ağrıttım ama
saygılar...

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın