modul praktikum dasar mikroprosesor · pdf filebatas jam yang diberikan dari jam 8.00 ......

59
i MODUL PRAKTIKUM DASAR MIKROPROSESOR Disusun Oleh: Asisten Laboratorium Instrumentasi Nama NPM LABORATORIUM INSTRUMENTASI JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SULTAN AGENG TIRTAYASA 2017

Upload: ngodang

Post on 31-Jan-2018

226 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

i

MODUL PRAKTIKUM DASAR MIKROPROSESOR

Disusun Oleh:

Asisten Laboratorium Instrumentasi

Nama

NPM

LABORATORIUM INSTRUMENTASI

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SULTAN AGENG TIRTAYASA

2017

Page 2: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

ii

STRUKTUR

LABORATORIUM INSTRUMENTASI

Kepala Laboratorium Teknik Elektro

Dr. Romi Wiryadinata, M.Eng

Kepala Laboratorium Instumentasi

Rocky Alfanz S.T., M.Sc

Laboran Laboratorium Teknik Elektro

Eirin Rismawan, A.Md

Koordinator Laboratorium Instrumentasi

David Abraham

Asisten Laboratorium Instrumentasi

Damar Prasetyo

Dwi Rahmat Aryanto

Dzulfiqar Dwi Yantoo

Muhammad Prayogi

Page 3: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

iii

PERATURAN PRAKTIKUM

1. FORMAT PENULISAN LAPORAN

a. Margin : Top = 4 cm, Bottom = 3 cm

Left = 4 cm, Right = 3cm

b. Kertas A4

c. Judul Times New Roman 14 Pt, Bold

d. talic untuk penggunaan bahasa inggris

e. Isi Times New 12 Pt text-align justify

f. Spasi 1,5 tidak ada space setelah dan sebelum paragraf

g. Gambar

Gambar 1 Stabilitas Relatif

Gambar dan nama gambar harus proporsional, jelas dengan ukuran yang

tidak berlebihan, letak center, diberikan sumber referensi dari mana

diperoleh gambar tersebut, berlaku untuk persamaan, dan bunyi hukum

h. Setiap bab berisi

BAB I MEDOTODOGI PENELITIAN

Berisi langkah kerja atau prosedur percobaan pada saat praktikum minimal 2

lembar.

BAB II TUGAS

Berisi tugas pendahuluan, tambahan, dan modul minimal 2 lembar.

BAB III ANALISIS

Page 4: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

iv

Berisi analisis atau penjelasan praktikum yang dilakukan didasari teori yang

berasal dari sumber yang terpercayaminimal 3 lembar.

BAB IV PENUTUP

Berisi kesimpulan dari percobaan yang dilakukan, merupakan jawaban dari

tujuan pada saat praktikum minimal 1 lembar.

DAFTAR PUSTAKA

Berisi daftar rujukan atau pustaka yang telah digunakanpada laporan

praktikum. Rujukan yang diperbolehkan meliputi jurnal ilmiah, prosiding

seminar, textbook, majalah ilmiah dan sumber lain yang dapat

dipertanggungjawabkan.Adapun tata cara penulisan referensi tergantung

pada style penulisan sitasi yang digunakan.

1) Bagi yang menggunakan style APA

Feit, S. (1998). TCP/IP: architecture, protocols, and implementation

with IPv6 and IP security. United States of America: The McGraw-

Hill Companies, Inc.

Jin, H.-W., and Yoo, C. (2007). Impact of Protocol Overheads on

Network Throughput Over High-Speed Interconnects: Measurement,

Analysis, and Improvement. The Journal of Supercomputing. Vol.

41, No. 1, pp. 17 – 40.

Hens, F. J. (2006). Copper vs. Fibre: The Dilemma of the Access

Network. Tersedia dari : http://www.trendcomms.com. [URL

dikunjungi pada 18 Oktober 2009]

2) Bagi yang menggunakan style numbered (angka)

1. Feit, S., TCP/IP : architecture, protocols, and implementation with

IPv6 and IP security. 1998, United States of America: The

McGraw-Hill Companies, Inc.

2. Jin, H.-W., & Yoo, C. Impact of Protocol Overheads on Network

Throughput Over High-Speed Interconnects: Measurement,

Analysis, and Improvement. The Journal of Supercomputing. 2007.

Vol. 41, No. 1, pp. 17 – 40.

Page 5: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

v

3. Hens, F. J. Copper vs. Fibre: The Dilemma of the Access Network.

2009. Tersedia dari : http://www.trendcomms.com. [URL

dikunjungi pada 18 Maret 2016]

i. Softcopy laporan di kirimkan ke email [email protected]

maksimal seminggu setelah praktikum. Apabila laporan tidak sesuai dengan

format ataupun waktu yang telah diberikan maka akan diberikan

pengurangan nilai ataupun laporan tidak diterima.

j. Laporan dikirimkan melalui email dengan subjek:

[DASMIK][Kode][Modul] nama praktikan.

Contoh :[DASMIK][DA][2] Mad Dog

Kode: [DA] untuk David Abraham

[MP] untuk Muhammad Prayogi

[DR] untuk Dwi Rahmat

[DP] untuk Damar Prasetyo

[DD] untuk Dzulfiqar Dwiyanto

2. TATA TERTIB PRAKTIKUM

a. Waktu toleransi praktikum 10 menit keterlambatan jika melebihi dari waktu

toleransi maka praktikan di wajibkan melakukan INHAL.

