Perbedaan dan persamaan antara mikroprosesor dan mikrokontroler adalah sebuah mikrokontroler berbeda dengan sebuah mikroprosesor dalam beberapa hal. Yang paling utama adalah fungsionalitasnya. Agar mikroprosesor dapat bekerja, masihdibutuhkan komponen lain seperti memori. Walaupun mikroprosesor dianggap sebagai piranti canggih untuk komputasi, titik kelemahannya ada pada tidak dirancangnya kemampuan komunikasi (antarmuka) dengan piranti-piranti periferal (memori, I/O da lain sebagainya) secara khusus.Untuk melakukan komunikasi dengan piranti periferal, mikroprosesor membutuhkan rangkaian khusus eksternal. Intinya, mikroprosesor hanya sebagai otak-nya komputer. Sedangkan mikrokontrontroler adalah suatu chip (rangkaian terintegrasi – IC) VLSI (Very Large Scale IC) mikroprosesor yang dikhususkan untuk instrumentasi dan kendali dan bersifat reprogrammable. Mikrokontroler memiliki unit memory sendiri (meskipun sangat terbatas), unit I/O (Input/Output) yang bisa dikoneksikan langsung dengan sensor atau aktuator. Program disimpan dalam memori yang tidak hilang bila catu daya padam, biasanya dalam bentuk ROM, PROM atau EPROM diluar mikrokontroler, atau beberapa seri atau varian memiliki ROM didalam mikrokontroler itu sendiri. Persamaan antara mikroprosesor dan mikrokontroler adalah sama sama di kemas di dalam bentuk IC.
Program sederhana mikrokontroler AT89S52
ORG 000H
MULAI
MOV P2,#00001111B
CALL TUNDA
SJMP MULAI
TUNDA
DELAY : MOV R0,#50
DELAY1 : MOV R1,#100
DELAY2 : MOV R2,#100
DJNZ R2,$
DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
a. Penjelasan intruksi program mikrokontroler AT89S52
ORG 000H : alamat pertama setelah reset
MULAI : merupakan sebuah label yang digunakan di dalam
program ini
MOV P2,#00001111B : P2 (Port 2) diisi dengan 00001111B
CALL TUNDA : memanggil label “TUNDA”
SJMP MULAI : lompatan pendek ke label “MULAI”
TUNDA : label “TUNDA”
DELAY : MOV R0,#50 : mengisi register 0 dengan 50 pada label “DELAY”
DELAY1: MOV R1,#100 : mengisi register 1 dengan 100 pada label “DELAY”
DELAY2: MOV R2,#100 : mengisi register 2 dengan 100 pada label “DELAY”
DJNZ R2,$ : mengurangi nilai register 2 dengan nilai 1 dan jika
hasilnya sudah NOL (0) maka intruksi $ akan dijalankan
DJNZ R1,DELAY2 : mengurangi nilai register 1 dengannilai 1 dan jika hasilnya
sudah nol (0) maka intruksi DELAY2 akan dijalankan
DJNZ R0,DELAY1 : mengurangi nilai register 0 dengan nilai 1 dan jika hasilnya
sudah NOL (0) maka intruksi DELAY 1 akan dijalankan.
: 1000000075A00F12000880F8793279647A64DAFEFD
: 05001000D9FAD8F62228
: 00000001FF
(Materi ini saya buat untuk Ujian Akhir Semester Mikroprosesor bimbingan bapak Kustanto, ST., M.Eng)
njeh....
ReplyDelete