PiC 16F84 ve 16C84 özellikleri ( en popüler Pic Serisi )

guclusat

Tanınmış Üye
Süper Moderatör
PIC16F84 Microcontroller
Genel Özellikler:

· Sadece 35 komut ile programlama

· 13 adet giriş/çıkış portu

· Çalışma hızı DC-10 MHz

· 8 bit data

· 1Kx14 EEPROM Program Hafızası

· 64 Byte EEPROM Data Hafızası

· Direkt/Dolaylı Adresleyebilme

· 4 adet Kesme Fonksiyonu. (PB0,TMR0,RB Change,EEPROM Write)

· 1 milyondan fazla yazma silme

· Kolay ve ucuz programlayabilme

· Herbir pinden 25 mA e kadar akım verebilme

· 8 bit programlanabilir Timer

Aşagıda microcontroller in pin diağramı verilmişltir.

16F84 13 adet giriş çıkış portu bulunmaktadır. Bunlardan 8 bitlik olanına

PortB,5 bitlik olanına da PortA denir. PortA nın 4 numaralı pini open kollektör

olup giriş çıkış yapmak için bir direnç ile +5 e çekmek gerekmektedir.

Diğer portlardan hiçbir ek elemana ihtiyaç duymadan giriş/çıkış yapılabilir.

Microcontroller programlamadan önce Register haritasını bilmemiz gerekmektedir.

PIC mimarisinde genelde tüm işlemler W (work) register üzerinden yapılır. Program

yazmadan önce hangi porttan giriş hangi portttan çıkış yapılacağının belirlenip

bunun microcontrollere anlatılması gerekmektedir. Bu da TrisA ve TrisB register

larına degerler atayarak olur. Şekil de 16F84 ün register haritası görülmektedir.

dikkat edilirse Bank0 ve Bank1 olarak 2 bölme vardır. Bank1
de bilmemiz gereken en önemli registerlar Option,TrisA ve TrisB dir.Bank0
da ise Status,PortA,PortB,TMR0 ve Intcon dur. Bu register ların bit-bit açıklaması
aşağıda verilmiştir.
Şimdi bu registerları kısa kısa açıklayalım.

PORTA: 5 adet giriş/çıkış pini vardır.

PORTB: 8 adet giriş/çıkış pini vardır.

TRISA: PortA dan girişmi yoksa çıkışmı yapılacağını belirleyen register dir. İlgili gözelere 1

yüklenirse Giriş, 0 yüklenirse Çıkış yapılır. Örnek olarak
MOVLW b'00000011'

MOVWF TRISA
Bu komut satırları ile PortA nın 0,1 nolu pinleri Giriş, 2,3,4 nolu pinleri ise çıkış olarak tanımlanmış

olur.
TRISB: TrisA ile aynı şekilde ayarlanır.

:STATUS REGISTER:

Bit7:IPR 0: Bank0-1

1: Bank2-3

Bit6-5:RP0-RP1 00:Bank0

01:Bank1

10:Bank2

11:Bank3

Bit4:TO Süre Aşım Biti

0:WDT süre aşım işlemi yapmışşa

1:CRWDT yada SLEEP yapılmışşa

Bit3: PD Güç Kesme Biti

0:SLEEP den sonra

1:CLRWDT dan sonra

Bit2:Z 0:Yapılan aritmetik işlemin sonucu sıfırdan farklı ise

1: Yapılan aritmetik işlemin sonucu sıfır ise

Bit1: DC 1: 8 bitin Düşük anlamlı ilk 4 bitinden taşma olursa

0: Taşma olazsa (ADD komutları ile değişir)

Bit0:C 1:8 bitten taşma olursa

0:Taşma olmazsa(ADD komutları ile değişir)

OPTION REGISTER:
Bit7:RBPU 0: PortB Pull-Up disable

1: PortB Pull-Up enable

Bit6: INTEDG 0: PB0 düşen kenarda interrupt kabul eder.

1: PB0 yükselen kenarda interrupt kabul eder.

Bit5:T0CS 0:T0CKI den gelen darbeler Clock kabul edilir

1:Clock kaynagı XTAL in ürettigi dahili darbeler olur.

Bit4:T0SE (T0CS=1 ise)

0:T0CKI den gelen darbeler yükselen kenarda clock u arttırır.

1: T0CKI den gelen darbeler düşen kenarda clock u arttırır.

Bit3: PSA 0: Prescaler TMR0 için ayarlı

1: Prescaler WDT için ayarlı

Bit2,1,0: Prescaler set etme

PS2,PS1,PS0 TMR0 WDT
000 1:2 1:1

001 1:4 1:2

010 1:8 1:4

011 1:16 1:8

100 1:32 1:16

101 1:64 1:32

110 1:128 1:64

111 1:256 1:128
 
Last edited:
Back
Top