b. Menggunakan PDH HME (rapih dan sopan)

c. Modul praktikum di print dan dibawa saat praktikum dilaksanakan.

d. Wajib membawa laptop yang telah di install software pendukung sesuai

dengan instruksi asisten dan kebutuhan praktikum (jika dibutuhkan)

e. Tidak ada pergantian jadwal praktikum.

f. Dilarang membawa makanan atau minuman.

g. Tidak membawa senjata tajam dan menciptakan keributan.

3. INHAL

Dilakukan apabila praktikan tidak dapat melaksanakan praktikum sesuai dengan

jadwal atau melanggar tata tertib praktikum, syarat dan ketentuan:

a. Maksimal INHAL 2 Modul praktikum apabila lebih, maka nilai praktikum

maksimal D

Page 6: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

vi

b. Pelaksanaan inhal pengganti dilakukan setelah praktikum selesai atau

dijadwalkan berikutnya oleh asisten.

4. PRESENTASI TUGAS AKHIR

Merupakan ujian yang bersifat aplikatif dari materi yang telah dipraktikkan,

setiap kelompok mempresentasikan sebuah program dalam bentuk aplikasi serta

mendemonstrasikannya.

5. RESPONSI

Merupakan review dari awal sampai dengan akhir praktikum dalam bentuk test

tertulis yang dilaksanakan setelah selesai praktikum. Bagi yang tidak mengikuti

responsi maka praktikan dianggap gugur atau tidak mengikuti praktikum tersebut

dan nilai maksimal yang diberikan D.

6. JADWAL PRAKTIKUM

a. Waktu yang diberikan sesuai dengan hari kerja (senin s/d jumat)

b. Batas jam yang diberikan dari jam 8.00 sampai dengan 21.00

c. Jadwal diberikan sesuai dengan kesepakatan antara asisten dan praktikan,

selama tidak mengganggu jam kuliah.

Page 7: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

vii

KATA PENGANTAR

Puji syukur ke hadirat Tuhan YME, Modul Dasar Mikroprosesor ini dapat

diselesaikan sebelum masa praktikum dimulai. Dengan demikian, pelatihan asisten

sudah dapat menggunakan modul dalam bentuk yang sama dengan modul yang akan

digunakan praktikan.

Pada kesempatan ini, penulis ingin menyampaikan terima kasih yang besar-

besarnya pada semua pihak yang telah terlibat dalam penyusunan petunjuk

praktikum ini.

Akhir kata, semoga semua usaha yang telah dilakukan berkontribusi pada

dihasilkannya lulusan Program Studi Teknik Elektro sebagai engineer dengan

standar internasional.

Cilegon, Februari 2017

Page 8: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

viii

DAFTAT ISI

HALAMAN JUDUL ................................................................................................... i

STRUKTUR LABORATORIUM INSTRUMENTASI ........................................ ii

PERATURAN PRAKTIKUM ................................................................................ iii

KATA PENGANTAR ............................................................................................. vii

DAFTAR ISI ............................................................................................................ viii

PRAKTIKUM 1

FLIP-FLOP .................................................................................................................. 1

PRAKTIKUM 2

BELL (PUSHBUTTON DAN BUZZER) ............................................................... 6

PRAKTIKUM 3

KEY TONE ................................................................................................................ 12

PRAKTIKUM 4

COUNTER UP (7 SEGMENT) ............................................................................... 17

PRAKTIKUM 5

NUMBER KEY (7 SEGMENT) .............................................................................. 23

PRAKTIKUM 6

NUMBER KEY (LCD) ............................................................................................. 29

PRAKTIKUM 7

COUNTER UP (LCD) .............................................................................................. 36

PRAKTIKUM 8

WATER LEVEL ....................................................................................................... 42

FORM PENILAIAN ................................................................................................. 51

Page 9: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

1

PRAKTIKUM 1

FLIP-FLOP

A. TUJUAN PERCOBAAN

1) Mengetahui cara mengatur port yang akan digunakan sebagai output.

2) Mengetahui cara memanggil dan menggunakan library.

3) Menganalisa program filp-flop LED.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan

cahaya pada saat mendapat arus bias maju (forward bias). LED (Light Emitting

Dioda) dapat memancarkan cahaya karena menggunakan dopping galium, arsenic

dan phosporus. Jenis doping yang berbeda dapat menghasilkan cahaya dengan

warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis

dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan

memancarkan cahaya apabil diberikan tegangan listrik dengan konfigurasi

forward bias. Berbeda dengan dioda pada umumnya, kemampuan mengalirkan

arus pada LED (Light Emitting Dioda) cukup rendah yaitu maksimal 20 mA.

Apabila LED (Light Emitting Dioda) dialiri arus lebih besar dari 20 mA maka

LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resistor sebgai

pembatas arus. Simbol dan bentuk fisik dari LED (Light Emitting Dioda) dapat

dilihat pada gambar berikut :

Page 10: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

2

Gambar 1.1 LED

Pustaka (seringkali dirujuk sebagai library), adalah kumpulan fungsi-

fungsi yang terkandung dalam satu file, Setiap file pustaka mempunyai satu

Header file yang menyimpan cetak biru dari fungsi-fungsi yang terkandung dalam

file pustaka. Berikut contoh penulisan listing program untuk memanggil library

input dan output.

LED pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Page 11: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

3

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena LED dihubungkan ke PORT C maka isi dengan E_GPC.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

empat buah LED sudah dihubungkan ke pin 12 s/d 15.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN.

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set pin LED

