User manual

nya tetap biner, agar mudah diingat, digunakanlah format
mnemonic berupa kalimat singkat seperti LDA yang artinya
LoaD Accumulator register, STX: STore indeX register. Se-
dangkan Operand adalah nilai yang akan digunakan opcode,
misalnya LDA 15 berarti LoaD Accumulator dari address 15
(desimal). LDA #15 berarti LoaD Accumulator dengan ang-
ka 15 (desimal). INCA berarti INCrement (naikkan satu)
nilai Accumulator tanpa perlu operand. Ketiga instruksi ini
berbeda dalam Addressing mode (cara MCU memperlaku-
kan data sebagai address) yang akan dibahas lain kali.
Kita menulis program dengan mnemonic sedangkan MCU
cuma kenal opcode. Penterjemahnya adalah software yang
bernama assembler. Istilah Cross-Assembler digunakan
(walaupun sering dihilangkan) bila software tersebut dijalan-
kan pada CPU yang berbeda dengan CPU tujuan akhirnya.
Misal di PC yang pakai Pentium dan MCU tujuan adalah
Motorola. Jangan gunakan kata compile atau compiler kare-
na itu berurusan dengan bahasa level lebih tinggi seperti
basic, pascal, C dan lainnya.
Input Output di MCU umumnya berupa saluran yang bisa
berfungsi sebagai Input atau Output tergantung setting data
directionnya. Jumlah Input/Output dihitung dengan PORT
yang bila lengkap adalah 8 bit (1 Byte).
Gambar 5 menjelaskan 1 Bit I/O dengan Data Direction Bit
Control. Bila isi register direction (arah) nya set (bernilai 1),
maka I/O itu bekerja sebagai Output. Bila clear (bernilai 0),
fungsinya adalah Input.
HFF (Half Flip Flop) atas adalah latch (meng-copy input D
data ke Q sewaktu input C clock write DDR bit berlogika 1
dan mempertahankannya sewaktu logika 0) untuk direction
(arah). Bagian bawah untuk datanya.
Tanda panah menunjukkan arah sinyal. Buffer bergambar
segitiga hanya menguatkan sinyal, sedangkan buffer-driver
di atasnya juga berfungsi sebagai pemutus hubungan. Putus
bila logika di input kontrolnya 0 yang berasal dari flipflop
Data Direction di bagian atas. Simbol lain berupa dua segi-
tiga berlawanan arah dan bertumpuk juga berfungsi sebagai
pemutus hubungan seperti buffer driver (walaupun
sebenarnya simbol ini bisa melewatkan sinyal dua arah).
Penulisan data direction bit dilakukan dengan menyiapkan
data di jalur data (1/8 data bus) dilanjutkan dengan memberi
pulsa di clock write DDR bit. Sekarang DDR bit tersebut
dicopy ke flip-flop (HFF) DDR pada output Q nya. Membaca
logika DDR dilakukan dengan mengaktifkan saluran Read
DDR bit sehingga Q nya berhubungan dengan D atau data
bus. MCU tinggal membaca kondisi di data bus.
Penulisan datanya sendiri mirip dengan bagian atas, tapi
karena digital I/O (yang berhubungan dengan luar MCU)
bisa jadi input maka buffer-driver menyambung Q HFF data
ke digital I/O bila sedang jadi output dan memutuskannya
sewaktu menjadi input sehingga MCU bisa membaca
kondisi digital I/O tanpa terganggu Q HFF Data. Pembacaan
Input dilakukan dengan mengaktifkan read port sehingga
kondisi digital I/O berhubungan dengan data bus dan MCU
bisa membacanya.
Dengan DDR 1, penulisan data efektif ke digital I/O dan bila
dibaca hasilnya sama dengan yang ditulis sebelumnya.
Dengan DDR 0, penulisan tetap berlangsung tapi tidak
efektif ke digital I/O karena putus di buffer-driver dan bila
dibaca, yang terbaca adalah digital I/O yang kondisi
tergantung dari luar MCU.
Dalam praktek, I/O umumnya digunakan per Port (1 Byte -
8 bit) dan mampu disetel untuk menjadi out dan in untuk
setiap bitnya. Ini salah satu keunggulan MCU dibandingkan
microprosessor.
NeoTekno
Apr/Mei 2003 NeoTek
33
Gambar 5. Input Output 1 bit dengan Data Direction Register Control.