Mikrokontroler pertemuan 5

1,338 views

Published on

Download file di http://rumah-belajar.org

Published in: Education, Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,338
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mikrokontroler pertemuan 5

  1. 1. MIKROKONTROLER INSTRUKSI-INSTRUKSIBAHASA ASSEMBLY 9051 PERTEMUAN 6
  2. 2. Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler RINGKASAN 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  3. 3. Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  4. 4. Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  5. 5. Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  6. 6. Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  7. 7. Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  8. 8. Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial13-14 Studi Kasus Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  9. 9. Ringkasan Format Bahasa Assembly[label:] mnemonic [operan] [,operan] [...] [;komentar] SAP Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  10. 10. Operasi Aritmatika(INCREMENT dan DECREMENT)Increment : Tambah satu isi registerDecrement : Turunkan satu isi registerMnemonic OperationINC A Tambah satu isi register AINC Rr Tambah satu isi register RrINC add Tambah satu isi direct addressINC @Rp Tambah satu isi address dalam RpINC DPTR Tambah satu isi register 16 bit DPTRDEC A Kurangi satu isi register ADEC Rr Kurangi satu isi register RrDEC add Kurangi satu isi dirrect addressDEC @Rp Kurangi satu isi address dalam Rp Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  11. 11. Operasi Aritmatika(INCREMENT dan DECREMENT)ContohMOV A,#3Ah ; A = 3AhDEC A ; A = 39hMOV R0,#15h ; R0 = 15hMOV 15h,#12h ; Internal RAM 15h = 12hINC @R0 ; Internal RAM 15h = 13hDEC 15h ; Internal RAM 15h = 12hINC R0 ; R0 = 16hMOV 16h,A ; Internal RAM 16h = 39hINC @R0 ; Internal RAM 16h = 3AhMOV DPTR,#12FFh ; DPTR = 12FFhINC DPTR ; DPTR = 1300hDEC 83h ; DPTR = 1200h(SFR 83h adalah byte DPH Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  12. 12. Operasi Aritmatika(PENJUMLAHAN)Mnemonic OperationADD A,#n ;Tambahkan A dengan angka n, simpan hasilnya di AADD A,Rr ;Tambahkan A dengan register Rr, simpan hasilnya di AADD A,add ;Tambahkan A dengan isi address, simpan hasilnya di AADD A,@Rp ;Tambahkan A dengan isi address dalam Rp, simpan hasilnya di AADDC A,#n ;Tambahkan A, angka n dan Carry, simpan hasilnya di A.ADDC A,Rr ;Tambahkan A, isi register Rr dan Carry, simpan hasil di AADDC A,add ;Tambahkan A, isi address dan Carry, simpan hasil di AADDC A,@Rp ;Tambahkan A, isi address dalam Rp dan Carry, simpan hasilnya di A. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  13. 13. Operasi Aritmatika(PENJUMLAHAN)Catatan :• Carry flag (C) akan 1 jika terdapat carry pada bit ke-7.• Auxilliary Carry flag (AC) akan 1 jika terdapat carry pada bit ke-3.• Over Flow flag (OV) akan 1 jika terdapat carry pada bit ke-7, tapi tidak terdapat carry pada bit ke-6 atau• terdapat carry pada bit ke-6 tetapi tidak pada bit ke-7, dimana dapat dieksperikan dengan operasi logika sbb :• OV = C7 XOR C6Penjumlahan tak bertanda dan bertanda• Unsigned and Signed Addition• Unsigned number : 0 s/d 255d atau 00000000b s/d 11111111b• Signed number : -128d s/d +127d atau 1000000b s/d 01111111b• Penjumlahan unsigned number dapat menghasilkan carry flag jika hasil penjumlahan melebihi FFh, atau• borrow flag jika angka pengurang lebih besar dari yang dikurangi. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  14. 14. Operasi Aritmatika(PENJUMLAHAN)Catatan :• Carry flag (C) akan 1 jika terdapat carry pada bit ke-7.• Auxilliary Carry flag (AC) akan 1 jika terdapat carry pada bit ke-3.• Over Flow flag (OV) akan 1 jika terdapat carry pada bit ke-7, tapi tidak terdapat carry pada bit ke-6 atau• terdapat carry pada bit ke-6 tetapi tidak pada bit ke-7, dimana dapat dieksperikan dengan operasi logika sbb :• OV = C7 XOR C6Penjumlahan tak bertanda dan bertanda• Unsigned and Signed Addition• Unsigned number : 0 s/d 255d atau 00000000b s/d 11111111b• Signed number : -128d s/d +127d atau 1000000b s/d 01111111b• Penjumlahan unsigned number dapat menghasilkan carry flag jika hasil penjumlahan melebihi FFh, atau• borrow flag jika angka pengurang lebih besar dari yang dikurangi. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  15. 15. Operasi Aritmatika(PENJUMLAHAN)Penjumlahan Tak Bertanda / Unsigned AdditionCarry flag dapat digunakan untuk mendeteksi hasil penjumlahan yang melebihi FFh. Jika carry = 1 setelahpenjumlahan, maka carry tersebut dapat ditambahkan ke high byte sehingga hasil penjumlahan tidak hilang.Misalnya :95d = 01011111b189d = 10111101b284d 1 00011100bC=1 dapat ditambahkan ke byte berikutnya (high byte) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  16. 16. Operasi Aritmatika(PENJUMLAHAN)Penjumlahan Bertanda / Signed AdditionHasil penjumlahan bertanda tidak boleh melebihi -128d atau +127d. Aturan ini tidak menjadi masalah ketika angka yang dijumlahkan positif dan negatif, misalnya :- 001d = 11111111b+027d = 00011011b+026d = 00011010b = + 026dDari penjumlahan diatas terdapat carry dari bit ke-7, maka C=1. Pada bit ke-6 juga terdapat carry, maka OV=0.Pada penjumlahan ini tidak perlu manipulasi apapun karena hasil penjumlahannya sudah benar.Jika kedua angka yang dijumlahkan adalah positif, maka ada kemungkinan hasil penjumlahan melebihi +127d,misalnya :+100d = 01100100b+050d = 00110010b+150d = 10010110b = - 106dAda kelebihan 22d dari batas +127d. Tidak ada carry dari bit ke-7, maka C=0, ada carry dari bit ke-6, makaOV=1. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  17. 17. Operasi Aritmatika(PENJUMLAHAN)Contoh penjumlahan dua angka positif yang tidak melebihi +127d adalah :+045d = 00101101b+075d = 01001011b+120d = 01111000b = + 120dDari penjumlahan diatas tidak terdapat carry dari bit ke-7 maupun bit ke-6, maka C=0 dan OV=0. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  18. 18. Operasi Aritmatika(PENJUMLAHAN)Penjumlahan dua angka negatif yang tidak melebihi -128d adalah sbb :- 030d = 11100010b- 050d = 11001110b- 080d = 10110000b = - 080dTerdapat carry dari bit ke-7, maka C=1, ada carry dari bit ke-6, maka OV=0. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  19. 19. Operasi Aritmatika(PENJUMLAHAN)Penjumlahan dua angka negatif yang hasilnya melebihi -128d adalah sbb :- 070d = 10111010b- 070d = 10111010b- 140d = 01110100b = +116d (Komplemen 116d = 139d)Ada kelebihan -12d. Ada carry dari bit ke-7, maka C=1, tidak ada carry dari bit ke-6, maka OV=1. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  20. 20. Operasi Aritmatika(PENJUMLAHAN)• Dari semua contoh diatas, manipulasi program perlu dilakukan sbb :FLAGS ACTION C OV 0 0 None 0 1 Complement the sign 1 0 None 1 1 Complement the sign Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  21. 21. Operasi Aritmatika (Pengurangan) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  22. 22. Pengurangan Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  23. 23. Pengurangan Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  24. 24. Operasi Aritmatika (Perkalian) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  25. 25. Operasi Aritmatika (Pembagian) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  26. 26. Operasi Logika (Logika Boolean) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  27. 27. Operasi Logika (Rotate & Swap) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
  28. 28. Contoh Operasi Logika Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

×