AKSES MEMORI Menggunakan DT-51 MinSys

dokumen-dokumen yang mirip
DASAR INPUT/OUTPUT (1) (PORT PPI DAN PORT 1 SEBAGAI OUTPUT)

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

PERCOBAAN 3. KONTROL DISPLAY 7-SEGMENT Menggunakan DT-51 MinSys

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

Percobaan 4. Mengakses built-in routine LCD pada DT-51 Minimum sistem. Membuat program untuk menampilkan karakter ASCII pada LCD.

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

I/O dan Struktur Memori

Mikrokontroler 89C51 Bagian II :

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD

Memprogram Port sebagai Output dan Input Sederhana

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

MIKROKONTROLER AT89S52

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB 2 LANDASAN TEORI

AD Channel AD Conversion

USER MANUAL TRAINER TOMBOL & LED 8 BIT MENGGUNAKAN AT89S51 MATA PELAJARAN:ELEKTRONIKA KENDALI

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB III RANCANGAN DAN CARA KERJA ALAT

BAB 2 TINJAUAN TEORITIS

4. Port Input/Output Mikrokontroler MCS-51

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

Pendahuluan Mikrokontroler 8051

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

Laporan Modul 2, EL3006 Timer/Counter dan Interrupt Jongguran Sondang DN ( )/ Kelompok 48/ Jumat, 14 Maret 2008 Asisten: Virgilius

Trademarks & Copyright

BAB II TINJAUAN PUSTAKA

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

Daftar Isi. Trademarks & Copyright

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

Pengendalian 8 buah Motor oleh DST-51

BAB II TINJAUAN PUSTAKA. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

Sumber Clock, Reset dan Antarmuka RAM

MESIN KETIK ELEKTRONIK DENGAN TAMPILAN M1632 LCD OLEH MODUL DST-52

Smart Peripheral Controller ALPHANUMERIC DISPLAY

BAB IV PENGUJIAN DAN EVALUASI SISTEM. Pengujian dan evaluasi sistem pada tugas akhir ini meliputi perangkat

MENAMPILKAN 1000 KARAKTER PESAN PADA MODUL M1632 LCD OLEH MODUL DST-51

BAB 3 PERANCANGAN ALAT DAN PROGRAM

Gambar 1.1. Diagram blok mikrokontroller 8051

de KITS Application Note AN9-8 Channel Temperature Display

PERTEMUAN PERANGKAT KERAS MIKROKONTROLER

PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 OLEH DST-51

Memprogram Interupsi AT89S51

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN SISTEM

TI2043 Organisasi dan Arsitektur Komputer Tugas 2 Interrupt Driven I/O

SINYAL INTERUPSI. 1. Latar Belakang

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB 2 LANDASAN TEORI. bisa digunakan untuk memindahkan program yang ber-ekstention.hex ke Flash,

BAB 3 PERANCANGAN SISTEM

Sistem Komputer. Tiga komponen utama : CPU

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

MICROCONTROLER AVR AT MEGA 8535

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

APLIKASI MODUL DST -52 SEBAGAI JAM DIGITAL DENGAN INPUT DARI PC KEYBOARD DAN M1632 LCD SEBAGAI PENAMPIL

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

Register-register MT8888

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB III PERANCANGAN SISTEM

MICROCONTROLER AVR AT MEGA 8535

BAB 2 TINJAUAN PUSTAKA

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

DT-51 Application Note

Memprogram Interface Motor

Atmel Corporation, 2009, AT89S52 Datasheet,

BAB 2 LANDASAN TEORI

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

de KITS Application Note AN24 - How 2 Use de KITS Phone Interface with DT-51 MinSys ver 3.0

BAB III PERANCANGAN ALAT

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

Jawaban Ujian Tengah Semester EL3096 Sistem Mikroprosesor & Lab

PENAMPIL TOMBOL-TOMBOL REMOTE CONTROL SONY PADA M1632 LCD OLEH MODUL DST-52

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

BAB III RANCANG BANGUN SISTEM PENSINYALAN PELANGGAN PLC

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

RANCANG BANGUN SISTEM KEMBANGAN BERBASIS MIKROKONTROLER AT89S5x UNTUK APLIKASI SISTEM KONTROL

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran)

TERJADI INTERRUPT MELAYANI INTERRUPT KEMBALI MENERUSKAN PROGRAM YANG TERHENTI PROGRAM YANG SEDANG BERJALAN. Gambar 4.1 Interrupt

Memprogram Interface Display

I. Pendahuluan. Mikroprosesor CPU. Gambar 1. Perbedaan Mikrokontroler dengan Mikroprosesor

BAB 13 INTERFACE KE PRINTER DOT MATRIKS

APLIKASI MIKROKONTROLER

