Rabu, 09 Desember 2009

TEORI DASAR MIKROKONTROLER

Pengenalan Mikrokontroller
Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor 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 yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak)
membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar,
mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan
keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi
(misalnya pengolah kata, pengolah angkadan lain sebagainya), mikrokontroler hanya bisa
digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan).
Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam
ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan
dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAMnya
yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash
PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan
sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1. Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan
berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah
dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena
menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung
bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak
menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar
dan huruf kecil untuk bahasa assembly tetap diwajarkan.
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi
menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai
komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan
parameter komputer hanya digunakan untuk download perintah instruksi atau program.
Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan
karena tidak menggunakan banyak perintah.
4. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O
yang disesuaikan dengan kebutuhan sistem.
5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.
Unit Mikrokontroller
Keluarga MCS-51 merupakan mikrokontroller 8 bit seperti terlihat pada table
berikut ini :
1
Tabel 1 keluarga MCS51
Terdapat beberapa anggotanya mempunyai internal memory, salah satunya adalah mikrokontroller
AT89C51 yang merupakan versi EEPROM dari 80C51 dimana memory internal ini dapat diprogram
dan dihapus secara elektrik diproduksi oleh ATMEL Corporation. AT89C51 dibuat compatible
dengan sel instruksi dan pin keluaran standar industri MCS-51 yang memiliki 4Kbyte RAM
internal dengan teknologi flas EEPROM yang dapat menyimpan data meskipun catu daya dimatikan.
DT-51 merupakan development tools yang terdiri dari 2 bagian terintegrasi yaitu perangkat keras
dan perangkat lunak. Komponen utama perangkat keras DT-51 ialah mikrokontroler AT89C51
yang merupakan salah satu turunan keluarga MCS-51 Intel dan telah menjadi salah satu standar
industri dunia. Selain mikrokontroler, DT-51 dilengkapi pula dengan EEPROM yang
memungkinkan DT-51 bekerja dalam mode stand-alone (bekerja sendiri tanpa komputer). Selain
komponen-komponen tersebut masih banyak fungsi lain pada DT-51, antara lain : timer, counter,
RS-232 serial port, Programmable Perangkat Interface (PPI), serta LCD port. Perangkat lunak
DT-51 terdiri dari Downloader DT51L dan Debugger DT51D. Downloader berfungsi untuk
mentransfer user program dari PC (Portable Computer) ke DT-51, sedangkan debugger akan
membantu user untuk melacak kesalahan program.
Spesifikasi DT-51
1. Berbasis mikrokontroler 89C51 yang berstandar industri.
2. Serial port interface standar RS-232 untuk komunikasi antara komputer dengan board DT-51.
3. 8 Kbytes non-volatile memory (EEPROM) untuk menyimpan program dan data.
4. 4 port input output (I/O) dengan kapasitas 8 bit tiap portnya.
5. Port Liquid Crystal Display (LCD) untuk keperluan tampilan.
6. Konektor ekspansi untuk menghubungkan DT-51 dengan add-on board yang kampatibel dari
Innovative Electronics.
2
Gambar.1 Tata Letak DT-51
1. Mikrokontroller AT89C51
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan
umunya dapat menyimpan program didalamnya. Mikrokontroler umumnya terdiri dari CPU
(Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital
Converter (ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler
ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroler
menjadi sangat ringkas. Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4 KB
Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi
sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi high density
non-volatile memory Atmel. Flash PEROM on-chip tersebut memungkinkan memori program
untuk diprogram ulang dalam sistem (in-system programming) atau dengan menggunakan
programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash
PEROM, menjadikan mikrokontroler AT89C51 menjadi microcomputer handal yang fleksibel.
Karakteristik lainya dari mikrokontroler AT89C51 sebagai berikut :
- Low-power
- 32 jalur masukan/keluaran yang dapat diprogram*
- Dua timer counter 16 bit
- RAM 128 byte
- Lima interrupt Arsitektur perangkat keras 89C51 mempunyai 40 kaki, 31 kaki digunakan untuk
keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing
ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga
digunakan secara sendiri setiap bitnya untuk interfacing single bit septerti switch, LED, dll.
3
Gambar 2. Konfigurasi Pin Mikrokontroler AT89C51
Fungsi dari mikrokontroler AT89C51 secara keseluruhan dapat digambarkan yaitu sebagai
berikut :
Pin 1 sampai 8
Adalah kelompok pin untuk port 1. Port 1 ini merupakan port I/O dua arah yang digunakan
untuk penghubungan dengan peralatan luar.
Pin 9
Adalah masukan reset. Dimana ketika ada masukan sinyal dalam waktu tertentu pada pin ini,
mikrokontroler akan di reset.
Pin 10 sampai 17
Adalah port 3 yang juga merupakan port I/O. Port 3 terdiri dari pin-pin yang diperlihatkan
tabel dibawah ini.
Tabel 2. fungsi pin pada P3
4
Pin 18
Adalah XTAL 2 yaitu untuk keluaran dari inverting oscillator amplifier. XTAL 2 digunakan
untuk pewaktuan mikrokontroler.
Pin 19
Adalah XTAL 1 yaitu masukan untuk inverting oscillator amplifier dan masukan untuk rangkaian
sumber detak (clock).
Pin 20
Adalah ground dan diberi simbol gnd. Pin ini terhubung dengan jalur netral/ground dari rangkaian
pengatur daya.
Pin 21 sampai 28
Adalah port 2 yang juga sebagai port I/O.
Pin 29
Adalah Program Store Enable ( ), yaitu masukan sinyal baca untuk memori program
eksternal agar masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).
Pin 30
Adalah Address Latch Enable (ALE) yaitu keluaran yang menghasilkan pulsa-pulsa untuk
mengancing byte rendah alamat selama mengakses eksternal. Selain itu pin ini juga berfungsi
sebagai atau masukan pulsa program selama pemograman.
Pin 31
Adalah External Acces Enable ( ) yang merupakan sinyal kontrol untuk pembacaan memori
program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi
dari memori program eksternal, sedangkan jika diset tinggi (H) maka mikrokontroler akan
melaksanakan instruksi dari memori program internal ketika isi program kurang dari 4096. Port
ini juga berfungsi sebagai tegangan pemograman (Vpp = + 12V) selama proses pemograman.
Pin 32 sampai 39
Adalah merupakan port 0 dan berfungsi sebagai I/O.
Pin 40
Adalah Vcc atau sumber tegangan. Pin ini dihubungakan dengan jalur positif dari rangkaian
pengatur daya
Organisai Memori Mikrokontroller AT89C51
AT89C51 yang merupakan versi EEPROM dari 8051yang program memorinya dapat diprogram
dan dihapus secara elektrik. AT89C51 mempunyai lokasi alamat yang terpisah untuk program
memori dan data memori .
5
Gambar 3. Blok Diagram Inti Dari AT89C
Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8
bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8 bit. Namun
demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR.
Gambar 4. Struktur Memori Mikrokontroler AT89C51
Memori Program
Memori program hanya bisa dibaca saja karena bersifat sebagai ROM. Memori ini disimpan dalam
Flash PEROM. Memori program yang bisa diakses langsung hingga 64 Kbyte. Pada gambar emori
program terdapat strobe (tanda) untuk akses memori program eksternal melalui sinyal (Program
Strobe Enable). Mikrokontroler AT89C51 mempunyai 4 Kbyte memori program internal. Bila
memakai memori program eksternal, maka pin ` ’ diberi logika Low. Apabila ingin memakai emori
program internal pin diberi logika High.
Memori Data
6
Memori data menempati ruang alamat terpisah. Memori eksternalnya dapat diakses secara
langsung hingga 64 Kbyte. CPU akan memberikan sinyal baca dan tulis selama mengakses
memori data eksternal.Gambar menampilkan ruang alamat memori data internal dan
eksternal. Perincian ruang memori data internal seperti gambar 2.5. dibagi menjadi tiga blok
yaitu, 128 lower, 128 upper, dan Register Fungsi Khusus (Special Function Register = SFR).
Pengaksesan langsung dengan alamat diatas 7FH mengakses suatu memori, sedangkan
pengaksesan tak langsung dengan alamat di atas 7FH mengakses ruang memori lain yang
berbeda. Pada memori data internal 128 byte lower terdapat empat bank dan delapan register
(Ro...R7).
Gambar 5. Struktur Memori Mikrokontroler AT89C51
Pengalamatan langsung dari 80H sampai FFH tergolong dalam SFR. Berikut fungsi yang terdapat
dalam SFR. 1. Program Status Word (PSW) PSW berisi bit-bit status yang berkaitan dengan kondisi
CPU saat itu. PSW terletak dalam ruang SFR pada lokasi D0H.
1. Akumulator
ACC atau akumulator menempati lokasi E0H dan digunakan sebagai register untuk penyimpanan
data sementara dalam program.
2. Register B
Register B terletak pada lokasi F0H. Register ini digunakan selama operasi perkalian dan
pembagian. Saat intstruksi MUL AB terjadi perkalian antara akumulator dengan data yang
tersimpan dalam register B dan hasilnya 16 bit disimpan dalam register B dan akumulator (A).
Instruksi DIV AB melakukan pembagian antara akumulator dengan data yang tersimpan dalam
register B.
3. Stack Pointer (SP)
Register SP terletak pada lokasi 81H. SP merupakan register dengan panjang 8 bit dan
digunakan dalam proses simpan dan ambil dari/ke stack.
4. Data Pointer
Register Data Pointer atau DPTR mengandung byte tinggi (DPH) dan byte rendah (DPL) masingmasing
berada di lokasi 83H dan 82H. DPTR dapat dimanipulasi sebagai dua register 8 bit yang
terpisah.
7
5. Port 0, Port 1, Port 2, Port 3
P0, P1, P2, P3 masing-masing menempati lokasi 80H, 90H, A0H, dan B0H.
6. Register Kontrol (Control Register)
Pada register kontrol terdapat TMOD sebagai pewaktu.
7. Timer Register
Timer register merupakan register pencacah 16 bit. Timer 0 high dan timer 0 low terdapat
pada masing-masing 8CH dan 8AH. Timer 1 high dan Timer
1 low terdapat dilokasi 8DH dan 8BH.
Memori Eksternal
Selain PEROM dan internal RAM yang terdapat pada mikrokontroler AT89C51, DT51 juga
mempunyai memori eksternal berjenis EEPROM (Electrically Erasable Programmable Read
Only Memory). Sesuai dengan namanya maka EEPROM dapat ditulis dan dihapus secara
elektrik, mirip seperti RAM namun bersifat non volatile sehingga data yang tersimpan dalam
EEPROM tidak hilang meskipun catu daya dimatikan. AT28C64B adalah suatu memori eksternal
seperti yang digunakan sebagai tambahan dalam menyimpan program dan data. Pada
pengaksesannya baik dalam menulis dan membaca, memori ini tidak membutuhkan komponen
luar. Didalamnya terdiri dari suatu halaman register 64 byte untuk penulisan. Memori
AT28C64B memiliki 28 pin yang terdiri dari 13 pin pengalamatan, 8 pin I/O data dan 3 pin
inisialisasi, serta 2 pin untuk Vcc dan ground, sedangkan 2 pin lainnya tidak dihubungkan.
Gambar 6. Electrically-Erasable and Programmable Read Only
Memory (EEPROM) AT28C64B.
Untuk penggunaan memori ini seperti telah disinggung diatas, dilakukan dari mikrokontroler.
Sebagai memori program, pengaturan dilakukan dari mikrokontroler pada pin ALE, pin dan
pin . Pin ALE sebagai pengunci alamat, pin berfungsi untuk menentukan pengambilan
instruksi. Jika disambung pada Vcc, maka mikrokontroler mengambil instruksi dari memori
internal, dan bila tersambung pada ground maka pengambilan instruksi dari memori eksternal.
Sedangkan untuk inisialisasi pengambilan program dari memori ekternal diatur pada pin . Sama
dengan memori internal, program hanya dapat dibaca. Penggunaan sebagai memori data, dilakukan
pada pin dan pin . Pin untuk penulisan data dan pin untuk pembacaan data.
Set Instruksi
Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51 yaitu:
8
Instruksi aritmetika
Intruksi logika dan manipulasi bit
Instruksi transfer data
Instruksi percabangan
Instruksi-instruksi tersebut dijelaskan berikut ini.
Instruksi Aritmetika
Intruksi aritmetika mencakup penambahan (ADD), pengurangan (SUBB), perkalian (MUL),
dan pembagian (DIV).
1. Penambahan (ADD)
Instruksi ini menjumlahkan suatu data dengan isi akumulator dan hasilnya disimpan dalam
akumulator.
Operasi ADD : A←A+data
2. Pengurangan (SUBB)
Instruksi ini mengurangkan isi akumulator dengan isi carry flag dan isi data.
Operasi SUBB : A←A-C-data
3. Perkalian (MUL)
Instruksi ini mengalikan isi akumulator dengan isi register B.
Operasi MUL : AB←A*B
4. Pembagian (DIV)
Instruksi ini akan membagi isi register akumulator dengan isi register B.
Operasi DIV : AB←A/B
5. Penambahan satu (INC)
Proses ini menambahkan satu pada isi suatu register atau memori.
Operasi INC A : AB←A+B
6. Pengurangan Satu (DEC)
Proses ini kebalikan dari proses pengurangan satu.
Instruksi Logika Dengan Manipulasi Bit
Instruksi logika dan manipulasi bit terdiri dari :
1. Logika AND (ANL)
Instruksi ini melakukan proses logika AND antara suatu register dengan register, register
dengan data, carry flag dengan suatu alamat, dan lain- lain.
Tabel kebenarannya
9
Tabel 3. operasi AND
Sebagai contoh, misalnya akumulator berisi 1011 1011B dan register R0 berisi 0100 1100B
dengan instruksi ANL A, R0 menyebabkan isi akumulator menjadi sebagai berikut :
A : 1011 1011
B : 0100 1100
0000 1000 → akumulator akan berisi 0000 1000B atau 08H
Format instruksi AND :
ANL A, @Rr
ANL A, #data
ANL alamat data, A
ANL alamat, #data
2. Logika OR (ORL)
Instruksi ini melakukan logika OR antara suatu register dengan register, register dengan data, carry
flag dengan isi suatu alamat bit.
Tabel4. Operasi OR
Format instruksi OR:
ORL A, @Rr
ORL A, #data
10
ORL alamat data, A
ORL A, alamat data
3. Logika NOT (CPL)
Instruksi ini melakukan proses logika NOT pada suatu register, carry flag, atau isi suatu alamat
bit. Tabel kebenarannya sebagai berikut.
Tabel 5. Operasi NOT
Format instruksi NOT:
CPL A
CPL alamat bit
4. Logika EXOR (XRL)
Instruksi ini melakukan proses logika exlusive-OR antara register dengan register, register
dengan data, dan lain-lain. Tabel kebenarannya sebagai berikut.
Tabel 6. Operasi EXOR
5. Manipulasi Pengesetan (CLR)
Instruksi ini menyebabkan suatu bit menjadi reset atau nol Format instruksi CLR :
CLR A
CLR alamat bit
6. Manipulasi Bit Pengesetan (SETB)
Instruksi ini akan mengeset bit yang dimaksud (atau 1)
Format instruksi SETB :
SETB C
SETB bit
7. Manipulasi Bit Pengisian (MOV)
11
Instruksi ini akan mengisi suatu data dalam bentuk byte. Format instruksi MOV :
MOV @Rr, A
MOV A, @Rr
MOV @Rr, #data
MOV @Rr, alamat data
MOV A, alamat data
8. Manipulasi Lompat
Program counter akan meloncat ke alamat yang dikehendaki. Format instruksinya :
JC alamat kode
JNC alamat kode
Instruksi Transfer Data
Kelompok instruksi ini digunakan untuk memindahkan data antara :
1. register-memori
2. antarmuka-register
3. antarmuka-memori
Contoh :
MOV A, R0 : Pindahkan isi register R0 ke akumulator.
MOV A, @R0 : Pindahkan isi memori yang alamatnya ditunjukkan oleh register R0 ke
akumulator.
MOV A, P3 : Pindahkan isi port 3 ke akumulator.
Instruksi Percabangan
Instruksi percabangan ini dibagi dua yaitu percabangan dengan syarat dan percabangan tanpa
syarat. Percabangan dengan syarat terdiri atas :
CJNE
Instruksi ini akan membandingkan isi register atau isi memori dengan suatu data. Bila hasil
perbandingan itu sama, instruksi selanjutnya yang akan dituju. Bila tidak sama, instruksi yang
ditunjuk oleh label yang akan dilaksanakan.
Format instruksi CJNE :
CJNE A, @Rr
DJNZ
Instruksi ini akan mengurangi isi register atau memori dengan satu. Bila sudah 0, instruksi
selanjutnya akan dilaksanakan dan bila belum 0 instruksi dilanjutkan ke label.
Format instruksi DJNZ :
12
DJNZ Rr, alamat kode
DJNZ alamat data, alamat kode
JBC
Instruksi ini akan menguji suatu alamat bit. Apabila alamat bit berisi 1 (set) bit tersebut akan di
clear dan selanjutnya program menuju tabel. Bila alamat bit berisi 0, instruksi selanjutnya yang akan
dieksekusi.
Format instruksi JBC :
JBC alamat bit, alamat kode
Percabangan tanpa syarat meliputi :
Long Jump (LJMP)
Format instruksi Long Jump :
LJMP alamat kode
Short Jump (SJMP)
Format instruksi Short Jump :
SJMP alamat kode
Progaram sumber assembly
Program sumber assembly merupakan program yang ditulis oleh pembuat program berupa
kumpulan baris-baris perintah dan biasanya disimpan dengan extension .ASM. program sumber
assembly terdiri atas beberapa bagian yaitu Label, Mnenonikm Operand, dan Komentar.
1. Label
Label sangat berguna dalam pemberian nama pada alamat-alamat yang dituju, karena
pemberian label pada suatu alamat lebih bersifat relatif. Selain itu, label juga digunakan sebagai
catatan diri alur program. Untuk membuat label, ada beberapa persyaratan yang harus dipenuhi,
dimana persyaratan ini kadang-kadang juga bergantung pada program assembler yang digunakan,
yaitu :
A. Harus diawali dengan huruf.
B. Tidak diperbolehkan adanya label yang sama dalam satu program assembly.
C. Maksimal 16 karakter.
D. Tidak diperbolehkan adanya karakter spasi dalam label.
2. Mnemonic
Mnemonic atau bisa juga disebut kode operasi adalah kode-kode yang akan dikerjakan oleh program
assembler yang ada pada mikrokontroller merupakan perintah-perintah atau instruksi-instruksi yang
sangat bergantung dengan jenis mikrokontroller yang digunakan. Contoh, untuk keluarga MCS51
digunakan MOVX, MOV, ADD dan lain-lain.
3. Operand
13
Operand merupakan pelengkap dari mnemonic, jumlah operand yang dibutuhkan oleh satu
mnemonic tidak selalu sama, sebuah mnemonic dapat memiliki tiga, dua, satu atau bahkan tidak
memiliki operand sama sekali.
4. Komentar
Bagian komentar tidak mutlak ada dalam sebuah program, namun bagian ini sangat berguna
untuk menjelaskan proses-proses kerja ataupun catatan-catatan tertentu padabagian-bagian
program. Bahkan pembuat program seringkali membutuhkannya untuk mengingat kembali
jalannya program rancanganya.
Sistem pengalamatan
Dalam sebuah program, terdapat beberapa system pengalamatan yang perlu diketahui, yaitu :
Pengalamatan Langsung
1. Immediate Data
Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupan data
yang akan diproses. Biasanya operand tersebut selalau diawali dengan tanda ‘#’. Operand
yang igunakan operand yang digunakan pada immediate data juga dapat berupa bilangan
bertanda mulai -256 hingga +256
Contoh :
Mov A,#-1 sama dengan Mov A,#0FFH
Bilangan 1 adalah sama dengan 0 dikurangi 1, dalam bentuk heksa bilangan 00H jika dikurangi 1,
hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dianggap sama dengan 0FFH.
2. Pengalamatan Data
Proses pengalamatan ini terjadi pada sebuah proses perintah ketika nilai operand
merupakan alamat dari data yang akan di isi, dipingahkan atau diproses.
Pengalamatan Tak Langsung
Proses pengalamatan ini terjadi pada sebuah perintah ketika salah satu operand merupakan register
berisikan alamat dari data yang akan di isi atau dipindahkan. Pengalamatan jenis ini biasa
digunakan untuk melakukan penulisan, pemindahan, atau pembacaan beberapa data dalam lokasi
memori yang mempunyai urutan beraturan.
Pengalamatan Kode
Pengalamatan kode merupakan pengalamatan kerja operand, merupakan alamat dari instruksi
jump dan call. Biasanya operand tersebut akan menuju ke suatu alamat yang telah diberi label
sebelumnya.
Pengalamatan Bit
Pengalamatan bit adalah pengalamatan ketika operand menunjuk ke alamat pada RAM internal
ataupun register fungsi khusus yang mempunyai kemampuan pengalamatan secara bit. Berdasarkan
penulisannya, pengalamatan ini terdiri dari beberapa macam yaitu :
1. Langsung menuju ke alamat bit
14
Contoh :
Setb 0B0H
Perintah ini memberikan logika 1 pada bit di alamat B0H dengan pengalamatan secara bit.
2. Menggunakan operator titik
Contoh :
Setb P3.0
Perintah ini memberikan logika 1 pada bit ke 0 dari port 3, bit tersebut terletak di alamat B0H
dengan pengalamatan secara bit.
3. Menggunakan lambang assembler secara standar
Contoh :
Setb RXD
Perintah ini memberikan logika 1 pada kaki RXD yang terletak pada bit ke 0 dari port 3. 4.
Menggunakan lambang assembler secara bebas
contoh :
Penerima Bit P30
Setb Penerima Perintah ini memberikan logika 1 pada bit penerima yang sebelumnya
didefinisikan sebagai bit P3.
Programmable Peripheral Interface (PPI) 8255
Programmable Peripheral Interface (PPI) 8255 ialah chip antarmuka 24 bit (3 port) yang dapat
diprogram sesuai keinginan kita. PPI 8255 merupakan chip yang paling banyak digunakan untuk
interfacing menggunakan port ISA komputer. PPI 8255 sering digunakan sebagai pengendali motor
stepper, ADC/DAC, relay, dan rangkaian digital
lainnya yang digunakan untuk Sistem Akuisisi Data. Gambar 2.7. merupakan skema IC 8255 yang
memiliki 40 pin. Perlu diingat bahwa pin gnd berada di pin 7 dan Vcc berada di pin 26.Ic sangat
sensitive terhadap listrik statis. Arus keluaran IC ini sangat kecil, karena itu biasanya digunakan
resistor pull-up agar dapat menyuplai arus lebih besar.
15
Gambar 7. Programmable Peripheral Interface (PPI) 82C55A
Berikut ini penjelasan mengenai tiap pin :
PA0-PA07
Merupakan port A yang terdiri dari 8 bit, dapat diprogram sebagai input atau output dengan
metode bidirectional input/output.
PB0-PB07
Port B dapat diprogram sebagai input/output, tetapi tidak dapat digunakan sebagai port
bidirectional.
PC0-PC07
Port C dapat diprogram sebagai input/output, bahkan dapat dipecah menjadi dua, yaitu CU (bit
PC4-PC7) dan CL (bit PC0-PC3) yang dapat diprogram sebagai input/output. RD dan WR Sinyal
kontrol aktif rendah ini dihubungkan ke 8255. Jika 8255 menggunakan desain periferal I/O
maka IOR dan IOW bus sistem dihubungkan ke kedua pin ini.
RESET
Pin aktif tinggi ini digunakan untuk membersihkan Control Register. Ketika RESET diaktifkan,
seluruh port diinisialisasi sebagai port input.
Pengaturan Control Word
Pengaturan control word bertujuan untuk menentukan fungsi dari setiap port pada PPI 8255. dengan
menentukan data yang masuk pada pin D0 – D7, kita dapat menentukan fungsi dari port-port
pada PPI 8255. Dengan fungsi masing - masing pin sebagai berikut :
Gambar 8. Pengaturan Control Word
Keypad
16
Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal pada suatu rangkaian dengan
menghubungkan jalur-jalur tertentu. Keypad terdiri dari beberapa macam berdasarkan jumlah
tombol dan fungsinya. Pada sistem pengontrolan ini, digunakan keypad matriks 3 x 4 (12 saklar)
dengan pin penghubung rangkaian berjumlah 7 buah.
Gambar 9. Tampilan Fisik Keypad 3 x 4
Ketujuh pin penghubung ini terbagi dua kelompok yaitu 4 buah pin sebagai input dan 3 buah
lainnya sebagai ouput. Adapun maksud dari 7 pin I/O adalah untuk dijadikan kombinasi
penghubungan pada rangkaian yang akan disambungkan dengan keypad ini.
Dimana dalam setiap penekanan satu tombol/saklar keypad maka terjadi kombinasi antara dua buah
pin dalam pembacaan sinyalnya.
Gambar 10. Skematik Keypad 3 x 4

Tidak ada komentar:

Posting Komentar