Pıc Programlama Ders-6 Status registeri ve özellikleri; portların kullanımları; temel komut setine giriş ve bazı komutların kullanım örnekleri 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 Status register bitlerini degistirmek için kullanilan komut BSF ve BCF komutlaridir. BSF STATUS,RP0 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 "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 PORTA çikislarini kontrol eden TRISA register bitleri,asagidaki gibi ise çikislar su anlama gelir:
"CLRF" komutudur. CLRF TRISA tüm PortA 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 BSF 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. |