Pic c ile 4x20 LCD ye yazı yazma

Başlatan yilmazg, 18 Eylül 2009, 04:43:22

yilmazg

merhaba arkadaşlar.
PIC i yeni öğreniyorum. Doğan İbrahim in kitabından çalışıyorum. LCD ekranda yazı yazmayı  deniyorum. kitapta ki örneği ayrı ayrı 4x16 ve 4x20 LCD ler ile uygulamak istedim ama ekranlarda hiçbir şey gözükmedi. programın kodları ve devre aşağıdaki gibi. eksik bir şeymi yapıyorum acaba, yardımcı olursanız sevinirim.

#include<pic.h> 
#include<delay.c>
#include<lcd.c>

void main() 
{ 

TRISB=0; 
TRISA=0;  
lcd_init(); 
lcd_clear();
lcd_puts("Merhaba"); 

for(;;) 
{
} 
}




ORC

Bu arkadasımızın(FxDev) hazırladıgı kitap o kitaba bin hatta 10 bin basar hemde calısan kodlar  :D  asagı daki linkten indirebilirsin

http://picproje.org/index.php/topic,25919

hasangurlek

Alıntı yapılan: "yilmazg"PIC i yeni öğreniyorum. Doğan İbrahim in kitabından çalışıyorum.

Normalde kitaplarında Prof.Dr. Doğan İbrahim diye yazar ya !

Çok sayıda kitabı olmasına hatta ingilizce bile kitap yayınlamış olmasına rağmen yayınevi editörlerinin ince teknikleri sayesinde sayfa sayısı çoğaltılmış ve adam gibi basılsa yarı yarıya incelecek kitapların içleride neredeyse kupkurudur. Kitapların hepsini bir araya toplasanız içlerinden "PIC MİKROKONTROLÖR", "xxx PROGRAMLAMA DİLİ" başlıkları altında yazılı konuları ve Katalog Çevirilerini çıkartsanız kitapların tümünden geriye bir kitap ancak kalır.

Bir örnek vermek gerekirse : PIC C ile MOTOR KONTROL PROJELERİ (230 Sayfa)

(Satır sonlarındaki rakamlar sayfa numaralarıdır)

1.   ELEKTRİK MOTORLARI             1
1.1   Mıknatıslı DC Motorlar               5
1.2   Adım Motorları                  9
1.2.1      Unipolar Adım Motoru Sürüşü       10
1.2.2      Unipolar Adım Motoru Sürüş Devreleri      13
1.2.3      Bipolar Adım Motoru Sürüşü         14
1.2.4      Bipolar Adım Motoru Sürüş Devreleri      15
1.2.5      Adım Motorlarını Tanımak         16
1.2.6      Motor Bağlantılarını Bulmak         18
1.3   Adım Motoru Kullanım Hesapları         18
1.3.1      Adım Motoru Hızı            18
1.3.2      Motor Şaftı Hareketi         19
1.3.3      Motor Devir Zamanı         21
1.3.4      Akımı Sınırlayan Direncin Seçimi      22

Görüldüğü gibi 230 sayfalık kitapta toplam 22 sayfa motorlar hakkında.  Diğer bazı kitapları ise :

PIC C ile Ses Projeleri,
PIC C ile Sıcaklık Kontrol Projeleri,
PIC C İle Işık Projeleri vb. gidiyor. Yani hocamın ilk defa kitabını alırsanız tümünü okuyun ve öğrenin, ardından alacağınız kitaplarda ilk 20-30 sayfayı okuduzmu tamamdır. Maksat öğrenciye kolaylık olsun, cepler dolsun.