1) Contreng GPIOC pada gambar chip.

2) Di jendela Configuration pilih GPIOC.

3) Di bawahnya, klik pada Pin 12 s/d 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 12 s/d 15:

Mode Control: Output

Langkah ke 3: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 4: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

Page 12: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

4

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 5: Pemrograman

LISTING PROGRAM:

#include "DrvGPIO.h"

#include "DrvSYS.h"

void Init();

int main(void)

{

Init();

while(1)

{

DrvGPIO_ClrBit(E_GPC,12);

DrvSYS_Delay(1000000);

DrvGPIO_SetBit(E_GPC,12);

DrvSYS_Delay(1000000);

}

}

Langkah ke 6: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program.

Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program

ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Sebutkan dan jelaskan apa saja library yang digunakan dan mengapa library

tersebut digunakan.

2) Sebutkan dan jelaskan port apa saja yang digunakan dan mengapa port

tersebut digunakan.

3) Jelaskan secara singkat bagaimana program diatas bekerja.

Page 13: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

5

F. BLANGKO PERCOBAAN

Tabel 1.1 Praktikum 1

No Percobaan Keterangan

1

Listing program #include

“DrvHPIO.h” dihilangkan lalu

build dan download. Jika sudah

kembalikan seperti semula.

2

Listing program #include

“DrvSYS.h” dihilangkan lalu buil

dan download. Jika sudah

kembalikan seperti semula.

3

Angka 1000000 pada listing

program

DrvSYS_delay(1000000);

Diganti menjadi 500000 lalu

build dan download. Lakukan

juga dengan angka 100000,

25000 dan 10000.

4

Angka 12 pada listing program

DrvGPIO_Clrbit(E_GPC,12);

diganti menjadi 13 lalu build dan

download. Lakukan juga dengan

angka 14, 15 dan 16.

Page 14: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

6

PRAKTIKUM 2

BELL (PUSHBUTTON DAN BUZZER)

A. TUJUAN PERCOBAAN

1) Mengetahui cara mengatur port yang akan digunakan sebagai input dan

output.

2) Mengetahui fungsi dan cara kerja if else

3) Menganalisa program Bell (Pushbutton dan Buzzer).

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

Pada mikrokontroler terdapat pin-pin yang berfungsi sebagai input atau

output, Pin-pin pada mikrikontoler biasanya mempunyai fungsi/kegunaan khusus

namun pin tersebut harus diaktifkan terlebih dahulu, jika tidak diaktifkan pin-pin

tersebut hanya akan berfugsi sebagai input atau output digital, itupun hanya biner

(bernilai 1 atau 0).

Statement if adalah salah satu statement yang digunakan untuk

penyeleksian kondisi. Statement ini merupakan statement percabangan paling

dasar, jika suatu terpenuhi alias bernilai true maka akan menjalankan tertentu.

Dan jika tidak maka tersebut tidak akan dijalankan.

Page 15: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

7

Gambar 2.2 Blok Diagram If

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW.

• Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka

isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang

terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah

Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW

(pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

Page 16: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

8

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip.

2) Di jendela Configuration pilih GPIOB.

3) Di bawahnya, klik pada Pin 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 15:

Mode Control: Input

Page 17: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

9

Digital Input: Enable

Input Signal Deb: Enable

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 4: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 5: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 6: Pemrograman

LISTING PROGRAM

#include "DrvGPIO.h"

#include "DrvSYS.h"

void Init();

int main(void)

{

Init();

while(1)

{

if(DrvGPIO_GetBit(E_GPB,15)==0)

{

DrvGPIO_ClrBit(E_GPB,11);

Page 18: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

10

}

else

{

DrvGPIO_SetBit(E_GPB,11);

}

}

}

Langkah ke 6: Build dan Download program

3) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan

Build Successful, tidak ada error.

4) Klik icon Download Code to Flash di toolbar untuk memasukkan program

ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Sebutkan dan jelaskan port apa saja yang digunakan dan mengapa port

tersebut digunakan.

2) Jelakan fungsi dari if else pada program diatas dan mengapa perintah tersebut

digunakan.

3) Jelaskan secara singkat bagaimana program diatas bekerja.

F. BLANGKO PERCOBAAN

Tabel 2.1 Praktikum 2

No Percobaan Keterangan

1 Tekan tombol push button.

2

Fungsi if dihilangkan lalu build

dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

3

Fungsi else dihilangkan lalu build

dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

Page 19: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

11

4

Fungsi if dan else dihilangkan

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

5

Angka 15 pada listing program

DrvGPIO_GetBit(E_GPB,15)

diganti menjadi 14 lalu build dan

download kemudian operasikan

modul. Lakukan juga dengan

angka 16. Jika sudah kembalikan

seperti semula.

6

Angka 11 pada listing program

DrvGPIO_ClrBit(E_GPB,11);

dan

DrvGPIO_SetBit(E_GPB,11);

diganti menjadi 10 lalu build dan

download kemudian operasikan

modul. Lakukan juga dengan

angka 12. Jika sudah kembalika

seperti semula.

7

Masukkan listing program

DrvGPIO_ClrBit(E_GPC,14);

didalam fungsi else lalu build dan

download kemudian operasikan

modul.

Page 20: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

12

PRAKTIKUM 3

KEY TONE

A. TUJUAN PERCOBAAN

1) Memahami cara kerja keypad matrix.

2) Dapat memprogram keypad matrix.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic

LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi

terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu

variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1

s/d 9 jika ada yang ditekan.

Page 21: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

13

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

5) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

6) Klik tombol New Chip di tengah layar.

7) Pilih Nuvoton, lalu pilih NUC140VE3CN

8) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Keypad

1) Contreng GPIOA pada gambar chip.

2) Di jendela Configuration pilih GPIOA.

3) Di bawahnya, klik pada Pin 0 s/d 5 agar Enable.

Page 22: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

14

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 4: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 5: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 6: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk keypad kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browseke

C:\Nuvoton\BSPLibrary\NUC100SeriesBSP\NuvPlatform_Keil

\Include\NUC1xx-LB_002

Pilih file ScanKey.h

Page 23: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

15

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 ScanKey.c

LISTING PROGRAM:

#include "DrvGPIO.h" #include "DrvSYS.h"

#include "ScanKey.h" int key; void Init(); int main(void) { Init(); while(1) { key=Scankey(); if(key!=0) { DrvGPIO_ClrBit(E_GPB,11); } else { DrvGPIO_SetBit(E_GPB,11); } } }

Langkah ke 7: Build dan Download program

5) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan

Build Successful, tidak ada error.

6) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke

chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Gambarkan rangkaian Keypad matrix !

2) Buat dan tuliskan program keypad matrix dengan output LED !

Page 24: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

16

F. BLANGKO PERCOBAAN

Tabel 3.1 Praktikum 3

No Percobaan Keterangan

1 Tekan satu persatu kesembilan

tombol tombol keypad matrik.

2 Tekan tombol push button.

3

Listing program #include

“ScanKey.h” dihilangkan lalu

build dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

4

Masukkan listing program

DrvGPIO_ClrBit(E_GPC,13);

didalam fungsi if dan

DrvGPIO_SetBit(E_GPC,13);

didalam fungsi else lalu build dan

download kemudian operasikan

modul.

5

Fungsi while dihilangkan lalu

build dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

6

Letak listing program

DrvGPIO_ClrBit(E_GPB,11);

dan

DrvGPIO_SetBit(E_GPB,11);

ditukar lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

Page 25: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

17

PRAKTIKUM 4

COUNTER UP (7 SEGMENT)

A. TUJUAN PERCOBAAN

1) Mengetahui apa itu Identifier (Pengenal) pada pemrograman.

2) Mengetahui cara kerja 7-segment pada modul.

3) Menganalisa program COUNTER UP (7 SEGMENT)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW.

• Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka

isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang

terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah

Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW

(pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

7-segment display di Learning Board menggunakan metode scanning.

Untuk memunculkan angka di salah satu 7-segment maka berikan data selagi

Page 26: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

18

salah satu 7-segment yang dituju diaktifkan, sementara 7-segment lain tidak

diaktifkan.

• Untuk menonaktifkan semua 7-segment bisa menggunakan perintah berikut:

close_seven_segment();

• Untuk mengaktifkan dan memberi data salah satu 7-segment, gunakan

perintah berikut:

show_seven_segment(Nomor_7segment,Data_angka);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “Seven_Segment.h“

Keterangan: Nomor_7segment diisi dengan nomor urut 0-3, dihitung dari

paling kanan. Data_angka diisi dengan angka 0-9.

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN

Page 27: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

19

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2a: Set Pin 7-Segment Data

1) Contreng GPIOE pada gambar chip.

2) Di jendela Configuration pilih GPIOE

3) Di bawahnya, klik pada Pin 0 s/d 7 agar Enable.

4) Scroll ke bawah, atur Pin Config 0 s/d 7:

Mode Control: Output

Langkah ke 2b: Set Pin 7-Segment Select

1) Di jendela Configuration pilih GPIOC.

2) Di bawahnya, klik pada Pin 4 s/d 7 agar Enable.

3) Scroll ke bawah, atur Pin Config 4 s/d 7:

Mode Control: Output

Langkah ke 3: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip.

2) Di jendela Configuration pilih GPIOB.

3) Di bawahnya, klik pada Pin 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 15:

Mode Control: Input

Digital Input: Enable

Input Signal Deb: Enable

Langkah ke 4: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

Page 28: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

20

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk 7-segment kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke

C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include

\NUC1xx-LB_002

Pilih file Seven_Segment.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

Page 29: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

21

Pilih file Seven_Segment.c

LISTING PROGRAM:

#include "DrvGPIO.h" #include "DrvSYS.h" #include "Seven_Segment.h" int nilai=0; void Init(); int main(void) { Init(); close_seven_segment(); show_seven_segment(0,nilai); while(1) { DrvGPIO_SetBit(E_GPB,11); if(DrvGPIO_GetBit(E_GPB,15)==0) { DrvGPIO_ClrBit(E_GPB,11); nilai=nilai+1; close_seven_segment(); show_seven_segment(0,nilai); DrvSYS_Delay(1000000); } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan

Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke

chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Apa yang dimaksud Identifier (Pengenal) dan fungsinga?

2) Jelaskan bagaimana cara kerja dari 7segment pada modul ini?

3) Jelaskan bagaimana program COUNTER UP (7 SEGMENT) ini bekerja

F. BLANGKO PERCOBAAN

Tabel 4.1 Praktikum 4

No Percobaan Keterangan

1 Tekan tombol push button

Page 30: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

22

sebanyak 10 kali.

2

Listing program #include

“Seven_Segment.h” dihilangkan

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

3

Identifier (Pengenal) pada listing

