PEMROGRAMAN MIKROPROSESOR

dokumen-dokumen yang mirip
PEMROGRAMAN MIKROPROSESOR KASUS PADA MPF-1

Memprogram Interface Display

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

Tabel 3.1 Kode heksadesimal untuk angka 0-9

LAPORAN PRAKTIKUM MIKROPROSESOR PENGENALAN DAN PENGGUNAAN KIT MPF-1. Disusun oleh:

Memprogram Interface Input Keypad

Mikroprosessor 2014 Telkom University

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

RUNNING TEXT. Gambar 1. Susunan Running Text

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

BAB IV PENGUJIAN DAN ANALISA. mana sistem berfungsi sesuai dengan rancangan serta mengetahui letak

Memprogram Port sebagai Output dan Input Sederhana

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR INSTRUKSI PERCABANGAN DAN LOOP

SATUAN ACARA PERKULIAHAN (SAP)

MANUAL KENTAC 800mk2

KOMPONEN INTERFACING. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

Operasi Transfer Data

LAPORAN PRAKTIKUM MIKROPROSESOR PEMINDAHAN DATA

PERCOBAAN 2 TRANSFER DATA. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

8/4/2011. Microprocessor & Microcontroller Programming. Bahasa Pemrograman. Bahasa Pemrograman. Bahasa Pemrograman

PERCOBAAN 1 DISPLAY LED

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

PERCOBAAN 3 INSTRUKSI ARITMATIK DAN LOGIK. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

LAPORAN PRAKTIKUM SISTEM MIKROPROSESOR PENGATURAN LAMPU LALU LINTAS DENGAN SENSOR HARI DAN JAM

BAB 2 Pemrograman Zilog Z80

Gambar 4.2 Rangkaian keypad dan LED

RANCANG BANGUN SISTEM KEMBANGAN BERBASIS MIKROKONTROLER AT89S5x UNTUK APLIKASI SISTEM KONTROL

UJIAN AKHIR SEMESTER TAHUN AKADEMIK 2010/2011

Batasan Masalah dan Tujuan Penulisan

PERANCANGAN MATRIKS LED YANG DIKENDALIKAN OLEH KOMPUTER BERBASIS IC 8255

DAFTAR ISI. Daftar Pustaka P a g e

SATUAN ACARA PERKULIAHAN

Contoh Bentuk LCD (Liquid Cristal Display)

Dosen : Team (no cheating, no book, no note, no additional paper, no calculator)

TRANSFER DATA PARALEL DAN ANTARMUKA DIGITAL

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR STACK DAN SUBROUTINE

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

SATUAN ACARA PERKULIAHAN. Proses Pembelajaran (kegiatan mahasiswa)

BAHASA DAN PENGEMBANGAN PROGRAM MIKROPROSESOR

de KITS Application Note AN20 - How 2 Use de KITS SPC Alphanumeric Display with StarTech PPI Card

BAB II PENDEKATAN PEMECAHAN MASALAH. Tombol kuis dengan Pengatur dan Penampil Nilai diharapkan memiliki fiturfitur

Simple As Possible (SAP) - 2. Abdul Syukur

BAB III PERANCANGAN SISTEM

BAB III RANCANGAN DAN CARA KERJA ALAT

BAB III PERANCANGAN DAN REALISASI ALAT

DT-51 Application Note

PERTEMUAN IV PEMOGRAMAN SEVEN SEGMEN DAN LCD

LAPORAN PRAKTIKUM. Praktek Mikroprosesor 1 Job Sheet 2

JOBSHEET II ANTARMUKA MIKROKONTROLER DENGAN TOGGLE SWITCH

Programmable Peripheral Interface 8255

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAHASA DAN PENGEMBANGAN PROGRAM MIKROPROSESOR

Percobaan 1 PENGENALAN INTERFACE PARALLEL DAN SEVEN SEGMENT LED DISPLAY

BAB III ALGORITMA DAN PERANCANGAN ALGORITMA DAN PERANCANGAN

BAB 2 LANDASAN TEORI

BAB IV INSTRUKSI INSTRUKSI DASAR PLC

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

