Güncel Oyun & Program & Resim & Msn Forumu
Elektronik Bölümü icinde Pic Programlama Ders - 6 konusu , DERS - 6 Pic 16F84'ün RAM belleginin iki bank'tan ibaret oldugunu söylemistik. Bunlar Bank 0 ve Bank 1'dir, degisik piclerde baska banklar da mevcuttur. Bir banktaki registerleri kullanmak için o ...
|
|||||||
| Anlık İletiler | Kayıt ol | Yardım | Üye Listesi | Ajanda | Arama | Bugünki Mesajlar | Forumları Okundu Kabul Et |
|
|
|
DERS - 6
Pic 16F84'ün RAM belleginin iki bank'tan ibaret oldugunu söylemistik. Bunlar Bank 0 ve Bank 1'dir, degisik piclerde baska banklar da mevcuttur. Bir banktaki registerleri kullanmak için o bank'a geçmek gerekmektedir. Bank degistirmeislemleri STATUS registeri vasitasiyla yapilir. . . STATUS REGISTER Status register 8 bittir. Bu register'in 5. bitinin degistirilmesi ile 16F84 de bank degistirme islemi gerçeklestirilir.16F84'de Bank bitleri Status registerin 5. ve 6. Bitidir, 6. bit 0 kalmalidir.Yalniz 5. bit'in degistirilmesi bank degistirmek için yeterlidir. Tüm reset hallerinde 5. ve 6. bit 00 olur ve Pic bank 0'da bulunur. 6. bit 0 5.bit 0 ise Bank 0 6. bit 0 5.bit 1 ise Bank 1 olur Status register bitlerini degistirmek için kullanilan komut BSF ve BCF komutlaridir. BSF STATUS,RP0 BSF STATUS,5 BSF H'03',RP0 BSF H'03',5 Komutlari ile 5.bit 1 yapilir ve bank 1'e geçilir.1 yapilan 5. biti 0 yapmak için ise BCF komutunu kullaniriz. BCF STATUS,RP0 BCF STATUS,5 BCF H'03',RP0 BCF H'03',5 "STATUS , RP0" "'H03', RP0" ifadelerinde ki STATUS register adresi ve RP0 INC. Dosyasinda tanimlidir.INC dostasi kullanilmaz ise bunlar EQU komutu ile tanimlanmalidir. RP0 yerine, bit degeri olan 5 kullanildiginda bunu ayrica tanimlamak gerekmez. PORTLARIN GIRIS / ÇIKIS YAPILMASI Portlarin giris veya çikis olarak yönlendirilmesi için TRIS registeri kullanilir. PORTA TRISA ile PORTB TRISB registeri ile yönlendirilir.TRIS registeri 8 bittir. Her bir bit bir I/O kapisina karsiliktir. PORTB nin 8 I/O kapisi vardir,fakat PORTA da 5 I/O kapisi mevcuttur bu nedenle PORTA için TRIS registerinin ilk 5 bit'i kullanilir, diger bitler 0 olarak kalir. PORT A ve PORTB kapilari ya tüm olarak veya tek tek bit olarak giris, çikis yapilabilir. TRIS register bitleri : 1 ise kapi GIRIS 0 ise kapi ÇIKIS olarak yönlenir PORTA çikislarini kontrol eden TRISA register bitleri,asagidaki gibi ise çikislar su anlama gelir: BIT 7 6 5 4 3 2 1 0 DEGER - - - 1 0 1 0 1 SONUÇ - - - G Ç G Ç G PORTB çikislarini kontrol eden TRISB register bitleri, asagidaki gibi ise çikislar su anlama gelir. BIT 7 6 5 4 3 2 1 0 DEGER 1 1 0 1 0 1 0 1 SONUÇ Ç G Ç G Ç G Ç G PORTA ve PORTB çikislarinin hepsini birden çikis yapmak için kullanilan komut "CLRF" komutudur. CLRF TRISA tüm PortA kapilarini 0 yapar sonuçta tüm kapilar çikis olur. CLRF TRISB tüm PortB kapilarini 0 yapar sonuçta tüm kapilar çikis olur. PORT A veya PORTB çikislarinin tümünü farkli giris veya çikis olarak yönlendirmek istersek karsilik gelen TRISA ve TRISB register bitlerinin tümüne farkli 0 veya 1 degeri vermemiz gerekir. Böylece o bitlere denk gelen kapilar giris veya çikis olarak yönlenirler. Bunun için kullanilan komutlar söyledir: MOVLW B'11010101' ; write registere degerleri yaz MOVWF TRISB ; write register degerlerini trisb ye yaz BSF BCF Gibi komutlar da kuillanilabilir. Bu komutlarla istenen bitleri tek tek 0 veya 1 yapabiliriz. BSF (bit set file) TRISA veya TRISB nin ilgili bitini 1 yaparak karsilik olan A veya B port kapisini giris yapar. BCF (bit clear file) TRISA veya TRISB nin ilgili bitini 0 yaparak karsilik olan A veya B port kapilarini çikis yapar. BSF TRISA, 0 ; trisa'nin ilk biti 1 olur ve porta ilk bit giris olur. BCF TRISB, 1 ; trisb'nin 2 biti 0 olur ve portb nin ikinci biti çikis olur. |
![]() |
| Seçenekler | |
| Stil | |
|
|
| LinkBack |
LinkBack URL |
About LinkBacks |
| Bookmark & Share |
Digg this Thread! |
Add Thread to del.icio.us |
Bookmark in Technorati |
Furl this Thread! |