program int nilai=0; diubah

menjadi int hasil=0; lalu build

dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

4

Identifier (Pengenal) pada listing

program int nilai=0; diubah

menjadi int nilai=7; lalu build dan

download kemudian operasikan

modul. Jika sudah kembalikan

seperti semula.

5

Listing program nilai = nilai + 1;

diubah menjadi nilai = nilai + 2;

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

6

Listing program int nilai=0;

diubah menjadi int nilai=9; dan

listing program nilai=nilai-1; lalu

build dan download kemudian

operasikan modul. Jika sudah

kembalikan seperti semula.

PRAKTIKUM 5

Page 31: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

23

NUMBER KEY (7 SEGMENT)

A. TUJUAN PERCOBAAN

1) Mengetahui fungsi dan macam-macam tipe data pada pemrograman C.

2) Mengetahui cara menampilkan data yang ada pada keypad matrix ke 7-

segment

3) Menganalisa program NUMBER KEY (7 SEGMENT)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

7-segment display di Learning Board menggunakan metode scanning.

Untuk memunculkan angka di salah satu 7-segment maka berikan data selagi

salah satu 7-segment yang dituju diaktifkan, sementara 7-segment lain tidak

diaktifkan.

• Untuk menonaktifkan semua 7-segment bisa menggunakan perintah berikut:

close_seven_segment();

• Untuk mengaktifkan dan memberi data salah satu 7-segment, gunakan

perintah berikut:

show_seven_segment(Nomor_7segment,Data_angka);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “Seven_Segment.h“

Keterangan: Nomor_7segment diisi dengan nomor urut 0-3, dihitung dari

paling kanan. Data_angka diisi dengan angka 0-9.

Page 32: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

24

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic

LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi

terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu

variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1

s/d 9 jika ada yang ditekan.

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Page 33: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

25

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2a: Set Pin 7-Segment Data

1) Contreng GPIOE pada gambar chip.

2) Di jendela Configuration pilih GPIOE

3) Di bawahnya, klik pada Pin 0 s/d 7 agar Enable.

4) Scroll ke bawah, atur Pin Config 0 s/d 7:

Mode Control: Output

Langkah ke 2b: Set Pin 7-Segment Select

1) Di jendela Configuration pilih GPIOC.

2) Di bawahnya, klik pada Pin 4 s/d 7 agar Enable.

3) Scroll ke bawah, atur Pin Config 4 s/d 7:

Mode Control: Output

Langkah ke 3: Set Pin Keypad

1) Contreng GPIOA pada gambar chip.

2) Di jendela Configuration pilih GPIOA.

3) Di bawahnya, klik pada Pin 0 s/d 5 agar Enable.

Langkah ke 4: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Page 34: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

26

Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk 7-segment kita bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke

C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include

\NUC1xx-LB_002

Pilih file Seven_Segment.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

Page 35: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

27

LISTING PROGRAM:

#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); } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program.

Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program

ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Gambarkan gambar data sheet rangkaian 7-segment !

2) Buat dan tuliskan, agar ke empat 7-segment pada modul NUVOTON Nu-LB-

NUC140 V2.0

F. BLANGKO PERCOBAAN

Tabel 5.1 Praktikum 5

No Percobaan Keterangan

1 Tekan satu persatu kesembilan

Page 36: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

28

keypad matrix.

2 Tekan tombol push button.

3 Tekan tombol reset.

4

Listing program int key;

dihilangkan lalu build dan

download kemudian operasikan

modul. Jika sudah kembalikan

seperti semula.

5

Pada listing program

key=Scankey(); diubah menjadi

key=Scankey()+7; lalu build dan

download kemudian operasikan

modul. Jika sudah kembalikan

seperti semula.

6

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.

7

Tipe data pada listing program int

key; diubah menjadi float key;

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

Page 37: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

29

PRAKTIKUM 6

NUMBER KEY (LCD)

A. TUJUAN PERCOBAAN

1) Mengetahui cara menampilkan karakter pada LCD.

2) Mengetahui cara menampilkan data yang ada pada keypad matrix ke LCD.

3) Menganalisa program NUMBER KEY (LCD)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

Keypad matrix di Learning Board menggunakan metode scanning. Proses

scanning dengan cara membaca logic di Row, ketika Column diberikan logic

LOW.

Jika tombol ditekan maka Column dan Row yang bersesuaian menjadi

terhubung, sehingga Row ikut menjadi LOW

• Untuk membaca penekanan keypad, bisa menggunakan perintah berikut:

Scankey();

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “ScanKey.h“

• Untuk menampung hasil pembacaan keypad, ada baiknya membuat suatu

variabel, misal bernama Key bertipe data integer:

int key;

Hasil pembacaan adalah 0 jika tidak ada yang ditekan, atau berupa angka 1

s/d 9 jika ada yang ditekan.

Page 38: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

30

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW,

yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar

huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

clr_all_pannal();

Page 39: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

31

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Keypad

1) Contreng GPIOA pada gambar chip.

2) Di jendela Configuration pilih GPIOA.

3) Di bawahnya, klik pada Pin 0 s/d 5 agar Enable.

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 4a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke

LCD Matrix.

Langkah ke 4b: Set Pin Backlight

1) Contreng GPIOD pada gambar chip.

2) Di jendela Configuration pilih GPIOD.

3) Di bawahnya, klik pada Pin 14 agar Enable.

4) Scroll ke bawah, atur Pin Config 14:

Mode Control: Output