HASIL DAN PEMBAHASAN

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

BAB V OPERASIONAL PROGRAMMING CONSOLE

LAB SHEET 4 OPERASI LOGIKA

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

PENGGUNAAN KEYPAD 4X3 DAN PC KEYBOARD PADA MODUL DST-52 DENGAN TAMPILAN M1632 LCD

PERCOBAAN 5 STACK DAN SUBROUTINE. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

8/4/2011. Microprocessor & Microcontroller Programming. Sistem Bilangan. Sistem Bilangan. Sistem Bilangan. Sistem Bilangan

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

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA

BAB III PERANCANGAN ALAT

PEMROGRAMAN BAHASA RAKITAN

Simple As Posible 2 (bag-1)

Pertemuan 10 DASAR ANTAR MUKA I/O

KONFIGURASI PIN-PIN MIKROPROSESOR Z 80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

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

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

PRAKTIKUM RANGKAIAN LOGIKA PERCOBAAN 2 & 3 LABORATORIUM KOMPUTER JURUSAN TEKNIK ELEKTRO F.T.I. USAKTI. Th Akd. 1998/1999

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

Pertemuan ke 13 Unit Masukan dan Keluaran Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST

Perancangan Model Alat Pemotong Rumput Otomatis Berbasis Mikrokontroler AT89C51

Kompetensi: Memprogram Peralatan Sistem Otomasi Elektronik yang Berkaitan dengan I/O berbantuan : Mikroprosessor dan Mikrokontroller

1 IDENTITAS. A. Dasar Teori A.1 SAP Pengantar. 2. Arsitektur. Kajian Simple As Possible Computer (SAP-1) Topik Pemrograman SAP-1

Pendahuluan BAB I PENDAHULUAN

Arsitektur dan Organisasi

PPI Skema konektor dari IC PPI 8255 adalah sebagai berikut :

BAB III PERANCANGAN ALAT SIMULASI PEGENDALI LAMPU JARAK JAUH DAN DEKAT PADA KENDARAAN SECARA OTOMATIS

BAB I : APLIKASI GERBANG LOGIKA


Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

PROPOTIPE ALAT PEMBERI INFORMASI JARAK ANTAR KENDARAAN

de KITS Application Note AN17 - How 2 Use de KITS Relay Board with StarTech PPI Card

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

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

EMULASI GERBANG LOGIKA TUNGGAL MULTIFUNGSI MENGGUNAKAN MIKROPENGENDALI ATMEGA8A

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

JOBSHEET VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535

ORGANISASI DAN ARSITEKTUR KOMPUTER. rsp oak informatika

Rangkaian Adder dengan Seven Segment

Transkripsi:

Microprocessor & Microcontroller Programming PEMROGRAMAN MIKROPROSESOR KASUS PADA MPF-1 PEMROGRAMAN MIKROPROSESOR Kompetensi memprogram sebuah mikroprosesor sangat ditentukan oleh penguasaan set instruksi, arsitektur internal khususnya susunan dan jenis register, arsitektur sistem mikroprosesor dan juga jam terbang penggunaan mikrokomputer. Untuk lebih meningkatkan kemampuan penguasaan pemrograman dalam bahasa asembly berikut disajikan kasus-kasus program dan penyelesaiannya. Dimulai dari penjabaran arsitektur rangkaian mikrokomputer, program subrutin, dan pemrograman mikrokomputer MPF-1. PB 0 PB1 PB 2 PB 3 e g f a Monitor MPF-1 menggunakan 6 buah seven segment dan keyboard menggunakan konfigurasi matrik 6x6 diatas sebuah peripheral PPI 8255. PPI 8255 PB 4 PB 5 PB 6 PB 7 PC 0 PC 1 PC 2 PC 3 PC 4 PC 5 b c p d + 5V PA 0 PA 1 PA 2 PA 3 PA 4 PA 5 SBR CBR 0 1 2 3 - PC 4 5 6 7 DATA REG 8 9 A B + ADDR C D E F INS DEL GO STEP MOVE REL TW TR MPF-1 menggunakan komponen utama I/O berupa PPI 8255 yang dapat diprogram, enam saluran pada Port A (PA5 s/d PA0) digunakan sebagai input untuk matrik keyboard, delapan buah saluran Port B (PB7 s/d PB0) digunakan untuk saluran pengendalian segment dan enam buah saluran Port C (PC5 s/d PC0) digunakan untuk pemilihan LED. Monitor MPF-1 menggunakan LED seven segment jenis commond cathoda. Monitor seven segment merupakan konfigurasi LED yang paling sederhana untuk membentuk karakter. Seven segment cukup baik dipakai sebagai pembentuk karakter. Elemen seven segment yang terbatas hanya tujuh membuat pembentukan karakter tidak bisa sempurna untuk semua jenis karakter. Karakter K, R sebagai contoh tidak bisa dibentuk dengan baik dalam seven segment. 1

