PIC Nedir - Nasil Programlanir

'Elektronik Genel Bilgi' forumunda Mavi_Sema tarafından 24 Mayıs 2009 tarihinde açılan konu

  1. Mavi_Sema

    Mavi_Sema Özel Üye

    Sponsorlu Bağlantılar
    PIC Nedir - Nasil Programlanir konusu PIC Nedir - Nasil Programlanir

    [​IMG]

    ARKADAŞLAR SİZE PICLERİ EN BASİT ŞEKİLDE ANLATMAYA ÇALIŞACAĞIM

    PİC LER CPU,REM,ROM,I/O , TEKBİR ENTEGREDE TOPLANMIŞ UFAK BİLGİSAYARLARDIR
    BİZİM YAZDIĞIMIZ KOMUTLARA GÖRE ÇAMAŞIR MAKİNASI BUZDOLABI,CEP TELEFONU,ARABALAR,HEMEN
    HEMEN HAYATIMIZIN HERYERİNDE GÖRMEK MÜMKÜNDÜR
    HESAP YAPABİLİRLER ÖLÇME ,KARŞILAŞTIRMA ,BİLGİSAKLAMA,BİLGİ GÖNDERME,BİLGİ ALMA,GİBİ ÇOK DEĞİŞİK İŞLER YAPABİLİRLER GERCEKTEN UĞRAŞMAK ZEVKLİDİR CÜNKÜ AKILIDIRLAR
    ÖRN: 16F84 LE 1 NOLU BACAĞINA BUTON KOYALIM BOTONA BASILINCA 10 DAN 1 E KADAR SAYSIN
    2 NOLU BACAĞINA BUTON KOYALIM BASILINCA 1 DEN 10 KADAR SAYSIN VE SAYIŞINI LCR EKRANDA GÖSTERSİN BACAĞINA DA BUTON BALIYALIM BUDA SAYDIĞI BÜTÜN SAYILARI TOPLAYIP EKRANA YAZSIN 4 NOLU BACAK DIŞ HAVAYI SICAKLIĞINI GÖSTERSİN AKLINIZA GELEBİLECEK DAHA BENZERİ BİRÇOK ŞEY HATA EKMEK FIRINLARI BİLE PİC KONTROLU ÜRETİLMEKTE
    NASIL PROGRAMLANIR
    ARKADAŞLAR 16F** SERİSİ 35 KOMUT TANIRLAR 20 MHZ VE ALT TABLODA HAFIZA DEĞERLERİ GÖRÜLMEKTE ASEMBLER,BASİC,C VE BİRÇOK YAZILIM DILİ VAR FAKAT DERLENİP ÖNCE ASEMBLERE
    SONRA HEX DOSYASINA ÇEVRİLİP HEX DOSYASI ENTEGREYE YÜKLENİR BENCE ENGÜZELİ
    ASEMBLER CÜNKÜ BÜTÜN HAFIZA VE İŞLEMLERİ SEN KENDİN YAPIYORSUN BİNARY VE HEX OLARAK ÇALIŞIYORSUN ENTEGREYE TÜMÜYLE HAKİMSİN DİĞER DİLER ÖYLE DEĞİL VE PICİ ÖĞRENCEM DİYEN ELEKTİRONİK LE UĞRAŞAN ADAM ASEMBLER HATTA ATAMA YAPMADAN HAFIZALARI GERCEK HEX KODLARI İLE GİRMELİ

    [​IMG]

    ARKADAŞLAR PİC LERİ PROGLAMLAMAK İÇİN PİCİN HAFIZASININ HARİTASINI BİLMEK LAZIM
    BEN SİZE BEN BUNLARI SİZE ÖRNEKLER İÇİNDE SON DERECE BASİT ANLATACAĞIM İLK GÖRÜNÜŞTE SİZE KARIŞIK GELMESİN ÖRNEKLERİ İNCELEDİKCE BASİT OLDUĞUNU ANLAYACAKSINIZ

    [​IMG]

    ÖRNEK1
    MESELA 16F84 PİCİN B PORTUNA YANİ PORTB YE LAMBA BAĞLAYALIM ENERJİ VERİLDİĞİNDE
    BU LAMBALAR YANSIN
    ÖRNEK1

    [​IMG]

    NE YAPMAK LAZIM ÖNCE BEN PİC'E BPORTUNUN ÇIKIŞ OLDUĞUNUN SÖYLEMEM GEREKİR BUNUN İÇİN
    PIC'İ YAPAN ADAMLAR TRISB DİYE PORT YÖNLENDİRME HAFIZASI AYIRMIŞ
    HER PORTA BÖYLE YÖNLENDİRME HAFIZALARI AYIRMIŞ

    ŞİMDİ BEN LİSTEDEN BAKIYORUM.

    [​IMG]

    TRISB
    BANK1 DE İMİŞ VE 0X86 ADRESİNDE İMİŞ BENİM BANK1 YANİ ODA GİBİ DÜŞÜNÜN ORADAN TRISB HAFIZASINA GEÇMEM GEREK ORADAN 0X86 YANİ TRISB HAFIZASI
    DİYECEKSİNİZ Kİ BANKLAR ARASI NASIL GEÇİŞ YAPILIR ONUDA ADAMLAR STATUS DİYE BİR HAFIZA YAPMIŞ LİSTEDEN BAKALIM STATUS 0X03 HAFIZASINDA

    [​IMG]

    ImageShack - Image Hosting :: formbank7ks.jpg

    [​IMG]

    ŞEMADA BELİRTİĞİM GİBİ BCF 0 BSF 1 DİR


    ŞİMDİ BANK1 GEÇELİM
    BCF STATUS,RP1 BCF İLE STATUSUN 6.BİTİNİ YANİ RP1 0 YAPTIM
    BSF STATUS,RP0 BSF İLE STATUSUN 5. BİTİNİ YANİ RP0 1 YAPTIM

    ŞÖYLEDE YAZA BİLİRİM
    BCF STATUS,6 BCF İLE STATUSUN 6. BİTİNİ YANİ RP1 0 YAPTIM
    BCF STATUS,5 BSF İLE STATUSUN 5. BİTİNİ YANİ RP0 1 YAPTIM

    VEYA ZATEN İLK AÇILIŞTA BU BİTLER 0 OLDUĞU İÇİN SADECE 5. BİTİ 1 YAPARIM BANK1 GEÇERİM
    BSF STATUS,5
    SÖYLEDE YAZA BİLİRİM STATUS LİSTEDEN BAKIN 0X03 ADRESİNDE
    BCF 0X03,6
    BSF 0X03,5
    VEYA SADECE 5. BİTİ 1 YAPIP
    BSF 0X03,5
    BANK1 GEÇERİM
    ŞİMDİ TRISB YANI 0X86 ADRESİNE ULAŞTIM TRISB ÇIKIŞ OLARAK AYARLAYALIM
    0 YAPMAK ÇIKIŞ OLARAK AYARLAMAK 1 YAPMAK GİRİŞ OLARAK AYARLAMAK
    MOVLW B'00000000' ÇALIŞMA HAFIZASINA BINARY OLARAK YAZDIM
    MOVWF TRISB ÇALIŞMA HAFIZASINDAN YANI W DEN TRISB YE YÜKLENDİ
    ENTEGRENİN B PORTU ÇIKIŞ OLARAK AYARLANMIŞ OLDU
    ŞU ŞEKİLDE DE YAZA BİLİRDİM
    CLRF TEMİZLE DEMEK YANİ SIFIR YAPMAK
    CLRF TRISB
    COMPLE 8 BİT 0 OLDU
    YADA
    CLRF 0X86 : 0X86 TRISB NİN ADRESİ LİSTEDEN BAKIN
    YADA
    MOVLW B'00000000'
    MOVWF 0X86
    B'00000000' BURADA B' ' BINARY H' ' HEX D' ' ONDALIK SAYI GİRİLE BİLİR
    TRIS YANİ 0X86 ADRESİNİ ÇIKIŞ OLARAK AYARLADIKTAN SONRA PORTB YE BAĞLI OLAN LAMBALARI YAKALIM
    PORTB BANK0 DA OZAMAN STATUSUN 5 VE 6 CI BİTLERİNİ 0 YAPALIM BANK 0 GEÇELİM
    BCF STATUS,5
    BCF STATUS,6
    ŞİMDİ BANK0 DAYIZ
    PORTB 8 BİTİNEDE ENERJİ VERELİM YANİ 1 YAPALIM
    MOVLW B'11111111' ÇALIŞMA REG. YAZDIK
    MOVFW PORTB PORT B NİN BÜTÜN BİTLERİ 1 OLDU LAMBALAR YANIYOR
    ŞİMDİ YAZILIMI YAZIYORUM

    BCF STATUS,6 ;BANK1 GEÇMEK İÇİN
    BSF STATUS,5 ;BANK1 GEÇMEK İÇİN
    MOVLW B'00000000' ;TRISB Yİ ÇIKIŞ OLARAK AYARLAMAK İÇİN
    MOVWF TRISB ;TRISB ÇIKIŞ OLARAK AYARLANDI
    BCF STATUS,6 ; BANK0 İÇİN
    BCF STATUS,5 ; BANK0 İÇİN
    MOVLW B'11111111' ;PORTB LEDLERİ YAKMAK İÇİN
    MOVWF PORTB ; LEDLER YANDI
    KONULARA DEVAM EDİLECEK
    ANLAMADIĞINIZ YERİ FORMA YAZIN


    Alıntıdır
     

Bu Sayfayı Paylaş