Yukarıdaki kitabta 82.sayfadan 193.sayfaya kadar ise projeler vardır. Şimdi diyeceksiniz ki iyide kitapların ismi zaten "PROJE". Arkadaşlar bu ülkenin dışından bana bir tane proje kitabı gösterebilirmisiniz ? Kitap konuları içinde proje, teori diye bir şey yoktur varsada romandır, eğitim kitabı değil. Siz hiç çelik kontruksiyon ile inşaat projeleri,  plastik boru ile su tesisatı projeleri, trafik işaretleriyle sürücü kursu projeleri diye kitaplar gördünüzmü ? Sürücü kursu için kitap aldığınızda içinde
50 metre sonra kavşakta duracan;
Gelen giden yoksa sola dönecen;
Kırmızı yanarsa duracan;
Yeşil yandımı geçecen;
Burada duramazsın;

gibi anlatım, yani buradaki adıyla proje varmı ? O kitap size işaretleri öğretir, ilk yardımı öğretir birazda motor bilgisi verir. Siz araba kullanmayı öğrendiğinizde o işaretleri bilir ona göre hareket edersiniz, size öğretilen projeye göre değil. Öyle olsaydı sürücü kursunun içinde döner dururdunuz.

Ya hocalarım, yazarlarım bırakın kitaplarda abuk subuk projeler yayınlamayı ! Sizler konuyu gerçekten öğretecek kitaplar yayınlayınki, bizler kitaplardaki kodları satır satır yazıp, şemayı kurup çalıştı diye sevineceğimize ve birşeyler yaptık sanacağımıza gerçekten bir şeyler öğrenip, uygulayıp, projeleri bizler geliştirelim. Gerçekten öğretecek kitaplar yazın. Yazın ki çıkalım artık şu sürücü kursunun pistinden, dışarda çok büyük bir dünya var. Biz hiç bir şey öğrenemediğimiz kitaplardan sıkıştık kaldık projelerin arasında.

20-30 sayfa yaz, kopyala yapıştır al sana 200-300 sayfalık kitap :) Güzel değilmi ?

Buda yayıncının notudur;
Alıntı YapBu kitabı hazırlarken Doğan İbrahim Hoca'mız, Mikrokontrolörlerle motor kontrolünü öğrenmek  yada kendini geliştirmek isteyen  uygulamacıların, daha zahmetsiz öğrenmelerini sağlamak amacıyla bir eğitim setinin geliştirilmesine de katkıda bulundu. Hoca'mıza  şükran borçluyuz. Kitapla birlikte kitaptaki ve kitap dışında pek çok step/adım motor kontrol uygulamalarınızı yapabileceğiniz bir uygulama – geliştirme setini de  xxxxxxxxxx 'den edinebilirsiniz.

YÖN, ADIM, ve RS232 seri giriş bacakları ve step motoru kontrol ve sürücü devresi ile birlikte; iki çalışma modu: Dinamik ve Programlı olarak edineceğiniz uygulama setini, Parçaları birleştirilmiş, lehimlenmiş ve test edilmiş olarak edinebileceğiniz gibi, devre kartı ve parçaları  de-monte olarak, daha ucuza da edinebilirsiniz.

Kitap ve uygulama-geliştirme seti ile bir çok motor uygulamasında keyifli zamanlar geçirmeniz dileğiyle...  

YOLMANIN BU KADARINADA PES DOĞRUSU, BU MİLLET ARTIK KOYUN DEĞİL !

Eğitim amaçlı yabancı kitapları hepimiz biliyoruz değilmi arkadaşlar ? Adamların yazdıkları kitapları okuduğunuzda o konu ile alakalı yazara sorabileceğiniz hiç bir detay kalmaz. Kitapların sayfa sayısı en az 400-500 dür ve hatta 1000 sayfayı bulan kitaplar vardır, içlerinde sağdan soldan toplama, kopyalama bilgi yoktur, ne boş paragraf araları, ne boş sayfalar, nede koca koca basılmış şemalar, tablolar vardır.

Kitapların adındaki konunun tüm detayları içindedir. Çünkü bu insanlar ne prof. ne doktor gibi ünvanlarımız var diye yazmışlardır o kitabı nede para için. Kitabın amacı eğitimdir ve içindekiler yazısıyla, şemasıyla, tablosuyla o kişilerin zaman içindeki birikimleridir. En önemlisi ise bu kitapların yazarlarına baktığınızda pek çoğu yıllarca kitap yazdığı konuda çalışmış, eğitim vermiş kişilerdir ve o konuyla ilgili her detayı o kitaba aktarmışlardır.

