Anda di halaman 1dari 15

PRAKTIKUM DASAR MIKROPROSESOR

NUMBER KEY (7 SEGMENT)


LABORATORIUM INSTRUMENTASI

NAMA : SRI ANDARI DAMAYANI


NIM : 3332150032
ASISTEN : Muhammad Prayogi

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SULTAN AGENG TIRTAYASA
2017
BAB I
METODOLOGI PENELITIAN

1.1.Prosedur Percobaan
2. Menyiapkan PC/laptop yang telah terinstall aplikasi yang diperlukan (CooCox
Software=CoSmart;CoIDE;CoFlash).
3. Memilih chip dengan cara membuka aplikasi CoSmart untuk mengkonfigurasi
pin.
4. Memilih tombol New chip di aplikasi CoSmart.
5. Memilih Novuton, lalu memilih NUC140VE3CN.
6. Mencontreng GPIOE pada gambar chip NUC140VE3CN.
7. Memilih GPIOE pada jendela Configuration.
8. Mengubah pengaturan Pin 0 sampai Pin 7 menjadi Enable pada bagian bawah
port GPIOE.
9. Lalu merubah mode control pada pin 0 sampai 7 menjadi output.
10. Mencontreng GPIOC pada gambar chip NUC140VE3CN.
11. Memilih GPIOC pada jendela Configuration.
12. Mengubah pengaturan Pin 4 sampai Pin 7 menjadi Enable pada bagian bawah
port GPIOC.
13. Lalu merubah mode control pada pin 4 sampai 7 menjadi output.
14. Memilih GPIOA pada jendela Configuration untuk pin keypad
15. Mengubah pengaturan Pin 0 sampai pin 5 menjadi Enable pada bagian bawah
port GPIOA.
16. Memilih GPIOB pada jendela Configuration.
17. Mengubah pengaturan Pin 11 menjadi Enable pada bagian bawah port
GPIOB.
18. Mengatur pin config pada bagian bawah agar mode control pin 11 menjadi
output.
19. Menyimpan konfigurasi dengan mengklik Project > Save lalu memilih folder
dan mngetikkan nama file, mengetikkan konfigurasi03.
20. Lalu mengklik Generate > Generate CoIDE Project lalu memilih folder dan
mengetikkan nama project,mengetikkan praktikum03.
21. Mengklik dua kali file praktikum03 yang telah tersimpan untuk membuka
project dengan CoIDE.
22. Mengklik dua kali pada main.c untuk mulai memprogram.
23. Menambahkan file BSP dengan cara
Langkah 1:
Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke
C:\Nuvoton\BSPLibrary\NUC100SeriesBSP\NuvPlatform_Keil
\Include\NUC1xx-LB_002 Pilih file Seven_segment.h
Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke
C:\Nuvoton\BSPLibrary\NUC100SeriesBSP\NuvPlatform_Keil
\Include\NUC1xx-LB_002 Pilih file Scankey.h
Langkah 2:
Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke
C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src
\NUC1xx-LB_002 Pilih file Seven_segment.c
Klik kanan di cmsis_lib\Src \Driver, lalu pilih Add Files. Browse ke
C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Src
\NUC1xx-LB_002 Pilih file Scankey.c
24. Pada main.c, masukkan listing program berikut
#include "DrvGPIO.h"
#include "DrvSYS.h"
#include "ScanKey.h"
#include "Seven_Segment.h"
int key;
void Init();
int main(void)
{
Init();
while(1)
{
key=Scankey();
DrvGPIO_SetBit(E_GPB,11);
if(key!=0)
{
close_seven_segment();
show_seven_segment(0,key);
DrvGPIO_ClrBit(E_GPB,11);
}
}
}

25. Melakukan build dengan cara mengklik icon build atau menekan tombol F7
pada keyboard dan memastikan build tidak error.
26. Setelah build succes, membuka aplikasi CoFlash.
27. Memilih device Novuton tipe NUC140VE3CN pada tab config.
28. Mengubah pengaturan adapter menjadi Nu-Link
29. Membuka file yang telah dibuild pada tab command dengan mengklik icon
open dan memilihnya melalui file browser.
30. Mengklik tombol Erase untuk memastikan listing yang diupload sebelumnya
telah dihapus.
31. Mengupload listing ke Novuton dengan cara mengklik tombol Program.
BAB II
TUGAS