SISTEM PENGONTROLAN ALAT ELEKTRONIK DENGAN MEDIA KOMPUTER DAN MIKROKONTROLER AT89C51 MELALUI MEDIA KOMUNIKASI SERIAL PORT RS232

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

BAB III PERANCANGAN SISTEM

Transkripsi:

AKSES MEMORI Menggunakan DT-51 MinSys Mengakses eksternal memori dan data memori pada DT-51 Minimum sistem. Membuat program untuk penulisan atau pembacaan data pada memori eksternal DT-51 MinSys. Memori pada intinya berfungsi untuk mengingat atau menyimpan suatu informasi. Memori penting bagi system MCS-51 karena semua program dan data tersimpan dalam memori. Makin besar kapasitas memori yang dimiliki, system dapat mengakomodasi program yang lebih kompleks dan data yang lebih banyak. TIPE MEMORI Pada dasarnya, dalam dunia mikrokontroler ada dua tipe memori. Kedua memori tersebut adalah, data memori dan program memori. Pembagian dua memori ini bertujuan agar proses kerja mikrokontroler bekerja lebih cepat. Data Memori Data memori berfungsi untuk menyimpan data. Berdasarkan lokasinya, data memori dibagi menjadi dua : internal data memori yang terdapat dalam IC MCS-51 dan eksternal data memori yang berada di luar IC MCS-51 sebesar 128 bytes ditambah 44

dengan SFR (Special Function Register) sehingga jumlahnya mencapai 256 bytes.pembagian ruang internal data memori terdapat pada gambar 5-1. Gambar 5-1. Pembagian Ruang Internal Data Memori Jika diperlukan, eksternal data memori berupa IC RAM atau ROM dapat ditambahkan dan digunakan untuk menyimpan variable yang ditentukan oleh user. Penambahan ini dapat dilakukan hingga kapasitas total ekternal data memori mencapai 64 KB. Gambar 5-2. Konfigurasi Internal dan Eksternal Data Memori Program Memori Program Memori berfungsi untuk mrnyimpan kode program user yang akan dijalankan. User dapat menggunakan internal program memori yang tertanam dalam IC MCS-51 dan eksternal program memori. Kapasitas internal program memori IC 89C51 sebesar 4 KB. Internal program memori, selain berisi instruksi user, juga memiliki beberapa alamat khusus yang ditujukan untuk reset address (alamat yang dituju pada saat pertama kali mikrokontroler bekerja) dan interrupt vector. Alamat-alamat tersebut terdapat pada gambar 5-3. 45

Gambar 5-3. Alamat Reset dan Interrupt vector address Pada gambar 5-3 ditunjukkan pemetaan bagian bawah dari memori program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi 0000h. Masing-masing interupsi disimpan pada lokasi yang sudah ditentukan dalam memori program. Sebuah interupsi menyebabkan CPU melompat ke lokasi interupsi yang bersangkutan, yaitu letak dari subrutin layanan interupsi tersebut. Misalnya, External Interrupt 0 disimpan pada lokasi 0003h, jika interupsi ini digunakan, maka layanan rutin interupsi ini harus dituliskan pada lokasi ini. Jika tidak, maka lokasi tersebut bisa dipakai sebagai memori program serbaguna (untuk keperluan lainnya). Lokasi-lokasi layanan interupsi tersebut menempati lokasi-lokasi dengan jarak 8-byte: 0003h untuk External Interrupt 1, 001Bh untuk Timer 1 dan seterusnya. Jika suatu rutin layanan interupsi sangat pendek (kurang dari 8-byte), maka seluruh rutin bisa disimpan pada lokasi yang bersangkutan (sesuai dengan interupsi yang digunakan). Jika terlalu panjang (lebih atau sama dengan 8-byte), maka harus digunakan suatu perintah lompat ke lokasi rutin interupsi yang sebenarnya (di lokasi lain dalam memori program). Jika diperlukan, user dapat menambah IC RAM atau ROM tambahan sebagai eksternal program memori. Penambahan ini juga dapat dilakukan hingga kapasitas total program memori mencapai 64 KB. 46