Page 40: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

32

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk keypad kita bisa coba pakai library dari BSP.

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 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 ScanKey.c

Page 41: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

33

Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke

C:\Nuvoton \BSP Library \NUC100SeriesBSP \NuvPlatform_Keil \Include

\NUC1xx-LB_002

Pilih file LCD_Driver.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 LCD_Driver.c

Langkah 3:

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 Ascii_Table.c

LISTING PROGRAM:

#include "DrvGPIO.h" #include "DrvSYS.h" #include "LCD_Driver.h" int key; void Init(); int main(void) { Init(); Initial_pannel(); DrvGPIO_ClrBit(E_GPD,14); clr_all_pannal(); print_lcd(0,"0"); while(1) { key=Scankey(); if(key!=0) { Show_Word(0,0,key+'0'); DrvGPIO_ClrBit(E_GPB,11); } else { DrvGPIO_SetBit(E_GPB,11); }

Page 42: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

34

} }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program.

Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program

ke chip. Pastikan Done, tidak ada error.

E. PERTANYAAN DAN TUGAS

1) Jelaskan bagaimana cara menampilkan karakter pada LCD?

2) Buatlah listing program agar menampilkan “dasar mikro” pada LCD dan

jelaskan bagaimana program tersebut bekerja?

3) Jelaskan bagaimana program COUNTER UP (7 SEGMENT) ini bekerja?

F. BLANGKO PERCOBAAN

Tabel 6.1 Praktikum 6

No Percobaan Keterangan

1 Tekan satu persatu kesembilan

tombol keypad matrix

2 Tekan tombol reset.

3

Listing program #include

“LCD_Driver.h” dihilangkan lalu

build dan download. Jika sudah

kembalikan seperti semula.

4

Listing program print_lcd(0,”0”);

diubah menjadi print_lcd(0,”7”);

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

Page 43: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

35

5

Listing program print_lcd(0,”0”);

diubah menjadi print_lcd(1,”0”);

lalu build dan download

kemudian operasikan modul. Jika

sudah kembalikan seperti semula.

6

Pada listing program

Show_Word(0,0,key+’0’); diubah

menjadi

Show_Word(0,0,key+’1’); lalu

build dan download kemudia

operasikan modul. Jika sudah

kembalikan seperti semula.

7

Pada listing program

Show_Word(0,0,key+’0’); diubah

menjadi

Show_Word(1,2,key+’0’); lalu

build dan download kemudia

operasikan modul. Jika sudah

kembalikan seperti semula.

Page 44: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

36

PRAKTIKUM 7

COUNTER UP (LCD)

A. TUJUAN PERCOBAAN

1) Mengetahui cara menggunakan fungsi aritmatika pada pemrograman C.

2) Mengetahui cara kerja if bersarang.

3) Menganalisa program COUNTER UP (LCD)

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW.

• Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka

isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang

terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah

Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW

(pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

Page 45: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

37

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW,

yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar

huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

clr_all_pannal();

Page 46: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

38

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip.

2) Di jendela Configuration pilih GPIOB.

3) Di bawahnya, klik pada Pin 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 15:

Mode Control: Input

Digital Input: Enable

Input Signal Deb: Enable

Langkah ke 3: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 4a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke

LCD Matrix.

Langkah ke 4b: Set Pin Backlight

1) Contreng GPIOD pada gambar chip.

Page 47: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

39

2) Di jendela Configuration pilih GPIOD.

3) Di bawahnya, klik pada Pin 14 agar Enable.

4) Scroll ke bawah, atur Pin Config 14:

Mode Control: Output

Langkah ke 5: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 6: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Langkah ke 7: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke

C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include

\NUC1xx-LB_002

Pilih file LCD_Driver.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

Page 48: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

40

Pilih file LCD_Driver.c

Langkah 3:

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 Ascii_Table.c

LISTING PROGRAM:

#include "DrvGPIO.h" #include "DrvSYS.h" #include "LCD_Driver.h" int nilai=0,a=0; void Init(); int main(void) { Init(); Initial_pannel(); DrvGPIO_ClrBit(E_GPD,14); clr_all_pannal(); print_lcd(0,"0"); while(1) { if(DrvGPIO_GetBit(E_GPB,15)==0) { if(a==0) { DrvGPIO_ClrBit(E_GPB,11); nilai=nilai+1; Show_Word(0,0,nilai%10+'0'); a=1; } } if(DrvGPIO_GetBit(E_GPB,15)==1) { DrvGPIO_SetBit(E_GPB,11); DrvSYS_Delay(10000); a=0; } } }

Langkah ke 8: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program.

Pastikan Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program

ke chip. Pastikan Done, tidak ada error.

Page 49: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

41

E. PERTANYAAN DAN TUGAS

1) Apa saja fungsi aritmatika yang dapat digunakan pada pemrograman C?

2) Tuliskan contoh listing program masing-masing fungsi aritmatika dan

menampilkan hasilnya di LCD?

3) Jelaskan bagaimana program COUNTER UP (LCD) ini bekerja?

Page 50: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

42

PRAKTIKUM 8

WATER LEVEL

A. TUJUAN PERCOBAAN

1) Menganalisa program WATER LEVEL.

B. ALAT YANG DIGUNAKAN

1) 1 Unit komputer

2) Software CoSmart

3) Software CoIDE

4) 1 Unit modul NUVOTON Nu-LB-NUC140 V2.0

5) Kabel mini USB

C. DASAR TEORI