2.1. TUGAS PENDAHULUAN


1. Port yang digunakan pada modul 5 dan 6?
Jawab :
Modul 5 Modul 6
GPIOE GPIOA
GPIOC GPIOB
GPIOA SPI3
GPIOB GPIOD
2. Apa yang dimaksud dengan tipe data ?
Jawab :
Tipe data adalah suatu konsep dasar yang harus dikuasai oleh programmer.
Tipe data digunakan untuk menentukan jenis nilai atau value yang akan
disimpan ke dalam memori, dan yang akan di proses dalam program.
3. Sebutkan dan jelaskan alat alat yang digunakan pada modul 5 dan 6?
a. 1 Unit komputer / PC yang telah terinstall CoSmart , CoIDE , dan
CoFlash
b. 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0
Pada novuton ini kita menggunakan beberapa hardware seperti :
buzzer untuk menghasilkan bunyi
keypad matrix sebagai input dari seven segment.
c. Kabel mini USB untuk menghubungkan nuvoton dengan komputer / pc
agar dapat diprogram
4. Tuliskan program seven segment pada kolom ke 3 ?
Jawab :
#include "DrvGPIO.h"
#include "DrvSYS.h"
#include "ScanKey.h"
#include "Seven_Segment.h"
int key;
void Init();

int main(void)

Init(); while(1)

key=Scankey();
DrvGPIO_SetBit(E_GPB,11)
; if(key!=0)

close_seven_segment();
show_seven_segment(2,key);
DrvGPIO_ClrBit(E_GPB,11);

2.2. TUGAS MODUL


1. Gambarkan gambar data sheet rangkaian 7-segment !
Gambar 2.1 rangkaian catode dan annode 7 segment

Gambar 2.2 rangkaian seven segment


2. Buat dan tuliskan, agar ke empat 7-segment pada modul NUVOTON Nu-
LB-NUC140 V2.0
#include "DrvGPIO.h"
#include "DrvSYS.h"
#include "ScanKey.h"
#include "Seven_Segment.h"
int key;
void Init();
int main(void)
{
Init();
while(1)
{key=Scankey();
DrvGPIO_SetBit(E_GPB,1);
if(key!=0)
{close_seven_segment();
show_seven_segment(0,key);
show_seven_segment(1,key);
show_seven_segment(2,key);
show_seven_segment(3,key);
DrvGPIO_ClrBit(E_GPB,11);
}

}
}
BAB III
ANALISIS

3.1 Percobaan 1
Pada percobaan pertama, hasil yang didapat adalah Display 7-Segment
menampilkan angka sesuai dengan urutan atau posisi dari keypad matriks.
Dimana saat menekan tombol satu, angka yang muncul pada Display 7-
Segment adalah 1, kemudian saat menekan tombol kedua, angka yang muncul
pada Display 7-Segment adalah 2, kemudian terus dilanjutkan sampai tombol
kesembilan dimana menampilkan angka 9 pada Display 7-Segment.
Pada listing code percobaan modul 5 menggunakan fungsi pustaka sebagi
berikut:
#include DrvGPIO.h untuk fungsi input dan output
#include DrvSYS.h untuk fungsi jeda (delay).
#include "Seven_segment.h"untuk menggunakan seven segment
diperlukan fungsi pustaka tersebut
#include "scankey.h" untuk menggunakan fungsi keypad matrix
key=Scankey(); untuk mendeklarasikan key adalah sebagai inputan
dari scankey atau keypad matrix
if(key!=0) adalah pernyataan yang menyatakan jika keypad matrix
tidak sama dengan nol (!=0) maka akan dijalankan perintah berikut
close_seven_segment();
show_seven_segment(0,key);
DrvGPIO_ClrBit(E_GPB,11);
close_seven_segment(); menghilangkan atau menghapus nilai pada seven
segment
show_seven_segment(0,nilai); menampilkan angka pada seven segmen
pertama dengan nilai sesuai banyaknya menekan pushbutton
DrvSYS_Delay(1000000); untuk memberikan fungsi delay(jeda)
Listing code DrvGPIO_ClrBit(E_GPB,11); adalah untuk memberikan
logika LOW pada buzzer sehingga buzzer menyala di pin 11.
Listing code DrvGPIO_SetBit(E_GPB,11); adalah untuk memberikan
logika HIGH pada buzzer sehingga buzzer di pin 11 mati.
Dalam percobaan kali ini, program dan modul bekerja dengan sesuai
harapan karena pada saat menuliskan program, penulisan program tersebut
tepat dan sesuai dengan prosedur.

