Mikrokontroler AT89S51/52
Mikrokontroler AT89S51/52
1. Pendahuluan
Mikrokontroler 89S51/52 merupakan versi terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini. Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB Flash Programmable dan Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah. Oleh karena itu, sangatlah tepat jika kita mempelajari mikrokontroler jenis ini. Anda juga diharapkan mempelajari versi lainnya yang berdasarkan pengalaman penulis lebih cepat di dalam pengisian program yaitu AT89S8252.
Pada buku ini saya fokuskan pada AT89S52 karena lebih powerfull meskipun sedikit lebih mahal dibandingkan 89S51. Spesifikasi penting AT89S52 :
- Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
- 8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
- tegangan kerja 4-5.0V
- Bekerja dengan rentang 0 – 33MHz
- 256x8 bit RAM internal
- 32 jalur I/0 dapat diprogram
- 3 buah 16 bit Timer/Counter
- 8 sumber interrupt
- saluran full dupleks serial UART
- watchdog timer
- dual data pointer
- Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)
Gambar 2.1 Bentuk Chip AT 89S52
2. Spesial Function Register
Mikrokontroler mempunyai sebuah peta memori yang disebut sebagai Special Function Register (SFR) . Port 0 berada di alamat 80h, port 1 90h, port 2 A0h dan P3 di alamat B0h. Sedangkan SBUF untuk komunikasi serial berada pada alamat 99h.
3. Data Memori
AT89S51/52 mempunyai memori yang disebut sebagai Memori data internal. Memori data internal terdiri dari RAM internal sebesar 128 byte dengan alamat 00H-7FH dapat diakses menggunakan RAM address register. RAM Internal ini terdiri dari Register Banks dengan 8 buah register (R0-R7). Memori lain yaitu 21 buah Special Function Register dimulai dari alamat 80H-FFH. RAM ini beda lokasi dengan Flash PEROM dengan alamat 000H -7FFH. Jika diperlukan, memori data eksternal untuk menyimpan variabel yang ditentukan oleh user dapat ditambah berupa IC RAM atau ROM maksimal sebesar 64KB.
|
Special Function Register |
RAM Internal |
Gambar 2.2 Ruang Memori data internal
AT89S52 menggunakan 256 bytes RAM dimana 128 bytes bagian atas menempati alamat parallel ke special function register (SFR). Artinya 128 bagian atas mempunyai alamat yang sama dengan SFR namun secara fisik terpisah dari SFR. Ketika instruksi mengakses lokasi internal diatas 7FH, mode alamat yang digunakan pada instruksi menentukan apakah CPU mengakses 128 btyes atas atau SFR. Instruksi yang menggunakan pengalamatan langsung akan mengakses ruang SFR. Sebagai contoh, Port 0 berada diset pada alamat 80H, port 1 90H dan lain lain, informasi ini juga dapat dilihat pada file MOD51 yang harus kita sertakan setiap membuat program assembly dengan sebagian isinya sebagai berikut :
; REV. 1.0 MAY 23, 1984
P0 DATA 080H ;PORT 0
SP DATA 081H ;STACK POINTER
DPL DATA 082H ;DATA POINTER - LOW BYTE
DPH DATA 083H ;DATA POINTER - HIGH BYTE
PCON DATA 087H ;POWER CONTROL
TCON DATA 088H ;TIMER CONTROL
TMOD DATA 089H ;TIMER MODE
TL0 DATA 08AH ;TIMER 0 - LOW BYTE
TL1 DATA 08BH ;TIMER 1 - LOW BYTE
TH0 DATA 08CH ;TIMER 0 - HIGH BYTE
TH1 DATA 08DH ;TIMER 1 - HIGH BYTE
P1 DATA 090H ;PORT 1
Sebagai perbandingan kapasitas memori, Tabel 2.1 menampilkan kapasitas memori dari mikrokontroler seri AT89X.
Tabel 2.1 Kapasitas Memory Mikrokontroller seri AT89X
Type | RAM | Flash Memory | EEPROM |
AT89C51/ AT89S51 | 8 X 128 byte | 4 Kbyte | Tidak |
AT89C52/ AT89S52 | 8 X 256 byte | 8 Kbyte | Tidak |
AT89C55 | 8 X 256 byte | 20 Kbyte | Tidak |
AT89S53 | 8 X 256 byte | 12 Kbyte | Tidak |
AT89S8252 | 8 X 256 byte | 8 Kbyte | 2 Kbyte |
0 comments:
Posting Komentar
Silahkan berkomentar disini. SPAM, sumpah serapah, dan kata-kata tidak sopan akan segera saya hapus.