BAB 2
TINJAUAN PUSTAKA
3. SFR (Special
Function Register)
SFR
merupakan bagian dari memori data. Pada gambar 2.14 ditunjukkan ruang register
fungsi khusus SFR secara singkat dalam RAM internal lokasi 80H hingga FFH. SFR ini mencakup
port-port, pewaktu (timer), kontrol
periferal dan lain-lain. Register-register ini hanya bisa diakses dengan
pengalamatan langsung. Secara umum, semua mikrokontroler Atmel memiliki
alamat-alamat SFR yang sama dalam ruang SFR sebagaimana dalam AT89C51 serta mikrokontroler lain yang
kompatibel. Bagaimanapun juga, peremajaan ke AT89C52 memiliki beberapa SFR
tambahan. Enambelas alamat dalam ruang SFR dapat diakses baik secara byte
maupun bit.SFR teralamati bit memiliki format alamat awal yang khusus yaitu
xxxx x000H atau dalam format heksadesimal x0H dan x8H, misalnya 80H (mulai dari 80H hingga 87H) untuk P0, 88H untuk
TCON dan seterusnya.
Gambar
2.14. Ruang SFR [5]
SFR
adalah memori yang berisi register-register yang mempunyai fungsi-fungsi
khusus, seperti: timer, register, counter dan lain-lain. AT89C52
mempunyai 21 Special Function Register (Register Fungsi Khusus) yang
terletak pada alamat 80H hingga FFH. Beberapa dari register-register ini juga
mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan seperti
yang ada pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit.
Beberapa register-register khusus yang terdapat pada SFR adalah :
1.
Register Timer
Register timer pada AT89C52 memiliki 3 buah 16 bit timer/counter, yaitu Timer
0, Timer 1 dan Timer 2. Timer 0 terdiri
dari register timer high 0 (TH0) yang terletak pada alamat 8CH dan register timer low 0 (TL0) yang terletak pada
alamat 8AH. Timer 1 terdiri dari
register timer high 1 (TH1) yang
terletak pada alamat 8DH dan register
timer low 1 (TL0) yang terletak pada alamat 8BH. Timer 2 dapat bekerja baik sebagai timer maupun pencacah kejadian (event counter), yang tergantung pada
nilai C/T2 dalam register T2CON. Timer
2 memiliki tiga mode operasi : capture,
isi-ulang dan generator baud-rate
sebagaimana ditunjukkan pada tabel 2.2 berikut :
Tabel 2.2. Mode-mode Operasi Timer 2 [9]
RCLK+TCLK
|
CP/RL2
|
TR2
|
Mode
|
0
|
0
|
1
|
Isi-ulang 16 bit
|
0
|
1
|
1
|
Capture 16 bit
|
1
|
X
|
1
|
Generator baud-rate
|
X
|
X
|
0
|
Off
|
2.
Register
Pengatur Timer
Register TMOD dan register TCON berada
pada alamat 89H dan 88H pada SFR. Merupakan register yang digunakan untuk
mengatur kerja timer 0 dan timer 1, susunan bit register TMOD dan
TCON masing-masing ditunjukkan pada gambar 2.15 dan 2.16.
Register TMOD dibagi menjadi 2 bagian
secara simetris, bit 0 sampai 3 (TMOD.0 s/d TMOD.3) dipakai untuk mengatur timer 0, sedangkan bit 4 sampai 7
(TMOD.4 s/d TMOD.7) dipakai untuk mengatur timer
1.
Register TCON dibagi menjadi 2 bagian,
4 bit pertama (bit 0 sampai dengan bit 3), dipakai untuk keperluan mengatur
masukan INT0 dan INT1. Sisa 4 bit dari register TCON (bit 4 sampai dengan bit
7) dibagi menjadi 2 bagian secara simetris yang dipakai untuk mengatur timer 0 dan timer 1.
Gambar
2.15. Susunan Bit Dalam Register TMOD [9]
Keterangan :
§ Gate :
Timer akan berjalan jika bit ini
diset dan INT0 (untuk timer 0) atau INT1 (untuk timer 1) berkondisi high.
§ C/T :
Jika bernilai 1 maka timer akan bertindak sebagai counter dan jika bernilai 0 maka timer akan bertindak sebagai timer.
§ M1 dan M0 :
Untuk memilih mode timer.
Gambar
2.16. Susunan Bit Dalam Register TCON [9]
Keterangan :
§ TF1 :
timer 1 overflow flag yang akan diset jika terjadi timer overflow. Bit ini dapat di-clear oleh perangkat lunak atau perangkat keras saat program menuju
ke alamat yang ditunjuk oleh interrupt vector.
§ TR1 :
jika bernilai 1 maka timer 1 akan aktif, sedangkan jika bernilai 0 maka timer 1
akan nonaktif.
§ TF0 :
sama dengan TF1.
§ TR0 :
sama dengan TR1.
3.
Serial Data Buffer
SBUF atau Serial Data Buffer yang berlokasi dialamat 99H adalah register
yang dapat digunakan untuk berkomunikasi dengan peralatan lain yang menggunakan
serial port seperti modem, shift
register. Register SBUF tersusun dari dua register yang terpisah, yaitu
register penyangga pengirim (transmit buffer) dan penyangga penerima (receive
buffer). Pada saat data disalin ke SBUF, maka data sebenarnya dikirim ke
penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan
pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari
penyangga penerima.
4. Register Kontrol Port Serial
Register kontrol dan status untuk Port
serial berada dalam SCON (perhatikan gambar 2.17). Register ini mengandung
bit-bit pemilihan mode kerja port serial, bit data ke-9 pengiriman dan
penerimaan (TB8 dan RB8) serta bit-bit interupsi port serial (TI dan RI).
Gambar
2.17. Susunan Bit Dalam Register SCON [5]