3.2 Percobaan 2
Pada percobaan kedua, perintah yang diberikan adalah menekan tombol
pushbutton. Dalam hal ini, tombol pushbutton dengan pin 15.
Pada percobaan kedua, pada saat menekan tombol pushbutton, tidak
terjadi sesuatu atau malfunction pada program dan modul, hal ini dikarenakan
tidak dituliskannya fungsi untuk pushbutton pada program, sehingga program
tidak mengalami gangguan.
Dalam percobaan kali ini, praktikan dapat mengambil kesimpulan bahwa
untuk menggunakan suatu modul atau perangkat peripheral yang akan diolah
oleh program, kita peru terlebih dahulu mengaktifkan port dan pin-nya serta
menuliskan fungsi peripheral tersebut pada program, agar program dapat
mengeksekusi peripheral tersebut.

3.3 Percobaan 3
Pada percobaan ketiga, perintah yang diberikan adalah tekan tombol
reset. Dimana tombol reset disini adalah tombol pushbutto dengan pin 14.
Pada percobaan ketiga, hasil yang didapat adalah tampilan pada Displa 7-
Segment yang hilang atau dibersihkan pada saat menekan tombol reset.
Hal ini dikarenakan fungsi dari tombol reset adalah sebagai pembersih
tampilan.

3.4 Percobaan 4
Pada percobaan keempat, perintah yang diberikan adalah Listing
program int key; dihilangkan lalu build dan download kemudian operasikan
modul. Jika sudah kembalikan seperti semula.
Pada percobaan keempat, hasil yang didapat adalah berupa BUILD
FAILED atau ERROR. Hal ini karena variabel pengenal berupa key
dihilangkan sehingga program tidak bisa memproses pengenal yang ditulis
pada fungsi.
Dalam percobaan kali ini, kita dapat mengambil kesimpulan bahwa
identifier atau pengenal diperlukan dalam menyatakan suatu data atau nilai
pada sebuah program sehingga data atau nilai tersebut dapat diolah oleh
program. Dan penulisan dari sebuah pengenal atau identifier pada fungsi harus
sama dengan penulisan pada identifier yang dideklarasikan.

3.5 Percobaan 5
Pada percobaan kelima, perintah yang diberikan adalah Pada listing
program key=Scankey(); diubah menjadi key=Scankey()+7; lalu build dan
operasikan download kemudian modul. Jika sudah kembalikan seperti
semula.
Pada percobaan kelima, hasil yang didapat adalah berubahnya angka atau
nilai tampilan pertama yang semulah adalah kosong menjadi 7.
Dalam percobaan kali ini, kita dapat mengambil kesimpulan bahwa nilai
dari suatu data dapat dimanipulasi, hal ini dapat dilihat pada percobaan
keempat, dimana nilai awal dari key=Scankey(); yang semula bernilai kosong,
diubah menjadi key=Scankey()+7; sehingga nilai awal berubah menjadi 7 dan
menampilkan angka 7 sebagai tampilan awal pada 7-Segment.

3.6 Percobaan 6
Pada percobaan keenam, perintah yang diberikan adalah Pada listing
Program show_seven_segment(0,key); diubah Menjadi
show_seven_segment(1,key); lalu build dan download kemudia operasikan
modul. Jika sudah kembalikan seperti semula.
Hasil yang didapat dari perocbaan keenam adalah, berubahnya posisi
kolom Display 7-Segment yang semula berada pada kolom 0 (posisi paling
kanan) bergeser ke kolom 1 (posisi sebelah kiri).
Hal ini terjadi karena posisi dari tampilan Displayy 7-Segment dapat
pindahkan ke 4 kolom yang tersedia (0-3), dimana posisi dimulai dari sebelah
paling kanan. Dan kita dapat memindahkan posisi dari tampilan tersebut
sesuai dengan keinginan dengan cara menuliskan fungsi
show_seven_segment(nomor kolom,key).

