Mikrokontroler, sebagai suatu
terobosan teknologi mikrokontoler dan mikrokomputer, hadir memenuhi
kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi
baru, yaitu teknologi semikonduktor dengan kandungan transistor yang
lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi
secara missal (dalam jumlah banyak) sehingga harga menjadi lebih murah
(dibandingkan mikroprosesor). Sebagai kebetuhan pasar, mikrokontelor
hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan
dan keinginan alat-alat Bantu dan mainan yang lebih canggih.
Ilustrasi
yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan
mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang
saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka
akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah
tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan
berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler,
karena tidak mungkin menggunakan komputer PC yang harus dipasang
disamping (atau di belakang) mesin permainan yang bersangkutan.
Kontruksi AT89S51
Mikrokontrol
AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal
serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo
Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian
reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya.
Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad
dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang
menentukan kecepatan kerja mikrokontroler.
Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory (ROM)
yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai
dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini
dinamakan sebagai memori progam.
Random Access Memori (RAM)
isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk
menyimpan data pada saat progam bekerja. RAM yang dipakai untuk
menyimpan data ini disebut sebagai memori data.
Ada berbagai
jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan
diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC
mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu
mikrokontroler mengunakan ROM yang dapat diisi ulang atau
Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu
banyak dipakai UV-EPROM (Ultra Violet Eraseable Progamble ROM) yang
kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang
harganya jauh lebih murah.
Jenis memori yang dipakai untuk
Memori Program AT89S51 adalah Flash PEROM, program untuk mengendalikan
mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan
sebagai AT89S51 Flash PEROM Programmer
.
Memori Data yang
disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil
saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.
Sarana
Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51
mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal
sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).
AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)
yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk
komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P1.0 dan
P1.1 di kaki nomor 2 dan 3, seningga kalau sarana input/ouput yang
bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa
berasal dari oscillator kristal atau clock yang diumpan dari luar lewat
T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan
P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan
T1 dipakai.
AT89S51
mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah
sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini
berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai
jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima
sinyal interupsi.
Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin Regeister (SFR).
SFR (Register Fungsi Khusus) Pada Keluarga 51
Sekumpulan
SFR atau Special Function Register yang terdapat pada Mikrokontroler
Atmel Keluarga 51 ditunjukan pada gambar I.01, pada bagian sisi kiri dan
kanan dituliskan alamat-alamatnya dalam format heksadesimal.
Tidak
semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan
diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada
alamat-alamat yang tidak terpakai tersebut akan menghasilkan data acak
dan penulisannya tidak menimbulkan efek sama sekali. Pengguna perangkat
lunak sebaiknya jangan menuliskan ‘1’ pada lokasi-lokasi ‘tak bertuan’
tersebut, karena dapat digunakan untuk mikrokontroler generasi
selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif dari
bit-bit baru ini akan selalu ‘O’ dan nilai aktifnya adalah ‘1’. Berikut
akan dijelaskan secara singkat SFR-SFR beserta fungsinya:
Akumulator
ACC
atau akumulator yang menempati lokasi E 0h digunakan sebagai register
untuk penyimpanan data sementara, dalam program, instruksi mengacunya
sebagai register A (bukan ACC).
Register B
Register
B (lokasi D 0h) digunakan selama operasi perkalian dan pembagian, untuk
instruksi lain dapat diperlakukan sebagai register scratch pad (“papan
coret-coret”)
lainnya.
Program Status Word (PSW)
Register PSW (lokasi D 0h) mengandung informasi status program.
Stack Pointer
Register
SP atau Stack Pointer (lokasi 8 1h) merupakan register dengan panjang
8-bit, digunakan dalam proses simpan menggunakan instruksi PUSH dan
CALL. Walau Stack bisa menempati lokasi dimana saja dalam RAM, register
SP akan selalu diinisialisasi ke 07h setelah adanya reset, hal ini
menyebabkan stack berawal di lokasi 08h.
Data Pointer
Register
Data Pointer atau DPTR mengandung DPTR untuk byte tinggi (DPH) dan byte
rendah (DPL) yang masing-masing berada dilokasi 83h dan 82h,
bersama-sama membentuk register yang mampu menyimpan alamat 16-bit.
Dapat dimanipulasi sebagai register 16-bit atau ditulis dari/ke port,
untuk masing-masing Port 0,Port 1, Port2 dan Port 3.
Serial Data Buffer
SBUF
atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua
register yang terpisah, yaitu register penyangga pengirim (transmit
buffer) dan penyangga penerima (receive buffer). Pada saat data disalin
ke SBUF, maka data sesungguhnya 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.
Time Register
Pasangan
register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan
8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register
pencacah 16-bit untuk masing-masing Timer 0, Timern 1 dan Timer 2.
Capture Register
Pasangan
register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh merupakan
register capture untuk mode Timer 2 capture. Pada mode ini, sebagai
tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada
AT89C52/55), TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L.
Timer 2 juga memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta
RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.
Control Register
Register-register
IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit control
dan status untuk system interupsi, pencacah/pewaktu dan port serial.
Berikut ini merupakan spesifikasi dari IC AT89C51 :
•Kompatible dengan produk MCS-51
•Empat K byte In-Sistem Reprogammable Flash Memory
•Daya tahan 1000 kali baca/tulis
•Fully Static Operation : 0 Hz sampai 24 MHz
•Tiga level kunci memori progam
•128x8 bit RAM internal
•32 jalur I/O
•Tiga 16 bit Timer/Counter
•Enam sumber interupt
•Jalur serial dengan UART
Deskripsi pin-pin pada mikrokontroler AT89S51 :
VCC (Pin 40)
Suplai tegangan
GND (Pin 20)
Ground
Port 0 (Pin 39-Pin 32)
Port
0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data
ataupun penerima kode byte pada saat flash progamming Pada fungsi
sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah
TTL input atau dapat diubah sebagai input dengan memberikan logika 1
pada port tersebut.
Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai
internal pull up.
Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat
verifikasi program.
Port 2 (Pin 21 – pin 28)
Port
2 berfungsi sebagai I/O biasa atau high order address, pada saat
mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, port ini
akan mengeluarkan isi dari P2 special function register. Port ini
mempunyai internal pull up dan berfungsi sebagai input dengan memberikan
logika 1. Sebagai output, port ini dapat memberikan output sink keempat
buah input TTL.
Port 3 (Pin 10 – pin 17)
Port
3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga
mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.
ALE/PROG (pin 30)
Address
latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat
selama mengakses memori eksternal. Selain itu, sebagai pulsa input
progam (PROG) selama memprogam Flash.
PSEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.
EA (pin 31)
Pada
kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler
akan menjalankan progam yang ada pada memori eksternal setelah sistem
direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan
progam yang ada pada memori internal. Pada saat flash progamming, pin
ini akan mendapat tegangan 12 Volt.
XTAL1 (pin 19)
Input untuk clock internal.
XTAL2 (pin 18)
Output dari osilator.
Tidak ada komentar:
Posting Komentar