Memori & Pemrograman MCS-51 By: Kustanto,S.T.,M.Eng Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
STRUKTUR MEMORI Memori dari 89C51 terbagi menjadi: - RAM Internal o Register Bank o Bit addressable RAM o General Purpose RAM - Register Fungsi Khusus (Special Function Register) - Flash PROM - Memori Eksternal
Hirarki Struktur memori : 1. Memori Program Flash PROM : 4 KB ROM eksternal : 64 KB --- diakses dengan sinyal PSEN 2. Memori Data RAM Internal : 256 Byte RAM eksternal : 64 KB --- diakses dengan sinyal WR dan RD
Arsitektur Memori MK seri 8051
MEMORY MAP MIKROKONTROLER MCS-51 Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Accumulator (ACC) - Terletak pada alamat E0H - Operasi Aritmatik (Add A,#05H) - Operasi Logika (Anl A,#05H) - Akses Memori Eksternal (Movx A,@DPTR) - Untuk fungsi umum Register B - Terletak pada alamat B0H - Fungsi umum - Digunakan bersama Acc untuk operasi Aritmatik (Mul AB)
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. Instruksi PUSH, LCALL, proses interrupt, dan sejenisnya akan menambah nilai pada SP. Sedangkan instruksi POP, RET, RETI, dan sejenisnya akan mengurangi nilai pada SP.
Timer Registers Timer Register merupakan register yang digunakan untuk mengatur operasi timer. Register ini meliputi : Timer 1 High Byte (TH1), Timer 0 High Byte(TH0), Timer 1 Low Byte (TL1), Timer 0 Low Byte (TL0), Timer Mode(TMOD), dan Timer Control (TCON).
Serial Port Registers Serial Port register merupakan register yang digunakan dalam proses komunikasi serial. Register ini meliputi Serial Data Buffer (SBUFF) dan Serial Port Control (SCON). Interrupt Registers Interrupt register merupakan register yang digunakan untuk mengatur proses interrupt. Register ini meliputi Interrupt Enable (IE) dan Interrupt Priority (IP).
Kumpulan register-register PSW
External Memory Multiplex Addressing - Dibutuhkan untuk: o Memori berkapasitas besar o Emulasi Program - Sistem pengalamatan Multiplex Addressing Multiplex Addressing Pengalamatan 89C51 ke memori eksternal dipisah menjadi Low byte address bus dimultiplex dengan data bus oleh D Latch
- Akses Memori Eksternal terdiri dari: o Pembacaan Data o Pembacaan Program (Kode) o Penulisan Data/Kode Proses Pembacaan Proses pembacaan dapat dianalogikan sebagai proses membaca dari halaman tertentu dari sebuah buku di mana pada proses tersebut dibutuhkan: - Halaman dari tulisan yang akan dibaca = Alamat Memori - Perintah untuk membaca = Sinyal Read untuk Data dan Sinyal PSEN untuk kode
Pembacaan Data dari Memori Eksternal Instruksi MOV DPTR,#[address] ; Penentuan lokasi data yang akan dibaca MOVX A,@DPTR ; Perintah pembacaan data sekaligus mengambil data tersebut dan disimpan ke Akumulator A
Pembacaan Data dari Memori Eksternal -----yang aktif sinyal RD, sedangkan PSEN selalu HIGH (tidak aktif)
Pembacaan kode dari memori eksternal ---yang aktif sinyal PSEN
Penulisan Data ke Memori Eksternal Proses penulisan dapat dianalogikan dengan menuliskan suatu tulisan ke halaman tertentu dalam buku di mana dibutuhkan. - Tulisan yang akan ditulis = Data - Halaman yang akan ditulisi = Alamat - Perintah menulis = Sinyal Write
Penulisan Data dari Memori Eksternal -----yang aktif sinyal WR, sedangkan PSEN selalu HIGH (tidak aktif)
Selesai Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Pemrograman AT89S51 bahasa Assembly Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language). Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Pemrograman Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Kelebihan dan Kesulitan Assembly Kelebihan Bahasa Assembly: 1. Ketika di-compile lebih kecil ukuran. 2. Lebih efisien/hemat memori . 3. Lebih cepat dieksekusi Kesulitan Bahasa Assembly: 1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi. 2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak. 3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Hasil Compiler File berekstensi : *.asm *.hex *.lst Contoh: coba.asm; coba.hex; coba.lst Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
BAHASA ASSEMBLY MCS-51 Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu: 1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program) 2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler) Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Daftar Instruksi Bahasa Assembly MCS-51 Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program: Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program) Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU) Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Daftar Assembly Directive Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Daftar Instruksi Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Download Program Atmel 89S51 dengan ISP Download program ke IC mikrokontroler Atmel 89S dapat dilakukan secara ISP (In System Programming) yaitu langsung di rangkaian sistem tanpa perlu memindahkan IC ke perangkat downloader khusus. Yang diperlukan adalah kabel ISP tersambung ke kaki 6 s/d 9 beserta Vcc dan GND. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Cara download program adalah sebagai berikut. Pastikan program sudah berhasil di-compile sehingga tercipta file .hex di folder program. Pastikan pula kabel ISP tersambung ke port paralel komputer dan ke mikrokontroler serta rangkaian mikrokontroler sudah diberikan catu. 1. Panggil program Atmel | Microcontroller ISP Software dari start menu. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
2. Klik Option lalu Select Devices 2. Klik Option lalu Select Devices. Pilih jenis seri IC yang ingin di-write, pilih Byte Mode (download mode byte lebih cepat), serta pastikan angka XTAL sesuai dengan XTAL yang dipakai di rangkaian. Lalu klik OK. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Download program 3. Klik icon Load Buffer lalu pilih file hex yang ingin di-write ke dalam IC. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Format Instruksi Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
4. Klik icon Auto Program. Software akan melakukan erase program terdahulu, write program, lalu verify hasilnya. Jika lancar maka user akan dipersilakan untuk melakukan lock (proteksi program) mulai dari Lock 0 (tanpa proteksi) sampai Lock 3 (paling secure). Setelah semua proses selesai klik menu Instructions lalu Run Target untuk menjalankan program di hardware. Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Contoh-contoh Program yang Bisa Dicoba Program Menghidupkan Led Sederhana START MOV P2,#01H JMP $ Menghidupkan Led dengan Bit MOV P2,#00H SETB P2.1 Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Software Aplikasi Design Hardware Protel schematic Protel for windows Protel Design Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Rangkaian sistem Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Hasil rancangan PCB sistem Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
Gambar fisik hardware Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018
End of session End 11/11/2018 Materi ke 3
Selesai Slide _1_Mikrokontroler by Kustanto,S.T.,M.Eng. 11/11/2018