3.7 Percobaan 7
Pada percobaan ketujuh, perintah yang diberikan adalah Tipe data pada
listing program int key; diubah menjadi float key; lalu build dan download
kemudian operasikan modul. Jika sudah kembalikan seperti semula.
Hasil yang didapat adalah program bekerja dengan normal, yang
menghasilkan hasil yang sama dengan perocbaan pertama.
Hal ini terjadi karena int dan float merupakan tipe data untuk bilangan,
namun perbedaannya, int merupakan tipe data bilangan bulat, sedangkan float
merupakan tipe data pecahan. Namun hal tersebut tidak mempengaruhi
tampilan pada Display 7-Segment karena input yang diberikan berupa
bilangan bulat. Dan Display 7-Segment tidak bisa menampilkan bilangan
pecahan hanya dengan 1 kolom yang ditampilkan.
BAB IV
PENUTUP

4.1. Kesimpulan
1. Tipe data digunakan untuk menjelaskan sifat dari sebuah data atau
variabel.
2. Tipe data memiliki banyak macam sesuai dengan kegunaannya, pada
praktikum kali ini, tipe data yang digunakan adalah tipe data berupa
bilangan bulat, yaitu integer atau int.
3. Sedangkan float merupakan tipe data bilangan cacah atau pecahan, yang
dtuliskan dengan float.
4. Untuk menggunakan 7-Segment diperlukan fungsi berupa
show_seven_segment(Nomor_7segment,Data_angka); untuk menampilkan
tampilan pada 7-Segment dan sebuah Library yaitu #include
Seven_segment.h untuk mengaktifkan fungsi tersebut.
5. Program NUMBER KEY pada praktikum kali ini bertujuan untuk
mempelajari cara kerja 7-Segment Untuk memunculkan angka di salah
satu 7-segment.
DAFTAR PUSTAKA

Asisten Laboratorium Komputer : Modul Praktikum Dasar Mikroprosesor .


2017. Cilegon: Jurusan Teknik Elektro, Fakultas Teknik, Universitas Sultan
Ageng Tirtayasa.

Wordpress . NUC140 Learning Boaed Tutorial : General Purpose I/O ( GPIO)


2016. Tersedia dari : https://nuc140lb.wordpress.com/2016/01/06/general-
purpose-io-gpio/ [ URL dikunjungi pada 17 Maret 2017 ]

Yuantika Widyawati . Another my article : tipe data dalam bahasa program.


2015. Tersedia dari :
http://yuantikawidyawati.blog.widyatama.ac.id/2015/09/18/tipe-data-dalam-
pemograman-java/ [URL dikunjungi pada 20 maret 2017]

Elektronika dasar : Matrix Keypad 4x4 Untuk Mikrokontroler .2012 . Tersedia


Dari : http://elektronika-dasar.web.id/matrix-keypad-4x4-untuk-
mikrokontroler/ [ URL dikunjungi pada 14 Maret 2017 pukul 14.00 WIB]
LAMPIRAN

Blanko percobaan
No percobaan keterangan
1 Tekan satu peratu kesembilan Menampilkan angka
2 Tekan tombol push button. Tidak menampilkan apapun
3 Tekan tombol reset. Mereset seven segment
4 Listing program int key; dihilangkan Build failed
lalu build dan download kemudian
operasikan modul. Jika sudah
kembalikan seperti semula.
5 Pada listing program key=Scankey(); Buzzer bunyi dan jika keypad
diubah menjadi key=Scankey()+7; lalu matrix ditekan akan
build dan download kemudian menampilkan angka 7+ keypad
operasikan modul. Jika sudah yang ditekan
kembalikan seperti semula.
6 Pada listing program Seven segment pindah ke seven
show_seven_segment(0,key); diubah segment dua
menjadi show_seven_segment(1,key);
lalu build dan download kemudia
operasikan modul. Jika sudah
kembalikan seperti semula.
7 Tipe data pada listing program int key; Menampilkan bilangan riil
diubah menjadi float key; lalu build
dan download kemudian operasikan
modul. Jika sudah kembalikan seperti
semula.

Anda mungkin juga menyukai