Anda di halaman 1dari 1

ANALISA DATA

Pada mikrokontroler 80C51 ini, kami membuat sebuah program yang bisa menjalankan
suatu counter-up ataupun counter-down dengan menggunakan decoder. Program ini
dimasukkan ke dalam mikrokontroller sehingga bisa menjalankan fungsi counter dengan seven
segment sebagai penampil angkanya.Dalam program ini, kami menggunakan sistem
penomeran biner sebagai pemrosesan data yang ada dalam bahasa assembly. Penomeran biner
ini nantinya yang memberikan nilainya.
Kami menggunakan bahasa assembly bawaan dari mikrokontroler 80C51 ini yang
sudah ada di dalamsoftware proteus. Di dalam program ini, pertama kami mendeklarasikan
beberapa fungsi seperti A,p1,p2. Fungsi mov pada bagian start itu adalah sebagai deklar nilai
dari A, p1, p2 nya yang #00000000b merupakan nilai 0 pada bilangan biner. Fungsi setelahnya
adalah jmp yang mana berarti lompat ke suatu bagian, pada bagian start jmp loop berfungsi
untuk melompat ke dalam bagian loop pada program. Di dalam loop, ada beberapa bagian lain
seperti zero, one, two dan yang lainnya.Bagian tersebut adalah bagian yang di dalamnya berisi
fungsi untuk mengeluarkan nilai yang akan dikeluarkan pada seven segment. Fungsi CJNE
adalah (compare, jump if not equal) perbandingan dari suatu nilai dengan nilai lain, jika sama
maka program akan dilanjutkan ke selanjutnya dan jika tidak sama maka akan melompat ke
bagian lainnya yang di telah dimasukkan. Setelah fungsi CJNE tadi, ada fungsi mov lagi yang
mendeklar variabel lain dan nilainya. lcall DELAY adalah fungsi long call untuk DELAY yang
dibawahnya sudah dideklar sehingga bagian zero ini memanggil bagian DELAY tadi. lcall
input_up adalah fungsi untuk menjalankan program pada bagian input_up untuk di jalankan di
bagian zero atau yang memanggilnya. mov r4,p1 adalah fungsi register atau memori untuk
mengingat nilai nya lalu cjne r4, membandingkan lagi nilai r4 dengan nilai 1.
Pada bagian DELAY: mov R0 adalah untuk menyimpan nilai DELAY nya. Di bagian
input_up kami juga menyimpan nilai r5 sebesar p1 dan membandingkan nilai r5 tadi dengan
cjne. Jika tidak jump maka nilai A ditambah 1 dan return lagi ke fungsi awal yang
memanggilnya dan jika jump maka akan masuk bagian input_down yang mana nantinya akan
mengurangkan 1. Fungsi dari bagianionput_up adalah untuk counter up yang akan bertambah
1, sedangkan input_down adalah untuk counter-down untuk mengurangi nilainya 1 sehingga
nilai yang akan keluar berurutan. jika pada input_down terjadi loncat, maka akan loncat pada
bagian idle yang didalamnya terdapat fungsi nop atau no operation sehingga tidak ada yang
dilakukan dan akan di return kembali.

Anda mungkin juga menyukai