Haberler:

Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.

Ana Menü

pic ustalarına basit bir soru?

Başlatan mutsuz4, 11 Mart 2008, 00:57:18

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mutsuz4

slm arkadaşlar pic programlayı bilmediğimden size basit bir şey sormak istiyorum(benim için oldukca zor ) elimde 3 adet led (a.b.c ledleri )var bunları sıra ile a yanacak sonra b yanacak sonra c yanacak hepsi yanık kalacak.(bekleme aralıkları 3sn olsa yeterli)  sonra 3 ledde aynı anda yanıp sönecek 2 defa.  bana yardımcı olursanız sevinirm.devre ve kodlar konusunda... bende kısa zamnda pic ögrenmeye başlıyacagım inşallah... ilğiniz için şimdiden teşekkürler.





Linkback: pic ustalarına basit bir soru?
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

Uykusuz




proteus dosyası:
http://www.savefile.com/files/1432473

mutsuz4 eğer devre istediğin gibi olmamışsa gerekli düzenlemeleri yaparız  ;)

profahmet

buda benden olsun ;)
hem ASM hemde PBP da yazdım ;D
Proje dosyalarım (güncel):
https://github.com/profahmet/projedosyalar

Karadağ

ustalar kızmazsa buda nacizhane benden olsun ben de c de yazdım hemide avr ;D



http://www.savefile.com/files/1433856
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

asenkron

simdi ekranın ortasına dikkatlice bakın yazdıgım programı görebilecekmisiniz.




                                                  o

mutsuz4

#5
arkadaşlar (üstatlar) cok teşekkürler ellerinize sağlık cok işime yarayacak... birde bunun sekizlisini yapa bilirmiyim 16f84 ile bi türlü cözemedim ben bu işi.
led ler yanacak sıra ile fakat yanan led sönmeyecek yani sekizi ledde yanık kalacak . en son 3 defa yanı yanıp sönecek 8de. bu devrenin programı nasıl olacak yardımlarınız için şimdidenn coooook teşkkürler bana bu konuda yardımcı olacak döküman program önerilerinizi bekliyorum .. hayırlı günler....
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

Karadağ

mutsuz microc bilgisayarımda kurulu değil olsaydı onun da kodlarını yazardım winavr kurulu aşağıdaki kodlar 8 adet ledi sırayla yakar her yanan yanık kalır en son hepsi 2 kez yanıp söner ve döngü başa döner inşallah işine yarar

http://www.savefile.com/files/1433909

#include <avr/io.h>
#include <util/delay.h>

void delay_ms(uint16_t ms){
    for(uint16_t x=0;x<ms;x++){
        _delay_ms(1);
    }
}

void mcu_init(void){
//Giris/Cikis ayarlari
PORTB=0x00;
DDRB=0xff; //PORTB0,1,2,3,4,5,6,7'yi cikis yap
}

//Ana Program Fonksiyonu
int main(void){
mcu_init(); //islemciyi hazirla

while(1){ //sonsuz dongu
PORTB=0X00;
delay_ms(3000);
for(int i=0;i<8;i++)
{
PORTB|=_BV(i);
delay_ms(3000);
}
for(int j=0;j<2;j++)
{
PORTB=0X00;
delay_ms(3000);
PORTB=0Xff;
delay_ms(3000);
}

}
}
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

mutsuz4

#7
teşekkürler karadg hocam bunları ben 16f84 atıcam onun cin bi kart yapıyorurum sanırım bi sürü programlama dilleri var bunları hex dosyasına cevrilip o şekilde atılacak sanırım bende ufak tefek kendi capımda bir şeyler yapmak istiyorum biliyorum bunlar sizin için cerez ama ben baya bi zorlanıyorum.. int bir cok döküman buldum inşallah birşeyler ögrene bilirim... c dili ile yapmak sanırım en zoru olan??? bu işin basiti hangisi ? proteus ta devreye yazdıgımız kodu nasıl deneye biliyoruz dosyayı yazıp direk olarak entegreye gösterip calıstır diyoruz sanırım?
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