LED pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu menyala jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena LED dihubungkan ke PORT C maka isi dengan E_GPC.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

empat buah LED sudah dihubungkan ke pin 12 s/d 15.

Page 51: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

43

Pushbutton switch pada rangkaian hardware adalah digital input yang

bersifat ACTIVE LOW, yaitu jika ditekan memberikan logika LOW.

• Untuk mengambil nilai logika input digital gunakan perintah berikut:

DrvGPIO_GetBit(Nama_port, Nomor_pin);

Keterangan: Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD /

E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT B maka

isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler di PORT yang

terhubung Pushbutton switch yang ingin dimainkan. Dalam hal ini empat buah

Pushbutton switch sudah dihubungkan ke pin 15.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW

(pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

BUZZER pada rangkaian hardware adalah digital output yang bersifat

ACTIVE LOW, yaitu berbunyi jika diberi logika LOW, dan mati jika diberikan

logika HIGH.

• Untuk memberikan logika HIGH gunakan perintah berikut:

DrvGPIO_SetBit(Nama_port, Nomor_pin);

• Untuk memberikan logika LOW gunakan perintah berikut:

DrvGPIO_ClrBit(Nama_port, Nomor_pin);

• Untuk membuat delay bisa menggunakan perintah berikut:

DrvSys_Delay(Lama_delay_dalam_cycle);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvGPIO.h“

#include “DrvSYS.h”

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal

ini karena BUZZER dihubungkan ke PORT B maka isi dengan E_GPB.

Nomor_pin diisi dengan angka pin kaki mikrokontroler. Dalam hal ini

BUZZER dihubungkan ke pin 11.

Page 52: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

44

LCD Matrix Display pada rangkaian hardware dikontrol secara SPI, dan

memiliki pin kontrol backlight di port D pin 14 yang bersifat ACTIVE LOW,

yaitu menyala jika diberi logika LOW, dan mati jika diberikan logika HIGH.

• Untuk menulis karakter di LCD, bisa menggunakan perintah berikut:

print_lcd(Nomor_baris,Tulisan);

Show_Word(Nomor_baris,Nomor_kolom,Huruf);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “LCD_Driver.h“

• Driver LCD_Driver membutuhkan file Ascii_Table.c untuk menggambar

huruf.

• Saat init pertama kali, perlu dipanggil perintah berikut:

Initialize_pannel();

• Untuk membersihkan display, bisa menggunakan perintah berikut:

clr_all_pannal();

Keterangan: Nomor_baris diisi angka 0-3, dihitung dari paling atas.

Nomor_kolom diisi angka 0-15, dihitung dari paling kiri.

Variabel Resistor pada rangkaian hardware yang memberikan masukan

sinyal analog. ARM NUC140 memiliki 8 channel pengkonversi sinyal analog ke

nilai digital (ADC) dengan ketelitian 12 bit, yang dapat membaca level sinyal

analog menjadi angka dalam range 0-4095. Clock ADC dapat menggunakan

internal 22MHz dengan divisor 2.

• Untuk membaca sinyal analog, bisa menggunakan perintah berikut:

DrvADC_StartConvert();

DrvADC_GetConversionData(Nomor_channel);

• Untuk bisa menggunakan perintah di atas, perlu memasukkan library

#include “DrvADC.h“

• Untuk menampung hasil pembacaan ADC, ada baiknya membuat suatu

variabel, misal bernama adc bertipe data integer.

Page 53: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

45

Keterangan: Nomor_channel diisi angka 0-7, sesuai dengan pin tempat

sinyal analog terhubung. Dalam hal ini, Variabel Resistor ada di channel 7.

D. PROSEDUR PERCOBAAN

Langkah ke 1: Pilih Chip

1) Panggil aplikasi CooCox Software > CoSmart dari Start Menu untuk

membantu konfigurasi pin.

2) Klik tombol New Chip di tengah layar.

3) Pilih Nuvoton, lalu pilih NUC140VE3CN

4) Akan muncul gambar chip NUC140VE3CN, dengan semua peripheralnya.

Langkah ke 2: Set Pin LED

1) Contreng GPIOC pada gambar chip.

2) Di jendela Configuration pilih GPIOC.

3) Di bawahnya, klik pada Pin 12 s/d 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 12 s/d 15:

Mode Control: Output

Langkah ke 3: Set Pin Pushbutton

1) Contreng GPIOB pada gambar chip.

2) Di jendela Configuration pilih GPIOB.

3) Di bawahnya, klik pada Pin 15 agar Enable.

4) Scroll ke bawah, atur Pin Config 15:

Mode Control: Input

Digital Input: Enable

Input Signal Deb: Enable

Langkah ke 4: Set Pin VR

1) Contreng ADC pada gambar chip.

2) Di jendela Configuration pilih ADC.

3) Klik pada Channel 7 agar Enable.

4) Scroll ke atas, klik pada Clock Source, pilih INTERNAL 22M.

Page 54: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

46

5) Klik pada Clock Divisor, isi dengan angka 2.

Langkah ke 5: Set Pin Buzzer

1) Di jendela Configuration pilih GPIOB.

2) Di bawahnya, klik pada Pin 11 agar Enable.

3) Scroll ke bawah, atur Pin Config 11:

Mode Control: Output

Langkah ke 6a: Set Pin LCD Matrix

1) Contreng SPI3 pada gambar chip untuk mengaktifkan fitur komunikasi SPI ke

LCD Matrix.