Gambar 5-4. Konfigurasi Internal dan Eksternal Program Memori AKSES MEMORI Mengakses memori eksternal ada 2 macam : akses Program Memory eksternal dan akses Data Memory eksternal. Mengakses Program Memory eksternal menggunakan sinyal PSEN (Program Store Enable) sebagai sinyal baca. Sedangkan untuk mengakses Data Memory eksternal digunakan RD dan WR (fungsi alternative P3.7 dan P3.6) untuk membaca dan menulis ke memori. Membaca Program Memory eksternal selalu menggunakan alamat 16 bit. Sedangkan untuk mengakses Data Memory eksternal dapat menggunakan alamat 16 bit (MOVX @DPTR) atau alamat 8 bit (MOVX @Ri). Pada saat alamat 16 bit digunakan, high byte dari jalur alamat dihasilkan oleh Port 2, yang dipertahankan selama siklus pembacaan atau penulisan. Perhatikan bahwa Port 2 mempunyai pull-up yang kuat selama mengeluarkan bit alamat '1' (pada saat eksekusi instruksi MOVX @DPTR). Pada saat ini latch Port 2 (SFR) tidak selalu berisi '1', dan isi SFR Port 2 tidak berubah. Bila siklus memori eksternal tidak segera diikuti siklus memori eksternal yang lain maka isi SFR Port 2 yang tidak berubah tersebut akan muncul kembali pada siklus berikutnya. Bila menggunakan alamat 8 bit (MOVX @Ri), isi SFR Port 2 tetap sama dengan pin Port 2 selama siklus memori eksternal. Karakteristik ini memberikan kemampuan paging memori. Low byte dari alamat bersifat timemultiplexed dengan data byte Port 0, artinya data dan alamat dihasilkan oleh pin yang sama secara bergantian dengan selang waktu tertentu. Sinyal alamat / data mengaktifkan kedua FET pada output buffer Port 0. Jadi dalam aplikasi ini pin-pin Port 0 tidak bersifat sebagai output opendrain, dan tidak memerlukan pull-up eksternal.sinyal ALE (Address Latch Enable) digunakan untuk menyimpan address 47

byte ke sebuah latch eksternal. Address byte valid pada saat transisi negatif ALE. Pada siklus penulisan, data yang akan dituliskan muncul pada Port 0 tepat sebelum WR aktif, dan data ini tetap ada sampai WR dinonaktifkan. Pada siklus pembacaan, data byte diterima oleh Port 0 sesaat sebelum sinyal RD dinonaktifkan. Ada 2 kondisi untuk mengakses Program Memory eksternal : 1. Pada saat sinyal EA (External Access) aktif, atau 2. Pada saat Program Counter (PC) berisi nilai lebih besar dari 0FFFH (1FFFH untuk 89C52). OVERLAPPING LOKASI PROGRAM DAN DATA MEMORI EKSTERNAL Pada DT51 program user didownload dari PC dan disimpan pada memori eksternal yaitu EEPROM 28C64B yang sekaligus berfungsi pula sebagai Data Memory. Overlapping ini dapat diatasi dengan meng-and-kan PSEN (Program Store Enable) dan RD (Read). Karena siklus PSEN lebih cepat dari siklus RD maka memori eksternal yang dipakai harus cukup cepat. AKSES MEMORI DT-51 MinSys Pada praktikum ini, akan dimpelajari tentang akses memori DT-51 MinSys. Pada modul DT-51 MinSys terdapat satu IC EEPROM (Electrically Erasable and Programmable Read Only Memory) AT28C64B sebesar 64 KByte. Memori ini bisa diisi program dan mampu menyimpan isinya meskipun DT-51 MinSys tidak diberi tegangan. EEPROM pada DT-51 MinSys berlokasi di alamat 4000h sampai 5FFFh. DT-51 MinSys telah menyediakan satu routine untuk mengakses memori (menuliskan data pada EEPROM) yaitu routin WRITE yang berlokasi di 700h. Sebelum memanggil routin ini, harus ditentukan nilai DPTR dan ACC dimana DPTR diisi dengan alamat EEPROM yang dikehendaki dan ACC diisi dengan data. Contoh : CSEG WRITE EQU 0700H ;alamat routin write ORG 4000H MOV SP,#30H ;Write ke EEPROM MOV A,#02H ; isi ACC =02h MOV DPTR,#5000H ; DPTR = alamat EEPROM 48

LCALL WRITE SJMP $ END ; write ke alamat EEPROM - Modul DT-51 - PC beserta software - Debugger - Downloader - Editor - LED sebagai piranti output - Switch toggle sebagai piranti input 1. Hardware - Hubungkan konektor (kabel pita) Port 1, Port C pada DT-51 ke Modul Display LED jika output yang digunakan adalah Port 1 atau Port C. Tetapi bila outputnya adalah Port A atau Port B maka hubungkan konektor (kabel pita) Port A atau Port B pada DT-51 ke Modul Display LED (seperti pada gambar 5-5 ). Selanjutnya - Hubungkan kabel serial dari konektor DB-9 pada DT-51 ke PC pada Port serial. - Hubungkan catu data 9 Volt AC pada modul DT-51. - Pin Konektor Select pada posisi Pin 1 dan 2 untuk mode download program, pada posisi Pin 2 dan 3 untuk mode stand alone, setelah download program berhasil. 2. Software Editor : - Tulislah program pada editor DOS prompt, Notepad atau lainnya. - Program / file baru tersebut, simpan dalam direktori(folder) DT51 dengan extension [namafile].asm. - Exit 49