Karadağ

rica ederim ama bu kodlar malesef pic de iş görmez atmel de çalışır eğer pic öğreniceksen asm ile programlamayı öğrenmen sanırım daha isabetli olur ama malesef en zoru asm dir(göreceli) ben asm yi çok bilmiyorum ama şöyle bir örnek veriyim mesela lcd sürüceksin ve lcd ye merhaba yazdırıcaksın c de yapman gereken ilk başta #include "lcd.h" yazdıktan sonra printf("merhaba"); yazmak olucaktır ama asm dersen baya sürer tabii asm demek hız demek kontrol demek orasıda ayrı mevzuu asm hakkında uykusuz ve profahmet çok daha iyi bilgi vereceklerdir.
insanlar sizi eskisi gibi kullanmadıklarında değiştiğinizi söylerler...

Eğer bir aptala laf anlatmaya çalışırsan dışarıdan bakanlar iki aptalın sohbet ettiğini sanırlar.

Kamburlar ülkesinde sırtı düze sakat denir.

mutsuz4

#9
karadag hocam ilğin için teşekkürler ben sizler kadar bu iş te iler leyemem ben sadece ışık devreleri yapmak istiyroum yani temel mantıgını ögrendimmi yeter:) fazlası cok gelir... yani nasıl yapılır bu kodları yazdıktan sonra nasıl deneye bilirim? yukarıda uykusuzun verdiği kodlar üzerinde oynayarak değişik seyler yapabilirmiyim? gibi sorular var aklımda?elimde 16f84A üm var bununla ışık devreleri yapmak istiyorum:)
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

profahmet

Alıntı yapılan: mutsuz4 - 12 Mart 2008, 01:10:47
karadag hocam ilğin için teşekkürler ben sizler kadar bu iş te iler leyemem ben sadece ışık devreleri yapmak istiyroum yani temel mantıgını ögrendimmi yeter:) fazlası cok gelir... yani nasıl yapılır bu kodları yazdıktan sonra nasıl deneye bilirim? yukarıda uykusuzun verdiği kodlar üzerinde oynayarak değişik seyler yapabilirmiyim? gibi sorular var aklımda?elimde 16f84n üm var bununla ışık devreleri yapmak istiyorum:)

sana gönderdiğim yazılımda kolay anlaman için binary olarak yazdım. .asm uzantılı dosyayı not defterinde aç yada .bas uzantılı dosyayı MicroCode Studio programında aç. oradaki 1 ve 0 lı rakamlar var. 1 yanan ledleri gösterir. bunları istediğin gibi değiştirerek çoğaltabilin.

.asm derlemek için MPLAB programını indir. MPASM isimli derleyiciyi kullanacaksın. MPLAB ı aç ve derleyeceğin .asm dosyasını bul yukarıdaki configure bölümünden Select Device yi aç oradan 16F84A yı seş. ok de.
daha sonra project bölümünden Quickbuild i tıklayarak derlemiş olursun. asm dosyasının bulunduğu dosya yolunu c:\ sürücüsü içinde tek klasörde topla. dosya yolu uzun olursa hata mesajı veriyor.

.bas dosyasını derlemek için önce MicroCode Studio programını ve PBP derleyicisini kurmalısın.
gerekli açıklamalar ve tün ayrıntılar bu videoda mevcut.
http://www.mediafire.com/?8vl00dmxttc

hangisi kolayına gelirse artık ona başlan :)

kolay gelsin...
Proje dosyalarım (güncel):
https://github.com/profahmet/projedosyalar

yanlızkurt

merhaba mutsuz mail olarak attığım linkin içinde mcs picprog ve pbp programları var. ben basic çalışmaya başladım. asm den çok çok kolay bence sende ordan başla. 100 sayfalık bir ders notu oluşturdum bilgisayarın olmadığı yerlerdeyim bu aralar. okuyarak  bilgimi artırıyorum.