yilmazg arkadaşım inan bana bu forumda Sayın Prof. Dr. Fırat Deveci (FxDev) varki, onun yazdığı kitap çok daha zengin içeriklidir ve bence sonu noktalı ünvanları kitap yazan çok kıymetli ve zengin (veya iyi yaşayan) hocalarımızdan çok daha fazla haketmektedir. Hemde o kitabı çalışmaya başlarsan hi-tech e başlamış olursun.

Tepkimizi göstermemiz gerekirki tek konuda adam gibi kitaplar yazılsın, yazara soracak detay kalmasın.

Kitap yazan değerli hocalarımıza saygılarla efendim.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

wsxwsx

Ayak bağı olmasın, senin okulu bırakma ihtimalin var :)

hasangurlek

Alıntı yapılan: "wsxwsx"Ayak bağı olmasın, senin okulu bırakma ihtimalin var :)

Artık geç kalmış sayılır,  zengin olanların çoğu 1.sınıftan, az bir kısmı 2.sınıftan çok az bir kısmı 3.sınıftan terk.

Gerçi 3.sınıftan ayrılıpta anormal zengin olanlarda var :)
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

yilmazg

ORC teşekkürler link için, gerçekten güzel bir kaynak olmuş. ayriyeten FxDev'in eline sağlık.

@Hasangurlek: yazdıklarınıza katılmamak elde değil. elimde yazılı kaynak olarak sadece Doğan İbrahim'in kitabı olduğu için bunu takip ediyordum, FxDev in hazırladığı dökümandan yeni haberim oldu. sanırım kaynak değiştirme zamanı geldi.

FxDev teşekkürler, sorun çözüldü. aslında LCD den başladım sayılmaz, biraz temelim var. sen yazana kadar ADCON ayarı yapmak aklıma gelmezdi. bunda ki amaç LCD nin RA3' e bağlı E ucunun düşen kenarla tetiklenmesi gerektiği için mi ?


bu arada herkeze iyi bayramlar dilerim.

yilmazg

tekrar teşekkürler yardımın için FxDev.
geçen ay sitede sorunmu vardı acaba açamadım bir ara.

lcd..c dosyasını senin hazırlamış olduğun dökümandan aldım demek doğru olur.
tek farklı kısmı 4x20 lcd adreslerine göre değiştirdiğim

void lcd_gotoxy(unsigned char x,unsigned char y) //LCD'nin belli 
												//bölgesine gidiliyor 
{ 
	if(x==1) lcd_komut(0x80+((y-1)%20)); 
	if(x==2) lcd_komut(0xC0+((y-1)%20));
	if(x==3) lcd_komut(0x94+((y-1)%20));
	if(x==4) lcd_komut(0xD4+((y-1)%20)); 
}



kısmı oldu.  birde bağlantı şeması yine dökümanındaki gibi yaptım.

yilmazg

bir sorum daha olacak ama yeni bir başlık altındamı sorsam bilemedim.
lcd ve pic içerdiği için burda sorayım dedim  umarım sakıncası yoktur.

yine aaynı dökümandan " Tuş Takımı ve LCD " uygulamasını denemek istedim.
Bağlantı şeması ve yazılımı dökümandakinin aynısı yaptım.
ISIS de devreyi çalıştırırken butonlara bassam dahi LCD ekranda sürekli
" Basilan Tus = 00 " gözüküyor.  ama PIC in çalışma frekansını azaltıp tekrar denediğimde
aynı butona peş peşe bastığımda ekranda bastığım buton gözükmekte.
ama bunun ardından başka butona aynı şekilde bassam dahi yine ekranda " Basilan Tus = 00 " gözüküyor.
bu uygulamayı simülasyon programında değil de gerçek ortamda oluştursam sorun çözülürmü acaba?  yoksa başka bir nedeni mi var?