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)
Yukarıdaki diyagrama tıklayarak
daha büyük görebilirsiniz.