mutsuz4

#12
teşşekkürler arkadaşlar. bende asm ögrenmeye basladım sayenizde cok sağ olun ilğiniz için.......Birde arkdaşlar devreye 78l05 ile 5 volt besleme gerilimi veriliyor bunun acık semasını vere bilirmisiniz.. taw olarak olayı cözemedim daha:)  yaptıgım devreyi inaşşah akşam kelerim buraya eger biterse:)
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

profahmet

#13
Alıntı yapılan: mutsuz4 - 13 Mart 2008, 09:04:15
teşşekkürler arkadaşlar. bende asm ögrenmeye basladım sayenizde cok sağ olun ilğiniz için.......Birde arkdaşlar devreye 78l05 ile 5 volt besleme gerilimi veriliyor bunun acık semasını vere bilirmisiniz.. taw olarak olayı cözemedim daha:)  yaptıgım devreyi inaşşah akşam kelerim buraya eger biterse:)



devredeki filitre bobinini herzaman kullanmamayabilirsin.
PIC, beslemedeki parazitlerden etkileniyor ve resetleniyor. basit devreler için bobine gerek olmaz ancak yazılım olarak karmaşık bir devre ise önemli olur. benim şifreli kilit devresinde bu sorunu yaşadım.
PIC i pil yada akü ile besleyeceksen bobine gerek olmaz.

dier bir konu, asm ile başlaman iyi bir karar. ilk başlarda zor olsada ileride faydasını görürsün. PIC datashetlerindeki örnekler asm olarak verilmiştir.
dikkat etmen gereken şey her PIC'in değişik port ayarlamaları var bunları yazılımda mutlaka uygulamalısın.
asm de mantık hatalarını çok sık yapabilin. bunun içinde zamanla tecrübe kazanırsın.
senin en iyi yardımcın kullanacağın PIC in datasheti ve örnek yazılımlar olacaktir. bende, sana her konuda yardımcı olabilirim.
kolay gelsin...
Proje dosyalarım (güncel):
https://github.com/profahmet/projedosyalar

mutsuz4

#14
teşekküürler ahmet bi sorum  daha olacak mesela leddi yavaş yaavaş yakmak istiyorum sanırım 1v ile 5v arası cıkıs alabiliyoruz  yani kalp gibi atsın led :) cok şeymi istedim??

ahmet hocam msn ye eklerseniz sevinirim: mutsuz_4@hotmail.com
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

profahmet

Alıntı yapılan: mutsuz4 - 13 Mart 2008, 11:31:35
teşekküürler ahmet bi sorum  daha olacak mesela leddi yavaş yaavaş yakmak istiyorum sanırım 1v ile 5v arası cıkıs alabiliyoruz  yani kalp gibi atsın led :) cok şeymi istedim??
bende teşekkür ederim...
soruna gelince:
az yada çok dijital elektronik biliyorsunuzdur. PIC lerde bu dijital elektronik eseslı çalışır.
bildiğiniz gibi dijital elektronikte sadece iki sayı vardır başka yok. 1 ve 0. PIC portları sadece 1 ve 0 çıkış verir. lojik 1 +5v dur. 0 -v dir. kısaca portlardan bu iki değer dışında başkasını alamassın.
not: PIC16f628 in referans gerilim çıkışı var ancak sadece belli seviyeleri veriyor.
PIC le LED parlaklığını değiştirmek için 2 yöntem var.
1. DAC (Digital Analog Converter) yöntemi. burada dirençler yada entegre ile 2li sayı sistemi analog gerilime dönüştürülür. sayı değeri değiştikce çıkış gerilimide değişir. donanımsal bir yöntemdir.
2. PWM (Pulse Width Modulation) yöntemi yani darbe genişlik ayarlama. bu yöntemi donanıma fazla malzeme kullanmadan uygulayabiliyon. belli bir birim zaman süresinde LED in yanma süresi ile sönme süresinin oranları değiştirilerek parlaklığı ayarlayabiliyorsun. tamamen yazılımla yapılabilinecek bişey. PWM yöntemini bir çok devrede kullanıldığını görebilirsin. örneğin smps devreleri bazı metal dedektörleri ... gibi.
PIC lerde PWM i yapay olarak üretebileceğin gibi bazı modellerinde donanımsal olarak bulunmaktadır. örneğin 16f628 de var ancak 16f84 de yok.

