Laporan Praktikum
Laboratorium MIKROKONTROLER MIKROKONTROLER 1 AVR AT89S52 AT89S52 Proyek 08 Penyelaan
Disusun oleh:
06 12 18
Kelompok EK-2A / 01 - Ari Hardoyo Abdur Rahman NIM - Helmi Adi Pradana - Prasetyo Muhammad Sakti
3.32.15.0.06 3.32.15.0.12 3.32.15.0.18
Dosen: Dr. Samuel BETA; Ing-Tech.,M.T.
PROGRAM STUDI TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI SEMARANG 2016-2017
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
1
Proyek 08 PENYELAAN 1. Tujuan Tujuan dari percobaan ini praktikan dapat :
Memahami cara kerja sistem penyelaan secara keseluruhan
Memahami cara kerja perangkat keras (rangkaian) ( rangkaian) penyelaan dan mampu menghubungkan menghubungkan mikrokontroler AVR AVR 8952 dengan rangkaian penyelaan
Memahami cara kerja perangkat lunak (program) dan perintah bahasa rakitan mikrokontroler AVR 8952 dan mampu membuat membuat program untuk rangkaian penyelaan
Memahami cara kerja sistem tunda pada perangkat lunak dan mampu membuat program tunda
2. Dasar Teori 2.1. Mikrokontroler AVR AT 8952
Pada mikrokontroller menyediakan 5 buah sumeber interupsi, 2 buah interupsi eksternal, 2 buah interupsi timer, dan 1 buah interupsi serial. Agar interupsi dapat dilayani dilayani maka instruksi assembly harus ditempatkan pada alamat vektor berikut, sesuai dengan sumber interupsi yang akan digunakan.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
2
Org 0000h Ljmp Start Org 000bh Ljmp Timer0Interupt Start: ;InstruksiRutinitas ; InstruksiRutinitas ; InstruksiRutinitas Sjmp Start; { Looping Forever } ; Timer0Interupt: : : Reti End Pada contoh instruksi pemrograman tersebut tampak, apabila tidak ada interupsi maka program akan menujuke start dan menjalankan rutinitas-rutinitas secara terus-menerus, tetapi apabila suatu interupsi yang dibangkitkan oleh overflow timer 0 terjadi, maka program yang semula bersarang pada rutinitas akan melompat pada pa da alamat vektor 0bh (alamat interupsi timer 0) dan melompat ke sub rutine interupsi Timer0 Interupt.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
3
3. Praktikum 3.1. Penyelaan 3.1.1. Permasalahan
a)
Membuat progam untuk menampilkan program untuk menampilkan kode kelompok pada t7r jika ada penyelaan dari luar INT0 dan penambahan nilai kode kelompok setiap ada penyelaan selanjutnya.
b)
Masukan
: pintu P3.2 (sakelar)
Proses
: peralihan data segera ke pintu P0
Keluaran
: pintu P0.(7 Ruas)
Membuat progam untuk menampilkan program untuk menampilkan kode kelompok pada t7r jika ada penyelaan dari luar INT1 dan pengurangan nilai kode kelompok setiap ada ada penyelaan penyelaan selanjutnya . Masukan
: pintu P3.3 (sakelar)
Proses
: peralihan data segera ke pintu P0
Keluaran
: pintu P0.(7 Ruas)
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
3.1.2. Penyelesaian 3.1.2.1. Diagram Alir a. P081a-pppIE0.asm P081a-pppIE0.asm
4
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
b. P081b-pppIE1.asm P081b-pppIE1.asm
5
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
6
3.1.2.2. Program a). P081a-pppIE0.asm P081a-pppIE0.asm ;/* ======================================================================= ; Pemrogram : Kelompok EK-2A /06 ; 1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06 NIM:3.32.15. 0.06 ; 2. 12-Helmi Adi Pradana NIM:3.32.15.0.12 NIM:3.32.15. 0.12 ; 3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18 NIM:3.32.15. 0.18 ;Tgl.Praktikum ;Tgl.Praktik um : Kamis, 20 April 2017 ;========================================================================== ;Proyek08-Penyelaan ;P081a-PPPIE0 ; program untuk menampilkan kode kelas pada tampilan 7 ruas. ;Bila ada penyelaan dari luar IE0 (pin12-INT0\-P3.2), nilainya berganti ;kode kelompok sesaat lalu kembali seperti semula. Kode kelompok akan ;bertambah setiap kali ada penyelaan ;-------------------------------------------------------------------------;Materi baru: ;- Penyelaan ;- Vektor penyelaan dan prosedur pelayanan penyelaan (ISR) ;-------------------------------------------------------------------------;Komponen: ;- 1x Bargraf ;- 1x R Net 150 ohm ;- 1x tombol tekan ;- 1x sumber detak luar ;========================================================================== ;=== Deklarasi variabel === kelas equ 0Ah ;kode kelom equ 6 ;kode t7r equ P0 ;t7r jeda equ 5 ;lama
kelas A/B/C/D kelompok 1/2/3.../8 terpasang di pintu P0 jeda
;=== Pengesetan Awal ==== ORG 0 ;alamat awal program SJMP awal ;kembali ke awal ORG 0003h ;alamat yg melayani SJMP pppIE0 ; penyelaan IE0 (pin12-INT0\-P3.2) (pin12-INT0\ -P3.2) awal: CALL MOV
initIE0 R0,#kelom
;=== Program Utama === mulai:
;menyiapkan layanan IE0 ;kode kelompok
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
7
;- pppIE0 ----------------------------------------------------------------;- prosedur pelayanan penyelaan saat ada penyelaan dari IE0 (pin12-INT0\P3.2) pppIE0: PUSH 0E0h ;simpan nilai A sebelumnya MOV A,R0 ;kode kelompok ANL A,#0Fh ; lsd saja MOV DPTR,#hex7r ;lihat tabel konversi MOVC A,@A+DPTR ; hasil konversi MOV t7r,A ;tampilkan di T7R ; CALL tunda ; sesaat INC R0 ;R0 ++ POP 0E0h ;kembalikan nilai A semula RET ;kembali ;-------------------------------------------------------------------------;- tunda : penunda waktu -------------------------------------------------tunda: ;tunda: MOV 71h,#jeda ;nilai awal t1 (sesuai jeda) tunda1: ; tunda1 MOV 72h,#0 ;nilai awal t2 tunda2: ; tunda2: MOV 73h,#0 ;nilai awal t3 tunda3: ; tunda3: NOP ;diam DJNZ 73h,tunda3 ;balik ke tunda3 DJNZ 72h,tunda2 ;balik ke tunda2 DJNZ 71h,tunda1 ;balik ke tunda1 RET ;kembali ;--------------------------------------------------------------------------
;=== Tabel Konversi === ;-Tabel Konversi Hex-7ruas (aktif 0) hex7r: ; 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 db 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h ; 8 - 9 - A - B - C - D - E - F db 080h,090h,088h,083h,0C6h,0A1h,086h,08Eh ;-------------------------------------------------------------------------END
;selesai
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
8
;- Vektor penyelaan dan prosedur pelayanan penyelaan (ISR) ;-------------------------------------------------------------------------;Komponen: ;- 1x Bargraf ;- 1x R Net 150 ohm ;- 1x tombol tekan ;- 1x sumber detak luar ;========================================================================== ;=== Deklarasi variabel === kelas equ 0Ah ;kode kelom equ 6 ;kode t7r equ P0 ;t7r jeda equ 5 ;lama
kelas A/B/C/D kelompok 1/2/3.../8 terpasang di pintu P0 jeda
;=== Pengesetan Awal ==== ORG 0 ;alamat awal program SJMP awal ;kembali ke awal ORG 0003h ;alamat yg melayani SJMP pppIE0 ; penyelaan IE0 (pin12-INT0\-P3.2) (pin12-INT0\- P3.2) awal: CALL MOV
initIE0 R0,#kelom
;menyiapkan layanan IE0 ;kode kelompok
;=== Program Utama === mulai: MOV A,#kelas ;kode kelas MOV DPTR,#hex7r ;lihat tabel konversi MOVC A,@A+DPTR ; hasil konversi MOV t7r,A ;tampilkan di T7R SJMP mulai ;ulangi ;-------------------------------------------------------------------------;=== Sub program === ;- initIE0 ---------------------------------------------------------------;- inisialisasi layanan IE0 saat ada penyelaan dari IE0 (pin12-INT0\-P3.2) initIE0: SETB IT0 ;IT0 aktif transisi turun 1->0 SETB EX0 ;ijinkan penyelaan dari IE0 (pin12-INT0\-P3.2) (pin12-INT0\-P3.2) SETB EA ;ijinkan semua penyelaan RET ;kembali ;-------------------------------------------------------------------------;- pppIE0 -----------------------------------------------------------------
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I MOV 71h,#jeda tunda1: MOV 72h,#0 tunda2: MOV 73h,#0 tunda3: NOP DJNZ 73h,tunda3 DJNZ 72h,tunda2 DJNZ 71h,tunda1
9 ;nilai awal t1 (sesuai jeda) ; tunda1 ;nilai awal t2 ; tunda2: ;nilai awal t3 ; tunda3: ;diam ;balik ke tunda3 ;balik ke tunda2 ;balik ke tunda1
RET ;kembali ;--------------------------------------------------------------------------
;=== Tabel Konversi === ;-Tabel Konversi Hex-7ruas (aktif 0) hex7r: ; 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 db 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h ; 8 - 9 - A - B - C - D - E - F db 080h,090h,088h,083h,0C6h,0A1h,086h,08Eh ;-------------------------------------------------------------------------END
;selesai
3.1.2.3. Hasil Percobaan Percobaan
Tampilan EDSIM : a. P081a-pppIE0.asm P081a-pppIE0.asm
tampilan saat belum ada interupt :
Tampilan saat tombol P3.2 ditekan, terdapat interupt :
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
Tampilan saat tombol P3.2 dilepas tampilan kembali :
Tampilan saat tombol P3.2 ditekan, terdapat interupt :
Dan seterusnya sampai mengulang ke 6 lagi
b. P081b-pppIE1.asm P081b-pppIE1.asm
Tampilan saat belum ada interupt :
Tampilan saat tombol P3.3 ditekan, terdapat interupt :
10
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
11
Tampilan saat tombol P3.3 ditekan, terdapat interupt :
Tampilan saat tombol P3.3 dilepas tampilan kembali :
3.1.3. Pembahasan
a. P081a-pppIE0.asm Pada program Interupsi eksternal ini program dapat berjalan jika adanya penyelaan dari pin 12 yaitu INT 0. Hampir sama dengan program counter naik dan turun dan aktif jika ada penyelaan . Tampilan hitung maju akan ditampilkan pada tampilan 7 ruas yang terpasang dalam bentuk heksa . Pertama yang dilakukan adalah memasukan alamat awal interupsi 03h. Kemudian
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
12
Saat tidak ada interupsi maka tampilan 7 ruas akan menampilkan kode kelas ‘A’ kemudian jika ada interupsi interupsi maka akan menampilkan kode kode kelompok ‘6’, lalu jika dilepas maka akan menampilkan kode kelas ‘A’, jika ada inte rupsi lagi maka tampilan 7 ruas akan menampilkan penambahan -1 pada nilai R0.
Pertanyaan : 1. Bagaimana cara kerja program tsb? (Sertakan rangkaian dan diagram alir) Cara kerjanya ketika program di run dan mulai menjalankan program utama maka program akan mengakses 0Ah/88h dalam t7r dan apabila terjadi penyelaan maka akan menampilkan nomor kelompok dan melakukan perintah selanjutnya jika increment maka akan menambah satu angka pada nomor kelompok jika decrement mengurangi 1 angka dari nomor kelompok
2. Apa berapa macam penyelaan yang dimiliki 8051? (Jelaskan masing-masing?) Ada 2 yaitu IE0 dan IE1 jika IE0 dia menggunakan alama 0003h dan jika IE1 dia menggunakan alamat 0013h
3. Bagaimana cara mendapatkan penyelaan setiap 1 detik? Menggunakan perintah tunda dan setting sekiranya 1 detik dengan menggunakan loop
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Trusted by over 1 million members
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Lab. Mikrokontroler I
13