Konfigurasi LED seven segment tersusun seperti Gambar berikut Ada delapan LED, tujuh LED digunakan untuk pembentuk karakter dan satu LED untuk segment dot. Tujuh segment dari seven segment diberi kode segment a, b, c, d, e, f, dan g. Rancangan rangkaian seven segment sebagai monitor pada mikrokomputer MPF-1 dikonfigurasikan dengan PPI 8255 melalui port B dengan susunan seperti Gambar diatas. Anoda LED masing-masing segment dihubungkan ke port B. a (PB3) f (PB2) g(pb1) b (PB4) e (PB0) d (Pb7) c (PB5) p (PB6) hubungan atau konfigurasi segment sebagai Segment a terhubung dengan PB3 Segment b terhubung dengan PB4 Segment c terhubung dengan PB5 Segment d terhubung dengan PB7 Segment e terhubung dengan PB0 Segment f terhubung dengan PB2 Segment g terhubung dengan PB1 Segment p terhubung dengan PB6 sebagai dasar pengembangan data-data karakter yang diperlukan pada saat pemrograman. Konfigurasi ini juga sangat penting sebagai bahan dalam pengembangan antar muka mikroprosesor. Jenis LED seven segment juga akan berpengaruh terhadap pembentukan karakter. Ada dua jenis LED seven segment yaitu common anoda dan common cathoda. Diantara dua jenis LED seven segment ini akan memberi data karakter berbeda. Pada LED common cathoda segmen akan berlaku aktif menyala jika anoda segment berlogika 1 dan common LED seven segment berlogika 0. Untuk keadaan lain LED seven segment akan padam. Sedangkan untuk LED seven segment common anoda LED akan aktif jika segment cathoda berlogika 0 dan common LED seven segment berlogika 1. Keadaan ini akan menentukan data-data karakter yang dibentuk dalam setiap penyalaan monitor. LED akan menyala jika anoda segment berlogika 1 dan katoda berlogika 0. Untuk keadaan sebaliknya segment LED akan padam. Kondisi ini dapat digunakan sebagai dasar pembentukan data untuk masing-masing karakter. Untuk membangun data penyalaan LED diperlukan data nyala sesuai dengan konfigurasi Port. 2

contoh untuk menyalakan karakter angka 0 pada LED seven segment contoh untuk menyalakan karakter angka 2 pada LED seven segment f (PB2) e (PB0) a (PB3) b (PB4) c (PB5) d (Pb7) PB7 (segment d) berlogika 1 : on PB6 (segment p) berlogika 0 : off PB5 (segment c) berlogika 1 : on PB4 (segment b) berlogika 1 : on PB3 (segment a) berlogika 1 : on PB2 (segment f) berlogika 1 : on PB1 (segment g) berlogika 0 : off PB0 (segment e) berlogika 1 : on data penyalaan karakter angka 0 adalah 1011 1101b atau sama dengan BDH. e (PB0) a (PB3) g(pb1) b (PB4) d (Pb7) PB7 (segment d) berlogika 1 : on PB6 (segment p) berlogika 0 : off PB5 (segment c) berlogika 0 : on PB4 (segment b) berlogika 1 : on PB3 (segment a) berlogika 1 : on PB2 (segment f) berlogika 0 : on PB1 (segment g) berlogika 1 : off PB0 (segment e) berlogika 1 : on data penyalaan karakter angka 0 adalah 1001 1011b atau sama dengan 9BH. PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 DATA NYALA d p c b a f g e 0 0 0 0 0 0 0 0 00H padam 1 0 1 1 1 1 0 1 BDH 0 0 0 1 1 0 0 0 0 30H 1 1 0 0 1 1 0 1 1 9BH 2 1 0 1 1 1 0 1 0 BAH 3 0 0 1 1 0 1 1 0 36H 4 1 0 1 0 1 1 1 0 AEH 5 1 0 1 0 1 1 1 1 AFH 6 0 0 1 1 1 0 0 0 38H 7 1 0 1 1 1 1 1 1 BFH 8 0 0 1 1 1 1 1 0 BEH 9 konfigurasi rangkaian port C adalah sebagai PC0 digunakan untuk mengendalikan LED6 (LED paling kanan) PC1 digunakan untuk mengendalikan LED5 PC2 digunakan untuk mengendalikan LED4 PC3 digunakan untuk mengendalikan LED3 PC4 digunakan untuk mengendalikan LED2 PC5 digunakan untuk mengendalikan LED1 (led paling kiri) PC6 tidak terpasang PC7 tidak terpasang konfigurasi rangkaian port C adalah sebagai Dengan konfigurasi Port C seperti itu dimana sebelum masuk ke commond cathoda LED masing-masing dilewatkan melalui sebuah buffer inverter maka port pemilih LED berkeadaan status aktif tinggi atau logika 1. konfigurasi rangkaian port C adalah sebagai PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 B7 B6 B5 B4 B3 B2 B1 B0 DATA NYALA 1 1 0 0 0 0 0 1 C1H LED 6 1 1 0 0 0 0 1 0 C2H LED 5 1 1 0 0 0 1 0 0 C4H LED 4 1 1 0 0 1 0 0 0 C8H LED 3 1 1 0 1 0 0 0 0 D0H LED 2 1 1 1 0 0 0 0 0 E0H LED 1 1 1 1 1 1 1 1 1 FFH SEMUA LED 3

untuk mengaktifkan LED6 yang paling kanan diperlukan data C1H, untuk mengaktifkan LED5 diperlukan data C2H, untuk mengaktifkan LED4 diperlukan data C4H, untuk mengaktifkan LED3 diperlukan data C8H, untuk mengaktifkan LED2 diperlukan data D0H, dan untuk mengaktifkan LED1 diperlukan data D0H. Untuk mengaktifkan semua LED diperlukan data FFH. Kedua data yang telah diturunkan yaitu data pembentuk karakter dan data pemilih LED dapat digunakan sebagai data pengendalian monitor pada MPF-1. Data ini merupakan data dasar penyalaan yang berhubungan dengan jenis karakter dan posisi LED yang akan dinyalakan. Berikut ini disajikan beberapa contoh program untuk memudahkan memahami dan menganalisa cara pemrograman penyalaan karakter di monitor. Penyalaan LED1 dengan karakter angka 2. LED1 pada kasus ini adalah LED yang paling kiri. Kondisi yang diharapkan adalah: LED 1 paling kiri menyala angka 2 LED 2 padam LED 3 padam LED 4 padam LED 5 padam LED 6 padam Untuk itu diperlukan dua data yaitu data penyalaan angka 2 dan data pengaktifan LED1 atau LED paling kiri dan LED lain padam. Kedua data itu adalah: Data penyalaan angka 2 adalah 9BH Data pemilihan LED1 paling kiri adalah E0H Algoritma program: Isi register A dengan data angka 2 (9B) Keluarkan data pada register A ke Port B Isi register A dengan data pemilih LED1 (E0) Keluarkan data pada register A ke Port C Program: Addr Op- No. Label Assembly Keterangan Code 1800 3E 9B 1. LD A, 9BH 9BH= data nyala 1802 D3 01 2. OUT PORTB, A angka 2 dikeluarkan ke PORT B 1804 3E E0 3. LD A, E0H E0H= data pemilih 1806 D3 02 4. OUT PORTC, A LED1 dikeluarkan ke PORT C 1808 76 5. HALT Berhenti 4