yukarıda adı geşen PWM ve DAC yöntemlerini googlede arayarak ayrıntılı döküman bulabilirsin. hazır devreler çok var ancak kendin öğrenmelisin. her istediğin hazır olarak eline verilirse öğrenmen zorlaşır. sana gönderdiğim yazılımdaki bazı sayıları değiştirerek değişik şeyler üretebilin. öğrenme sürecin çalışmana bağlı olarak aylar sürebilir. acele yok.

birde şunu ekleyim PIC aynı anda 2 işi yada daha fazlasını birden yapamıyor. her şeyi sırayla yürütüyor. örneğin pc de yazı yazarken müzik dinleyebilin ancak PIC böyle değil. buda aklında bulunsun.
kolay gelsin...
Proje dosyalarım (güncel):
https://github.com/profahmet/projedosyalar

mutsuz4

slm arkadaşlar sehir dışında oldugumdan dolayı yatıgım dosyayı ancak sizlerle paylasa biliyorum buyrun sizlerin sayesinde yaptıgım devrem... fotolarına da en kısa zamanda eklerim.. birde sunu sorayım yaklasık 700 adet led kullandım 100 led bir harfi olusturdu ve hepsini paralel bagladım fakat devreyi calstırdıgımda ilk yanan led parlak diğer ledler devreye girdikçe ışık şiddeti düşüyor 5amperlik bir akü ile besliyorum yinede yetmiyor bunu nasıl ayrlaya bilirimö sanırım bazı ledleri seri baglamam gerekiyordu fkat baska bi çözümü yokmu bilği veririseniz sevinirm..

http://www.dosyaupload.net/download.php?file=54273
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

E_Studio

Mutsuz kardeşim sen eczane harfi için mi kullanıcan bu lambaların yanıp sönmesini onu söylesene bize?
buna göre yardımcı oluruz biter iş.Koalaygelsin.

mutsuz4

hocam ben bitirdim devreleri yaptım reklam panosu için yaptım yarın inşllh foto larını koya bilirim foto makinamı bulamıyorum inşllh yarın fotoları ekleye bilirim...
[move](BiLGi PaYLaŞıLDıKÇa ÇoĞaLıR)[/move]
                        J@F

senkron

Alıntı yapılan: mutsuz4 - 17 Mart 2008, 19:57:56
slm arkadaşlar sehir dışında oldugumdan dolayı yatıgım dosyayı ancak sizlerle paylasa biliyorum buyrun sizlerin sayesinde yaptıgım devrem... fotolarına da en kısa zamanda eklerim.. birde sunu sorayım yaklasık 700 adet led kullandım 100 led bir harfi olusturdu ve hepsini paralel bagladım fakat devreyi calstırdıgımda ilk yanan led parlak diğer ledler devreye girdikçe ışık şiddeti düşüyor 5amperlik bir akü ile besliyorum yinede yetmiyor bunu nasıl ayrlaya bilirimö sanırım bazı ledleri seri baglamam gerekiyordu fkat baska bi çözümü yokmu bilği veririseniz sevinirm..

http://www.dosyaupload.net/download.php?file=54273
Arkadaşım eğer ledlerin parlaklığının değişmesini istemiyorsan her ledin önüne bir adet direnç bağlamalısın.


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious