Pic Assembly Alfa Sayısal Lcd Örneği

Başlatan Bayramsumbul, 26 Mayıs 2013, 18:48:37

Bayramsumbul

Merhaba Arkadaşlar,Eminim Bir Çok Kişi Bunu Biliyordur Diye Sanıyorum Ama.Bilmeyenler Olabilir Diye Sayıyorum. ;)

Hemen Konumuza Geçelim.
İlk olarak Kodumuz;
Ana KOD
   list      p=16F628A;KULLANICAGIMIZ KONTROLOR
   #include <p16F628A.inc> ;GEREKEN
   #include <lcdmacro.inc>;      DOSYALAR.
   __CONFIG   _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF;KONTROLOR AYARLARI
   ORG          0x000
   #DEFINE      RS      PORTA,0;MACROMUZDA 
   #DEFINE      E      PORTA,1;   GEREKEN PINLER
   LCDPORT      EQU      PORTB;   DATA PORTUMUZ
   LCDSAYAC   EQU      0X20;BEKLEME KOMUTU ICIN SAYAC GPR'MIZ.
MAIN;AYARLAR BURDA OLDUGU ICIN ALISKANLIK MAIN DEMISIN
   BSF    STATUS, RP0;BANK DEGISTIRDIK
   CLRF   TRISA
   CLRF   TRISB
   BCF    STATUS, RP0;TEKRAR BANK DEGISTIRDIK
   MOVLW   D'7'
   MOVWF   CMCON
   CALL   LCDAYAR
   CLRF   LCDPORT
   CLRF   PORTA
BASLA;BENIM ICIN PROGRAM BASI
   YAZDIR   'P';Y
   YAZDIR   'i';A
   YAZDIR   'c';Z
   YAZDIR   'p';M
   YAZDIR   'r';A
   YAZDIR   'o'
   YAZDIR   'j';K
   YAZDIR   'e';O
   YAZDIR   '.';M
   YAZDIR   'c';U
   YAZDIR   'o';T
   YAZDIR   'm';U
   NOP
   GOTO   $-1
LCDAYAR;GEREKEN LCD AYARLARI
   KOMUT   B'00111111';8 BIT/2 SATIR/5X10 PIKSEL
   KOMUT   B'00000110';IMLEC AYARLARI
   KOMUT   B'00001100';EKRAN ACIK YER IMLECI KAPALI
   KOMUT   B'00000001';EKRANI TEMIZLE BASA DON
   RETURN   
END;PROGRAM SONU


Macro Kodu:

;LCD SURUCU KODLARI   HAZIRLAYAN:BAYRAM   SUMBUL
;ANAKOD   BASINDA   SU TANIMLAMALAR YAPILMALIDIR:
;1-RS   BITI   ORN/   #DEFINE   RS   PORTB,0
;2-E   BITI   ORN/   #DEFINE   E   PORTB,1
;3-LCDNİN BAGLANACAGI 8 BITLIK PORT "LCDPORT" ORN/   LCDPORT   EQU   PORTD
;4-LCD BEKLE GPRSI   "LCDSAYAC"   ORN/LCDSAYAC EQU 0X20
   NOLIST
YAZDIR   MACRO   ARG;YAZDIRMA KOMUTUMUZ
   BSF      RS
   MOVLW   ARG
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   BCF      RS
   ENDM
KOMUT   MACRO   ARG;KOMUT GONDERME KOMUTU
   BCF      RS
   BCF      E
   MOVLW   ARG
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   ENDM
TEMIZLE   MACRO;EKRANI TEMIZLER BASA DONER
   BCF      RS
   BCF      E
   MOVLW   B'00000001'
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   ENDM
SAGAKAY   MACRO;BIR KARAKTER SAGA KAYAR
   BCF      RS
   BCF      E
   MOVLW   B'00010111'
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   ENDM
SOLAKAY   MACRO;BIR KARAKTER SOLA KAYAR
   BCF      RS
   BCF      E
   MOVLW   B'00010011'
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   ENDM   
ADRESGIT   MACRO   ARG;BELIRLI BIR KARAKTERE GITME KOMUTU
   BCF      RS
   BCF      E
   MOVLW   ARG
   ADDLW   D'128'
   MOVWF   LCDPORT
   BSF      E
   LCDBEKLE
   BCF      E
   ENDM
LCDBEKLE   MACRO;LCD BEKLEME KOMUTUMUZ
   MOVLW   D'255'
   MOVWF   LCDSAYAC
   DECFSZ   LCDSAYAC
   GOTO   $-1
   ENDM
   LIST

İlk Olarak Bu Tabloyu İnceleyelim.Bu Tabloda Lcd'lerin çoğunun Kullandığı Komutlar Yer Alıyor.

Bu Tabloda İse Lcd'nin Karakter Hafızası Yer Alıyor.

Ve İsis Simulasyonu.