Gambar 5-5. Koneksi DT-51 MinSys dengan Display LED (akses memori) Debugger : - Compile file baru dengan perintah C:\DT51\ASM51 [nama file].asm pada DOS Prompt, dengan terlebih dahulu pindah ke direktori DT51. - Maka akan terbentuk file-file yang berextension.hex,.obj, dan.lst disamping itu juga muncul pesan, bahwa file yang telah dicompile tersebut terdapat kesalahan atau tidak. - Bila ada kesalahan, bisa dilihat letak kesalahannya dengan membuka file yang berekstension.lst, melalui C:\DT51\edit. - Untuk memperbaiki kesalahan (error), buka file yang berekstension.asm. Jangan lupa disimpan kemudian dicompile kembali. 50

- Exit Downloader : - Untuk mendownload program yang telah sukses dicompile, maka gunakan perintah C:\DT51\DT51L [nama file].hex - Apabila proses download selesai, maka akan muncul pesan Download Succeded. - Bila gagal, maka akan muncul beberapa prosedur untuk mengecek kembali kesalahan tersebut. - Program 1. Program pembacaan data dari memori dan memindah ke Port 1 Hubungkan Port 1 ke modul display LED, kemudian tulis program dibawah ini. $MOD51 WRITE EQU 0700H CSEG ORG 4000H LJMP START START: MOV SP,#30H ;write ke EEPROM MOV A,#0FH MOV DPTR,#4500H LCALL WRITE DELAY: MOV R7,#24H DEL1: MOV R6,#0FFH DEL2: MOV R5,#0FFH DJNZ R5,$ DJNZ R6,DEL2 DJNZ R7,DEL1 ;memindah isi EEPROM ke Port 1 MOVX A,@DPTR MOV P1,A SJMP $ END - Program 2. Program menulis data pada memori dan memindah ke Port A Hubungkan Port 1 ke modul I/O Saklar toggle dan LED modul display ke Port A. $MOD51 WRITE EQU 0700H 51

PORTA EQU 2000H CW EQU 2003H CSEG ORG 4000H MOV SP,#30H ;write ke EEPROM LUP: MOV A,P1 MOV DPTR,#4800H LCALL WRITE ;init PPI MOV DPTR,#CW MOV A,#80H MOVX @DPTR,A ;panggil alamat EEPROM dan pindah ke Port A MOV DPTR,#4800H MOVX A,@DPTR MOV DPTR,#PORTA MOVX @DPTR,A SJMP LUP END - Program 3. Program menampilkan LED di Port A dengan toggle switch di Port 1 Hubungkan Port 1 ke modul I/O Saklar toggle dan LED modul display ke Port A. $MOD51 WRITE EQU 0700H PORTA EQU 2000H CW EQU 2003H CSEG ORG 4000H ;INIT PPI MOV DPTR,#CW MOV A,#80H MOVX @DPTR,A LUP: MOV A,P1 MOV DPTR,#4800H LCALL WRITE CEK: CJNE A,#00H,CEK_1 MOV A,#0FH MOV DPTR,#5000H LCALL WRITE JMP DUA CEK_1: CJNE A,#0FFH,SATU MOV A,#0F0H MOV DPTR,#5F00H LCALL WRITE JMP TIGA SATU: MOV DPTR,#4800H MOVX A,@DPTR MOV DPTR,#PORTA 52

MOVX @DPTR,A JMP LUP DUA: MOV DPTR,#5000H MOVX A,@DPTR MOV DPTR,#PORTA MOVX @DPTR,A JMP LUP TIGA: MOV DPTR,#5F00H MOVX A,@DPTR MOV DPTR,#PORTA MOVX @DPTR,A JMP LUP END 1. Buat program untuk penyeberang jalan dengan syarat : - menampilkan lampu penyeberang hijauh dan merah (LED) di Port B dengan tombol penyeberang jalan (toggle switch) di Port 1 - nilai kondisi awal tombol penyeberang jalan disimpan terlebih dahulu di memori dengan alamat 5000H - data 01H (untuk menyalakan lampu hijau) disimpan pada alamat 5010H - data 02H (untuk menyalakan lampu merah) disimpan pada alamat 5020H - jika kondisi tombol penyeberang jalan ditekan bernilai 80H, maka program akan menampilkan data pada alamat 5010H ke lampu/led. - jika kondisi tombol penyeberang jalan ditekan bernilai 40H, maka program akan menampilkan data pada alamat 5020H ke lampu/led. - jika kondisi tombol penyeberang jalan bernilai selain kedua nilai tersebut, maka program akan menampilkan data pada alamat 5000H ke lampu/led. 53