PIC BASIC PRO Öğreniyoruz soru cevapları

Başlatan aster, 19 Mayıs 2005, 17:33:33

ete

Her şeyden önce sana HEX uzantılı dosya lazım ASM değil. Her nekadar derleyiciler bir ASM dosyasıda üretselerde bu yardımcı bir dosyadır. DOlaysıyla Pic'e yükleyeceğin dosya HEX olacaktır.

Forumda arattırırsan bulabilirsin. PBP246 kulanacaksın. Editör olarak ayrıca Microcodestudio kullan. Yapacağın iş şöyle;
- Önce PB246 yı yükle ve C klasörüne bir yere install et.
- Daha sonra Microcode Studio yu yükle (bunuda forumda arttır bulursun)
- Microcode Studio yu ilk defa çalıştırdığın zaman program PBP246 yı kendisi arayıp bulacaktır. Gerisi program yazım derlemeye kalıyor.

Basic bulabileceğin adresi aşağıda veriyorum.

ETE

https://www.picproje.org/index.php/topic,5344&highlight=pbp246
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

bigbey

Sayın ETE,
Benim derdime varmı bi çare Ondalık sayı işlemi konu başlığında.
Saygılar,
TA6R

aster

Arkadaşlar, sevgili ETE nin PBP derslerini ana sayfada makale bölümünde yayınlıyorduk. Son veri tabanı yüklemesinde bazı sorunlardan dolayı makale bölümü devre dışı kalmıştır bu yüzden kalan dersleri sizlere direk veriyoruz, gene sorularınıza buradan devam edebilirsiniz

http://groups.yahoo.com/group/PicProjeUP6/files/ içinde

pbpdersleri1.rar ders 1-2-3-4-5
pbpdersleri2.rar ders 6-7-8
pbpdersleri3.rar ders 9-10

tmr01

merhaba.

Mesleğim muhsabe ama elektroniğe ve teknolojiye merakımdan dolayı pic programlayıcısı ve hoby devresi aldım. buradaki bütün dersleri iyice okudum. denemeler yaptım. fakat bi yerde tıkandım.

Soru şu:
Şimdi 16f84 de herhangi bi çıkış kapısından (portb.1) high gönderip ledi yaktık. low gönderip söndürdük.
peki ledi yavaştan parlağa doğru kademeli olarak nasıl yakabiliriz. yada patalayan sonra yavaş yavaş sönen bi yıldız gibi. yani trimpot görevi yaptırabilirmiyiz bu pic'e

yardımlarınız için teşekkür ederim.

Veli B.

84 için software üzerinden PWM ile elbette parlaklığı değiştirebilirsin.PWM darbe genişiliği modülasyonu olarak geçer.Led üzerine düşen ortalama gerilimi değiştirerek, parlaklığı ayarlayabilirsin.

Erol YILMAZ

Oncelikle Hosgeldin...
Normalde PIC in cikislari dijitaldir. 0 ve 1 disinda birsey vermez...
En basitinden PWM teknigi ile dijital bilgi analog gerilim seviyelerine donusturulebilir.

Daha da basitlestirir isek,
Surekli 1 verdiginizde LED en parlak haliyle yanar.
Surekli 0 verdiginizde LED hic isik vermez.

Peki cikisimizi %10 zamanda 1, %90 zamanda 0 yaparsak ne olur?
Cikis frekansimiz 1 Hz gibiyse yanip-sonen LED,
Cikis freklansimiz 50 Hz ve uzeriyse azicik yanan bir LED olur.

Yani analog sinyal elde etmek icin min 50 Hz gibi dusunerek cikisin, 1 ve 0 olma oranlariyla oynamaniz gerekiyor.

Gecenlerde 0...5 Volt arasi gerilime ihtiyacim olmuştu. PIC in donanimdan PWM cikisini kullanarak bu gerilimi elde ettim, Bence gayet basarili da oldu.
#include <16F628.h>
#fuses INTRC,NOWDT,NOPROTECT,NOLVP,NOMCLR
#use delay(clock=4000000)