Koddaki Çalışma Mantığına Gelince,
Binary 00111111 sayısı lcd'ye yollanıyor.Biraz bekleniyor.Kontrölör  Giriş Ayarları.
Binary 00000110 sayısı lcd'ye yollanıyor.Biraz bekleniyor.Ekran  Giriş Ayarları
Binary 00001111 sayısı lcd'ye yollanıyor.Biraz bekleniyor.Ekran Açık Kursör Açık.
Ve Yazdır Macrosu İle Veri Yallanıyor.

Örnek Bir Video.
Inicialización de un LCD usando PROTEUS
Dosyalar:http://s3.dosya.tc/server5/3YxhyF/lcd-picproje.zip.html
Kodlarda Zaten Açıklamalar olduğu için Yazmıyorum.Herkeze kolay gelsin.
Bir Elektronik Meraklısının Serüveni...

eml581

Hocam kolay gelsin 16F628A için bir deney kartı yapmaya çalışıorum LCD ve 3 Adet display koyucam kartın bu bölümüne pice yüklediğim her programı (+malzeme gerektrimeyen) nasıl çalıştıracak bir devre kuramadım yardımcı olabilirmisiniz bu konuda

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Bayramsumbul

Bahsettiğiniz Şeyi Zihnimde Canlandıramadım Biraz Daha Açıklayabilir misiniz ?
Bir Elektronik Meraklısının Serüveni...

eml581

Tabi hocam piyasada satılan deney kartlarındaki lcdleri  düşünün  genelde pice atılan çoğu programı Ekranında gösterir  dimi Mesala kartı yaptık internette kayan yazı devresi buldum lcd üzerinde bunu pice yükleyip   lcd'de  sonucu görmek  istiyorum bu şekilde pic haricinde başka elemana gerek duymayan devreleri kart üzerinde denemek istiyorum  Hocam ben inş deney kartı yapıcam elinizde kaynak varsa yardımızı beklerim

Bayramsumbul

Özür Diliyorum.Ama Dahada Karıştı Zihnim.İki Şey Belirdi Aklımda,


       
  • Modüler Set Yapmak İstiyorsunuz.
  • Debug Özellikli Bir Kart Yapmak İstiyorsunuz.(Bilgisayarsız Debug)
Bahsettiğiniz Şey Bunlar Dışındaysa,Bence Bir Konu Açıp Tüm Forumda'kilere Sorun Bu Sorunuzu.
Bir Elektronik Meraklısının Serüveni...

eml581

1 Aklınıza gelen bir bakıma doğru ayrı ayrı modüller yapmak istiorum pic denemek için

Bayramsumbul

Anladığım Kadarıyla Donanım İle Pek Uğraşmadan "Pic" Öğrenmek/Geliştirmek İstiyorsunuz.
Buna Benzer Satılan Bir Ürün Var Bakınız->http://www.altaskitap.com/M-PIC-Moduler-PIC-Egitim-Seti,PR-51.html‎ M-Pic Modüler Pic Eğitim Seti.Ama Kendim Yapmak İstiyorum Der İseniz,Araştırma Yapmanız Gerekecek.Yanlış Bilmiyor İsem,(Ağabeylerim Düzeltebilir)
Aynı Pin Sayısına Sahip Pic'lerin Bacak Bağlantıları Aynı.İlk Başta Ana Bir Modül Hazırlanabilir.Üzerinde Soketleri,Programlayıcısı,Port Çıkış Header'ları Olan.Elimde Proteus 7 Olsaydı(8'Deki Tam Çalışmıyor/Çalıştıramadım)Hevesle Bir Çizim Yapıp Hemen Gönderirdim Örnek Olması İçin.Size İyi Çalışmalar Kolay Gelsin...(Bir Çizim Yapmaya Çalışacağım)
Bir Elektronik Meraklısının Serüveni...

eml581


eml581

http://www.elektrotekno.com/about42848.html
istediğim bu sitekide arkadaşların yaptığı gibi modül modül Hocam Olabildiğince küçük devreler halinde yapicam yapabilrisek tabi
Kolay gelsin

Bayramsumbul

Bence Küçük Olarak Yapılabilir.Forumda Böyle Kit Yapmak İsteyen Arkadaşlar Var İse,Organize Olup "Pcb" Bastırılabilir.
En Azından 3-4 Modül İlk Olarak Yapılırsa (Ana-Lcd-Keypad vs.)Malzemelerde Smd Olacak Elbet,Bu İş Olur Bence.
Linkini Verdiğiniz Tasarımda İse(http://www.elektrotekno.com/about42848.html)Anlamadığım Şey Neden 628 İle 84'ü Ayrı Koymaları
Zaten Pinleri Aynı.
Bir Elektronik Meraklısının Serüveni...

eml581

belkide iksiini aynı anda kulnmak için yapılmış olabilir