Langkah ke 6b: Set Pin Backlight

1) Contreng GPIOD pada gambar chip.

2) Di jendela Configuration pilih GPIOD.

3) Di bawahnya, klik pada Pin 14 agar Enable.

4) Scroll ke bawah, atur Pin Config 14:

Mode Control: Output

Langkah ke 7: Generate Project

1) Simpan konfigurasi dengan klik Project > Save lalu pilih folder dan ketikkan

nama file, misal konfigurasi01.

2) Lalu klik Generate > Generate CoIDE Project lalu pilih folder dan ketikkan

nama project, misal praktikum01.

3) CoSmart akan membuatkan file project dan membukanya otomatis di

Windows Explorer.

Langkah ke 8: Buka Project

1) Klik dua kali file praktikum01 untuk membuka project dengan CoIDE.

2) Terlihat bahwa file project sudah disiapkan, klik dua kali pada main.c untuk

mulai memprogram.

Page 55: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

47

Lnagkah ke 9: Pemrograman

Nuvoton telah menyediakan Board Support Package (yang sudah di-instal)

yang berisi banyak library yang dapat mempermudah kita memprogram object-

object di Learning Board.

Untuk LCD Matrix Display bisa coba pakai library dari BSP.

Langkah 1:

Klik kanan di cmsis_lib\Include \Driver, lalu pilih Add Files. Browse ke

C:\Nuvoton \BSP Library \NUC100SeriesBSP\NuvPlatform_Keil \Include

\NUC1xx-LB_002

Pilih file LCD_Driver.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 LCD_Driver.c

Langkah 3:

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 Ascii_Table.c

LISTING PROGRAM

#include "DrvGPIO.h"

#include "DrvSYS.h"

#include "LCD_Driver.h"

#include "DrvADC.h"

int adc,a=0;

void Init();

int main(void)

{

Init();

Initial_pannel();

DrvGPIO_ClrBit(E_GPD,14);

Page 56: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

48

clr_all_pannal();

while(a==0)

{

print_lcd(0,"NUVOTON");

print_lcd(1,"DASAR MIKRO");

print_lcd(2,"TEKAN PUSH BTN");

print_lcd(3,"UNTUK MELANJUTKN");

if(DrvGPIO_GetBit(E_GPB,15)==0)

{

a=1;

clr_all_pannal();

}

}

while(a==1)

{

if(DrvGPIO_GetBit(E_GPB,15)==1)

{

print_lcd(0,"ADC=");

DrvADC_StartConvert();

adc=DrvADC_GetConversionData(7);

Show_Word(0,5,adc/1000+'0');

Show_Word(0,6,adc%1000/100+'0');

Show_Word(0,7,adc%100/10+'0');

Show_Word(0,8,adc%10+'0');

if(adc<=999)

{

DrvGPIO_SetBit(E_GPC,15);

DrvGPIO_SetBit(E_GPC,14);

DrvGPIO_SetBit(E_GPC,13);

DrvGPIO_SetBit(E_GPC,12);

DrvGPIO_ClrBit(E_GPB,11);

print_lcd(1,"LOW!!!");

}

if(adc>=1000)

{

if(adc<=1999)

{

DrvGPIO_ClrBit(E_GPC,15);

Page 57: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

49

DrvGPIO_SetBit(E_GPC,14);

DrvGPIO_SetBit(E_GPC,13);

DrvGPIO_SetBit(E_GPC,12);

DrvGPIO_SetBit(E_GPB,11);

print_lcd(1,"NORMAL");

}

}

if(adc>=2000)

{

if(adc<=2999)

{

DrvGPIO_ClrBit(E_GPC,15);

DrvGPIO_ClrBit(E_GPC,14);

DrvGPIO_SetBit(E_GPC,13);

DrvGPIO_SetBit(E_GPC,12);

DrvGPIO_SetBit(E_GPB,11);

print_lcd(1,"NORMAL");

}

}

if(adc>=3000)

{

if(adc<=3999)

{

DrvGPIO_ClrBit(E_GPC,15);

DrvGPIO_ClrBit(E_GPC,14);

DrvGPIO_ClrBit(E_GPC,13);

DrvGPIO_SetBit(E_GPC,12);

DrvGPIO_SetBit(E_GPB,11);

print_lcd(1,"NORMAL");

}

}

if(adc>=4000)

{

DrvGPIO_ClrBit(E_GPC,15);

DrvGPIO_ClrBit(E_GPC,14);

DrvGPIO_ClrBit(E_GPC,13);

DrvGPIO_ClrBit(E_GPC,12);

DrvGPIO_ClrBit(E_GPB,11);

Page 58: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

50

print_lcd(1,"HIGH!!");

}

}

}

}

Langkah ke 12: Build dan Download program

1) Klik icon Build (F7) di toolbar untuk melakukan compile program. Pastikan

Build Successful, tidak ada error.

2) Klik icon Download Code to Flash di toolbar untuk memasukkan program ke

chip. Pastikan Done, tidak ada error.

Page 59: MODUL PRAKTIKUM DASAR MIKROPROSESOR · PDF fileBatas jam yang diberikan dari jam 8.00 ... penulis ingin menyampaikan terima kasih yang besar- ... BUZZER pada rangkaian hardware adalah

51

FORM PENILAIAN

NAMA MAHASISWA ANGKA

JENIS PENILAIAN :

TES PENDAHULUAN (10%)

PRAKTIKUM (20%)

LAPORAN (45%)

TOTAL PENILAIAN