Wednesday, March 7, 2012

Mikroprosesor

   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.

 b.    Hasil keluaran dari program AT89S52 adalah
                        : 1000000075A00F12000880F8793279647A64DAFEFD
                        : 05001000D9FAD8F62228
                        : 00000001FF



(Materi ini saya buat untuk Ujian Akhir Semester Mikroprosesor bimbingan bapak Kustanto, ST., M.Eng)

1 comment:

Silahkan masukkan komentar anda, namun tetap harus menjaga kesopanan.