PIC16F877 Sayı 2
PIC16F877 ile ilgili geniş çapta bilgiyi bu yazıda bulacaksınız. Bu ay size 16F877�nin minimum konfigürasyonlu bir devre şemasını vereceğim ve de 33 adet veri giriş-çıkışlarını sağlayan portları detaylı bir şekilde açıklayacağım.
PIC16F877� NİN MİNİMUM DONANIMLI KONFİGÜRASYONU
PIC16F877 portlarının fonksiyonları;
PIC16F877'nin tüm portları her biri bağımsız olarak sayısal giriş veya çıkış olarak kullanılabilme imkanı vermektedir. Bu portlar kendi aralarında beş ana guruba ayrılmaktadır. (PORTA, PORTB, PORTC, PORTD, PORTE) Şimdi bu portları inceleyelim.
PORTA: Bu port RA0, RA1, RA2, RA3, RA4, RA5 olmak üzere 6 bitliktir. Bu bitler analog / sayısal çevirici olarak konfigüre edilebilmektedir.
PORTB: RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 olmak üzere 8 bit genişliğindedir. B portunun tüm bacakları dahili bir dirençle VDD'ye bağlanmıştır. Fakat bu özellik uygulamalarda göz önünde bulundurulmaz. Bu özellik ancak OPTION yazmacının 7. bitini 0 yaparak aktif hale getirilir.
PORTC: RC0, RC, RC2, RC3, RC4, RC4, RC5, RC6, RC7 olmak üzere 8 bit kapasitelidir. SPI, Doğrudan bilgisayarla iletişim yapma,Yakalama/Karşılaştırma ve PWM gibi özel fonksiyonlar yazmaçların ayarlanmasıyla bu portta kullanılır.
PORTD: RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7 olmak üzere 8 bitliktir. Bütün portlar Schmitt Trigger girişlidir
BSF STATUS,RP0 ; Bank 1
BCF STATUS,RP1 ; Bank 1
MOVLW B'00000000'
MOVWF TRISC
BCF STATUS,RP0 ; Bank 0
BCF STATUS,RP1 ; Bank 0
PORTE: RE0, RE1, RE2 olmak üzere 3 bit liktir. Bu bacaklarında Schmitt Trigger girişleri vardır.Ayrıca her bir bacak analog / sayısal çevirici olarakta kullanımaktadır. Eğer PORTD yi TRISE yazmacının PSPMODE bitini 1 yapıp 8bit genişliğinde mikro işlemci portu olarak kullanırsak (parelel slave port) PORTE bacakları PORTD nin bağlandığı mikroişlemci bus nında sırasıyla OKUMA,YAZMA,CHIP SELECT kontrol girişleri olarak kullanılır.
BSF STATUS,RP0 ; Bank 1
BCF STATUS,RP1 ; Bank 1
MOVLW B'10000111' ;TMR0 prescaler, 1:256 Bölme palsı
MOVWF OPTION_REG
MOVLW B'00001110' ;Left seçme,1 analog channel
MOVWF ADCON1
MOVLW B'00000001'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'00000000'
MOVWF TRISC
MOVLW B'00000000'
MOVWF TRISD
MOVLW B'00000000'
MOVWF TRISE
BCF STATUS,RP0 ; Bank 0 (Sayfa)
BCF STATUS,RP1 ; Bank 0 (Sayfa)