void main()
{
   setup_ccp1(CCP_PWM);                   // CCP :)
   setup_timer_2(T2_DIV_BY_1, 49, 1);     // 20 kHz
while(1)
{
   set_pwm1_duty((unsigned long int)10);     delay_ms(3000);
   set_pwm1_duty((unsigned long int)20);     delay_ms(3000);
   set_pwm1_duty((unsigned long int)30);     delay_ms(3000);
   set_pwm1_duty((unsigned long int)40);     delay_ms(3000);

}
}


Buradaki kod CCS ile yazilmis, calisan bir kod, Basic bilenler bunu Basic'e cevirebilir.

goruldugu gibi cikis 1 suremiz set_pwm1_duty() fonksiyonu ile belirleniyor. Bu frekansta 200 sayisi full 1 cikisa denk geliyordu.
16F628 ile bu istedigini rahatlikla yapabilirsin...

Sinyal cikan ucu 1 kOhm ve 22 uF ile filtrelersen cikisin tam bir analog olur...

Veli B.

PWM pin,duty,cycle



pin:çıkış alacağın ilgili pin.
Komut koşulurken otomatik olarak çıkış değilse çıkış olarak yönlendirilir.
Çıkış olarak tanımlamış isen komut sonunda konumunu korur.

duty:Bir puls içinde % kaçlık dilimde High(1) olacağını belirler.0-255 arası değer alabilir.
255 % 100 e denk gelir.127 %50 gibi

cycle: 1 Sn de göndereceğin puls sayısı.

Örneğin;

PWM portb.7,63,100
dersen B portunun 7. pininden %25 iş süreli, sn de 100 puls gönderirsin


Burada duty ile oynayarak parlaklığı ayarlayabilirsin.

yusuftr80


mihri

slm. microcode studio ile ilgili bir problemim var yazdığım kodları derlediğimde --fatal: out of memory (pbpw.exe)-- diye bir hata veriyor pbp 246 yı c ye yükledim microcode studioyuda kurdum ama hep aynı hatatyı veriyor ben bir çözüm bulamadım   :roll:  yardımlarınız için şimdiden teşekkürler
"Eppur si muove!"

mhk

Seçtiğin mikrokontrolör hafızası yeterli değil yada , bilgisayarında bir problem var.Aynı programı başka bir bilgisayarda deneyebilirsin.
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

ilhan1

selamlar. pbp 246 yı  mplab ile birlikte kullanıyorum. 16f877 işlemcisinde yukarıda belirtilen fatal eror-out of memory sorunu bendede oldu. yazılımın boyutu 2k civarında. acaba elimdeki pbp limitlimi. yoksa pbp da atladığım bir noktamı var. konu hakkında bilgisi olan varsa yardımlarını bekliyorum.
herkese iyi çalışmalar

ilhan1

out of memory sorunu çözüldü.Şu şekilde:öncelikle pbp klasörünün içeriğini kontrol edin. pbpw.exe dosyasını görün. daha sonra mplab da pic basic pronun tanıtıldığı project/install language tool menüsünden daha önce pbp olarak tanıtılmış bağlantıyı pbpw olarak değiştirin. pbpw nin bulunduğu dosya yerinide(browse) tanıtın. bu kadar.
derleyici çalışıyor. bu arada sayfa aşıldığına dair mesajlar gelebilir. bunlar sadece mesaj. gerekli sayfa ayarlarını pbp yapıyor. herkese başarılar ve iyi çalışmalar.

tagan

lcd ekrana ders 3 te olduğu gibi hexadecimal olarak sayı yazdırmaya çalışıyorum bad expression hatası veriyor. komut:
LCDOUT $FE,$C0,"Hex  = ",HEX2 SAYI
tabiki aynı yöntemle binary olarakta yazamıyorum herhalde HEX2 tanımlamasında hata var  :?:
birde notları rapidshare e de yükleseniz daha iyi olur bende ilk 6 sı var
geri kalanını edinemiyorum. şu mailden indirme olayınıda bi çözemedim gitti zaten
herkese teşekürler

dombilik

protonun help kısmından "bin" komutunu bir incele istersen..
Bildiklerini kime miras bıraktın?kimseyemi? O zaman bildiklerinin ne önemi kalır. ******** /////////// ******** PROTON-ASM PROTEUS 7.4 SP3 EAGLE 5.40

tagan

teşekürler yardımcı olduğun için şimdi indiriyorum inceleyeceğim umarım sorunumu çözer