avatar_ete

PIC Basic Ders-10 (Uygulama Örnekleri)

Başlatan ete, 28 Ağustos 2011, 16:19:35

ete

ÖRNEK PROGRAM: 1 LED ANİMASYONU
ÖRNEK PROGRAM : 2 OTO CAM KONTROLU
ÖRNEK PROGRAM : 3 DTMF İLE CİHAZ KONTROLU
ÖRNEK PROGRAM : 4 DİJİTAL POT (DS1868) KONTROLÜ
ÖRNEK PROGRAM : 5 FREKANSMETRE – PALS SAYICI

Hattuşa

s.a.
proton kullanan arkadaşlardan bir el atmasını rica ediyorum, ds1868 dijital pot uygulamasını beceremedim, sağolsun ete hocam yapmış burada ama beceremedim, rica etsem eklediğim isis şeması ve bas dosyasına göre hatam nerde?
isis şema ve bas ekte..  ;D

Hattuşa

ete hocam bu konuda kimsenin fikri yok sanırım, sizin kodları ben neden çalıştıramadım yoksa bağlantılarda mı hata yapıyorum?

F®T

"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Biliyorsunuz 16F628 de A portunda komparatör vardır.
Bu portun genelde komparatör olarak kullanımı çok az. Seninde kullandığın şekilde portun Digital olarak ayarlanması gerekir.
Geçenlerde bu konuyu Proton Kullanım klavuzuna bakarak incelemiş idim. Derki ALL DIGITAL=TRUE komutu yalnızca ADC pinlerini digitla yapar. Komparatör için CMCON=7 komutunu koymanız gerekir der.
Seninde sorunun bu olabililr. Dene istersen.
Programın diğer kısımlarına bakmadım. Bakmam için oturup proton komutlarını incelemem ve yazdıklarını kontrol etmem gerkeiyor ki buna vakit ayırmam çok zor şu anda.

Ete

pwm3434

ete  hocam  ders  10' daki  frekansmetre  güncelmi  bu hali  ile inşasına  başlayabilrmiyim  farkındayım ama   sonradan devreye extra eklenti varmı. 

ete

Ete projelerinde proje olarak da vermiştim. Oradaki halini yaparsan güncel. Evde kullanıyorum.
Önemli olan preanfisidir. kartı çiftyüzlü bas üst (malzeme) tarafı ekranlama görevi görsün.
Frekans bölücüsü zor bulunuyordu ama bir ara muadil bir şeyler gelmişti  piyasaya aynı kılıf ve bacak yapısında farklı bölme oranları var idi. Bir kaç kişiye programda bölücü tadilatı yapmıştım.

Ete

Adem AYDIN

Led animasyonu simülasyonda düzgün çalışmıyor, atlayarak gidiyor, sorun ne olabilir?
ALLAH 'ın Dini Galip Gelmesi İçin (Malınızla ve Canınızla) Çalışın.

ete

Animasyon programı bir görsel deneme programıdır. Dersleri takip eden kişilere bilgi vermak amacı ile düzenlenmişti. Düzgün çalışıp çalışmaması ön planda tutulmamıştır.  Program hem PORTA yı hemde PORTB yi kullanmaktadır. Bu dersler yazılırken var olan simulasyon versiyonu PORTA nın gerçekte kullanılmayan pinlerinden çıkış gösterebiliyor idi. Ama yeni versiyonlar artık göstermiyor.
PORTA nın kullanılabilir pinleri 0-4 arasındaki 5 adet pindir. PortA.5 , MCLR pini olup yalnızca giriş olabilmektedir. Dolayısıyla bu animasyonda kullanılmaması gerekir. Bunu ders notlarında belirtmiş idim. PortA.6 ve PortA.7 osilatör pinleridir ve dahili osilatör kullanılırsa bu pinler normal giriş çıkış pini olarak kullanılabilir. Yeni versiyon simulasyon programı bunu bile kabul etmiyor. Ben ettiremedim ettiren var ise söylesin.
Programın başına BASLA satırından evvel PORTA=255 :pause 1000 yazın ve bakın bütün kullanılabilir çıkışların aktif olması gerekirken PORTA.6 ve 7 gri renge dönmektedir. Gerçek pic de bu çalışır mutlaka ama simulade çalışmıyor.

Ete

Adem AYDIN

ALLAH 'ın Dini Galip Gelmesi İçin (Malınızla ve Canınızla) Çalışın.

f.hosoglu

Benim bi sorum olacak aslında...  18f2550 ' picbasic kullanıyorum , "" if sayi>0 then high portb.0""" yazıyorum,  şart sağlanınca,  portb.0 sadece 1 saykıl süresince lojik " 1 " oluyor..  Aynı komut 16f84 ve 16f877 'de çalışıyor... Neden acaba????

ete

Programın başka bir yerinde aynı pini LOW a çeken bir komut vardır ve arada gecikme olmadan hemen o komut devreye giriyordur. Bir pinin high olupp olmadığını anlamak için peşinde mutaka birazda gecikme koymak gerekir. Aynı şey LOW olduğunda da geçerlidir.
Pin'e bir kere HIGH dedinmi orada kalması gerekir. Üstelik kullandığın KOmut önce o pini çıkış yapar sonra o pine 1 değerini verir (PORTB.0=1 deseydin yalnızca pine 1 değerini verir). Doğru yorum yapmak için Programın tamamına bakmak gerekir.

Ete

f.hosoglu

programın nerde hata olduğunu bulmak için osilaskop'a bağladım ve sırayla kodları sildim ... programda sadece ve sadece

basla:
     if sayi>0 then portb.0=1
goto basla

kaldı ve portb.0'dan yaklaşık 4 mhz lik iğne palsi alıyorum ....

aynı şekilde ;

basla:
high portb.0 veya portb.0=1
goto basla

dediğimde çalışıyor .... if koşullandırmasında sadece "if" komut satırının harcadığı saykıl sayısı kadar kalıyor . osilaskopdan gözlemlediğim... Teşekkür ederim ...

ete

Bu işlemcide PORTB.0- PortB.4 pinleri aynı zamanda Analog pindir. Bu pinlerin öncelikle digital pin haline getirilmesi gerekir. Ayarlama ADCON1 registerinden yapılıyor.  Ayrıca bu işlemcide Output Latch (kilit) registeri LATB dir. PORTB daha ziyade port değerini okumak amacı ile kullanılıyor. Bu nedenle HIGH PORTB.0 demek yerine LATB.0=1 demek daha doğru olacaktır.

Ete


Powered by EzPortal