Contoh 2: Penyalaan LED2 dengan karakter angka 4 LED 1 padam (paling kiri) dan LED 2 menyala angka 4 LED 3 padam LED 4 padam LED 5 padam LED 6 padam Data penyalaan dan pemilihan LED karaktek angka 4 pada LED2 adalah: Data penyalaan angka 4 adalah 36H Data pemilihan LED2 adalah D0H Contoh 2: Program: Addr Op-Code No Label Assembly Keterangan 1800 3E 36 1 LD A, 36H 36H = data nyala 1802 D3 01 2 OUT PORTB, A angka 4 dikeluarkan ke PORT B 1804 3E D0 3 LD A, D0H D0H = data pemilih 1806 D3 02 4 OUT PORTC, A LED2 dikeluarkan ke PORT C 1808 76 5 HALT Berhenti Dengan mengggunakan sebagian dari saluran PORT A sebagai input dan sebagian saluran PORT C sebagai saluran pembentuk matrik identifikasi maka dapat disusun program identifikasi khusus masing-masing tombol. Port A dan Port C membentuk matrik silang 6 x 6 sehingga setiap titik silang dapat ditempatkan satu tombol tekan. Jumlah tombol tekan yang dapat diimplementasikan adalah 36 tombol. Setiap tombol diberi nomor kode yang disebut nomor Kode Posisi PA0 PA1 PA2 PA3 PA4 PA5 PC5 PC4 PC3 PC2 PC1 PC0 1E 18 12 0C 06 00 SBR CBR 0 1 2 3 1F 19 13 0D 07 01 - PC 4 5 6 7 20 1A 14 0E 08 02 DATA REG 8 9 A B 21 + 22 INS 23 MOVE 1B ADDR 1C DEL 10 RELA 15 C 16 GO 17 TPWR 0F D 10 STEP 11 TPRD 09 E 03 F 0A 04 0B 05 Nomor titik silang menggunakan angka heksadesimal, misalnya tombol angka 5 ditempatkan pada titik silang nomor 0DH, tombol REG pada titik silang 1A, dan seterusnya. Nomor titik silang tersebut digunakan dalam program keyboard scanning dijadikan kode posisi tombol. Caranya dengan selalu memberi logic 1 pada PORT PA0, PA1, PA2, PA3, PA4, dan PA5, serta secara bergilir diberi keadaan nol melalui Port C. Bit Carry flag mencatat adanya tombol yang ditekan dan register C mencatat nomor posisi titik silang yang dijadikan kode posisi titik silang. 5

SCAN pertama memberi keadaan nol pada saluran PC0 sedangkan saluran PC lainnya diberi keadaan satu. Register C diisi 00H, dan jika tombol pada nomor titik silang 00 ditekan maka carry falg dijadikan nol (direset ) melalui saluran Port A. Sebaliknya jika tombol tidak ditekan maka bit carry flag tetap 1, isi register C tidak dikutipkan ke register A, dan isi register A dan F tidak dikutipkan ke A dan F. Dalam keadaan PC0 tetap nol, isi register C ditambah 1 dan scan kedua dilaksanakan. Bila tombol titik silang pada posisi 01 ditekan maka carry flag dijadikan nol. Sebaliknya jika tombol dtidak ditekan maka bit carry flag tetap 1, isi register C tidak dikutipkan ke register A, dan isi register A dan F tidak dikutipkan ke A dan F. Jumlah scanning melalui PC0 ada 6 kali, dan masingmasing scan diselingi dengan penyajian tulisan pada monitor LED. Dalam keadaan PC0 tetap nol, isi register C ditambah 1 dan scan kedua dilaksanakan. Bila tombol titik silang pada posisi 01 ditekan maka carry flag dijadikan nol. Sebaliknya jika tombol dtidak ditekan maka bit carry flag tetap 1, isi register C tidak dikutipkan ke register A, dan isi register A dan F tidak dikutipkan ke A dan F. Jumlah scanning melalui PC0 ada 6 kali, dan masingmasing scan diselingi dengan penyajian tulisan pada monitor LED. 6