• Tidak ada hasil yang ditemukan

Cara Mudah Pemrograman Mikrokontroler ARM

N/A
N/A
Protected

Academic year: 2021

Membagikan "Cara Mudah Pemrograman Mikrokontroler ARM"

Copied!
39
0
0

Teks penuh

(1)

PEMROGRAMAN

PEMROGRAMAN

MIKROKONTROLER

MIKROKONTROLER

Tutorial, panduan step by step

Tutorial, panduan step by step

dan contoh pemrograman

dan contoh pemrograman

dengan:

dengan:

cara yang mudah

cara yang mudah

software yang free

software yang free

(2)

PENGENALAN

PENGENALAN

PEMROGRAMAN MIKROKONTR

PEMROGRAMAN MIKROKONTR

OLER

OLER

ARM

ARM

Revisi 1.0, Januari 2014. Revisi 1.0, Januari 2014.

Copyright © 2014 Lukman Rosyidi. Copyright © 2014 Lukman Rosyidi.

Ditulis oleh Lukman

Ditulis oleh Lukman Rosyidi.Rosyidi.

Didukung oleh Nuvoton Technology Corp., salah satu ARM partner. Didukung oleh Nuvoton Technology Corp., salah satu ARM partner.

Diterbitkan secara digital oleh Yayasan Prasimax Bina Teknologi, Depok. Diterbitkan secara digital oleh Yayasan Prasimax Bina Teknologi, Depok. Kontak: [email protected] | www.mikron123.com

Kontak: [email protected] | www.mikron123.com ARM® adalah trademark milik ARM Holding Limited.

ARM® adalah trademark milik ARM Holding Limited. NuMicro™ adalah trademark milik

NuMicro™ adalah trademark milik Nuvoton Technology Corporation.Nuvoton Technology Corporation. CooCox adalah trademark milik Embest Technology Co., Ltd.

CooCox adalah trademark milik Embest Technology Co., Ltd. Hak Cipta dilindungi undang-undang. Hak Cipta dilindungi undang-undang.

Dilarang mengambil atau memodifikasi sebagian atau keseluruhan dari karya ini Dilarang mengambil atau memodifikasi sebagian atau keseluruhan dari karya ini

dalam bentuk apapun tanpa seijin penulis dan penerbit. dalam bentuk apapun tanpa seijin penulis dan penerbit.

(3)

PENGENALAN

PENGENALAN

PEMROGRAMAN MIKROKONTR

PEMROGRAMAN MIKROKONTR

OLER

OLER

ARM

ARM

Revisi 1.0, Januari 2014. Revisi 1.0, Januari 2014.

Copyright © 2014 Lukman Rosyidi. Copyright © 2014 Lukman Rosyidi.

Ditulis oleh Lukman

Ditulis oleh Lukman Rosyidi.Rosyidi.

Didukung oleh Nuvoton Technology Corp., salah satu ARM partner. Didukung oleh Nuvoton Technology Corp., salah satu ARM partner.

Diterbitkan secara digital oleh Yayasan Prasimax Bina Teknologi, Depok. Diterbitkan secara digital oleh Yayasan Prasimax Bina Teknologi, Depok. Kontak: [email protected] | www.mikron123.com

Kontak: [email protected] | www.mikron123.com ARM® adalah trademark milik ARM Holding Limited.

ARM® adalah trademark milik ARM Holding Limited. NuMicro™ adalah trademark milik

NuMicro™ adalah trademark milik Nuvoton Technology Corporation.Nuvoton Technology Corporation. CooCox adalah trademark milik Embest Technology Co., Ltd.

CooCox adalah trademark milik Embest Technology Co., Ltd. Hak Cipta dilindungi undang-undang. Hak Cipta dilindungi undang-undang.

Dilarang mengambil atau memodifikasi sebagian atau keseluruhan dari karya ini Dilarang mengambil atau memodifikasi sebagian atau keseluruhan dari karya ini

(4)

DAFTAR ISI

DAFTAR ISI

PEMBAHASAN

HALAMAN

PEMBAHASAN

HALAMAN

1

1 APA

APA ITU

ITU MIKROKONTROLER

MIKROKONTROLER ARM

ARM ?

?

4

4

2

2 APA

APA KELEBIHAN

KELEBIHAN MIKROKONTROLER

MIKROKONTROLER ARM

ARM ?

?

5

5

3

3 HARDWARE

HARDWARE Y

YANG

ANG DIBUTUHK

DIBUTUHKAN

AN

6

6

4

4 CARA

CARA INST

INSTALASI

ALASI HARDWARE

HARDWARE

7

7

5

5 SOFT

SOFTWARE

WARE Y

YANG

ANG DIBUTUH

DIBUTUHKAN

KAN

9

9

6

6 CARA

CARA INST

INSTALASI

ALASI SOFT

SOFTWARE

WARE

10

10

7

7 MEMBUA

MEMBUAT

T FILE

FILE PROJECT

PROJECT

14

14

8

8 PEMROGRAMAN

PEMROGRAMAN LED

LED

20

20

9

9 PEMROGRAMAN

PEMROGRAMAN PUSHBU

PUSHBUTTON

TTON SWITCH

SWITCH

25

25

10

(5)

1. APA ITU MIKROKONTROLER ARM ?

Mikrokontroler adalah mikrokomputer kecil dalam satu chip, di dalamnya

berisi prosessor, memori dan peripheral I/O yang bisa diprogram.

Seri arsitektur ARM terbaru terdiri dari 3 lini kelas penggunaan yaitu:

1. ARM CORTEX A untuk prosesor aplikasi umum

2. ARM CORTEX R untuk prosesor real time

ARM adalah arsitektur prosesor 32 bit yang dibuat oleh ARM Holding

dan dilisensikan untuk diproduksi oleh berbagai vendor di dunia

termasuk AMD, Atmel, Freescale, Nuvoton, Nvidia, NXP, Samsung,

ST Micro, dan TI.

Prosesor ARM digunakan pada perangkat smartphone, tablet, dan

embedded system. Kini ARM menjadi arsitektur prosesor yang paling

banyak diproduksi di dunia.

(6)

2. APA KELEBIHAN MIKROKONTROLER ARM ?

MCU 8 bit ARM Cost

Performance

Power Consumption

Dengan harga yang relatif sama,

prosesor ARM memberikan

kinerja jauh lebih tinggi dengan

konsumsi daya yang rendah.

(7)

3. HARDWARE YANG DIBUTUHKAN

Board DT-ARM NUC 120

- NuMicro ARM Cortex M0 12 MHz - 8KB RAM

- 64KB memori program (APROM) - 4KB memori data (DataFlash)

- 45 pin General Purpose I/O (GPIO) - 8 channel ADC 12 bit

- 3 serial UART dg 1 USB & 1 RS485 - 3.3V & 5V compatible

(8)

4. CARA INSTALASI HARDWARE

Hubungkan

Smart LCD

16x2 ke

port 3 DT-ARM

NUC140 dengan kabel

IDC yang tersedia.

Langkah 1:

Hubungkan

I/O Logic

Tester

ke

port

2 DT-ARM NUC140 dengan

kabel IDC yang tersedia.

(9)

4. CARA INSTALASI HARDWARE

Langkah 2:

a. Pada board DT-ARM NUC120, pastikan posisi jumper J3 di 1-2, J4 di 1-2,

dan J5 di 2-3, agar board menggunakan jalur USB untuk catu daya.

b. Pastikan jumper J11 pada posisi 2-3 agar DT-ARM NUC120 Board dapat

diprogram melalui jalur USB. Sedangkan J12, J14 dan J15 bisa pada

posisi 1-2 untuk menggunakan PORT B sebagai port I/O.

c.

Hubungkan kabel USB antara PC/Laptop dengan DT-ARM NUC120

Board.

d. Jika pengaturan jumper sudah benar, maka LED Indikator Power pada

DT-ARM NUC120 Board akan menyala dan komputer secara otomatis

melakukan instalasi driver.

e. Setelah driver ter

-

install, PC/Laptop akan mengalokasikan sebuah

koneksi USB-HID (Human Inferface Device) untuk board DT-ARM

NUC120 yang dapat dicek di bagian Device Manager di PC/Laptop.

(10)

5. SOFTWARE YANG DIBUTUHKAN

Untuk development di lingkungan Windows XP/7:

1. Software Compiler:

GCC ARM

Download https://launchpad.net/gcc-arm-embedded

Software compiler ini free, tidak ada pembatasan kode atau fitur.

2. Software Editor:

CooCox CoIDE

Download http://www.CooCox.com

Software editor ini free, tanpa pembatasan waktu atau fitur.

3. Software Pin Configurator:

CooCox CoSmart

Download http://www.CooCox.com

Software configurator ini free, tanpa pembatasan waktu atau fitur.

4. Software Downloader:

NuMicro ISP Programming Tool

Download http://www.nuvoton.com

Software downloader ini free, disediakan oleh Nuvoton.

(11)

6. CARA INSTALASI SOFTWARE

Langkah 1:

Lakukan instalasi

Software Compiler

GCC ARM.

Perhatikan lokasi

path folder tempat

instalasi software.

(12)

6. CARA INSTALASI SOFTWARE

Langkah 2:

Lakukan instalasi Software Editor CoIDE.

Sesudah selesai, panggil software CoIDE, lakukan setting compiler yang

digunakan melalui menu

Project > Select Toolchain Path.

(13)

6. CARA INSTALASI SOFTWARE

Langkah 3:

Lakukan instalasi Software Pin Configurator CooCox CoSmart.

Sesudah selesai, panggil software CoSmart, lakukan setting compiler

yang digunakan melalui menu

Project > Config GCC Path.

Browse ke lokasi file

arm-none-eabi-gcc.exe

 di folder tempat instalasi

software GCC ARM pada sub folder bin lalu klik OK.

(14)

6. CARA INSTALASI SOFTWARE

Langkah 4:

Lakukan instalasi NuMicro ISP Programming Tools.

Panggil software Nuvoton >

NuMicro ISP Programming Tools dari Start Menu.

Pastikan DT-ARM NUC120 sudah terhubung ke PC/laptop melalui kabel USB dan LED powernya menyala.

Tekan tombol RESET di board DT-ARM NUC120 lalu tes koneksi dengan klik tombol Connect. Jika sudah benar maka status berubah menjadi Connected (hijau).

(15)

7. MEMBUAT FILE PROJECT

PORT 2: GPIO A PORT 3: GPIO B

PA.8 Button 0 PB.0 LCD RS PA.9 Button 1 PB.1 LCD RW PA.10 Button 2 PB.2 LCD EN PA.11 Button 3 PB.3 -PA.12 LED 4 PB.4 LCD D4 PA.13 LED 5 PB.5 LCD D5 PA.14 LED 6 PB.6 LCD D6 PA.15 LED 7 PB.7 LCD D7

Langkah 1: Ketahui Konfigurasi Pin

Koneksi yang terjadi sebagai berikut.

(16)

7. MEMBUAT FILE PROJECT

Langkah 2: Pilih Konfigurasi 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 NUC120RD2BN

4. Akan muncul gambar chip NUC120RD2BN, beri contreng pada GPIOA & GPIOB

(17)

7. MEMBUAT FILE PROJECT

Langkah 3a: Setting Pin

1. Di jendela Configuration, select GPIOA

2. Di bawahnya, klik pada Pin 8 s/d Pin 15 agar Enable

3. Scroll ke bawah, atur Pin Config

4. Pin 8 Config s/d Pin 11:  Mode Control: Input

 Digital Input: Enable

 Input Signal Debounce: Enable

5. Pin 12 Config s/d Pin 15:  Mode Control: Output

(18)

7. MEMBUAT FILE PROJECT

Langkah 3b: Setting Pin

1. Di jendela Configuration, select GPIOB

2. Di bawahnya, klik pada Pin 0 s/d Pin 7 agar

(19)

7. MEMBUAT FILE PROJECT

Langkah 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 latihan01

3. CoSmart akan

membuatkan file project dan membukanya

(20)

7. MEMBUAT FILE PROJECT

Langkah 5: Buka Project

Klik dua kali pada file project latihan01 di

Windows Explorer untuk membuka project dengan

CoIDE.

Terlihat bahwa file project sudah berisi susunan folder dan file dengan 2 program yaitu

Init.c dan main.c

Klik dua kali pada main.c untuk mulai

(21)

8. PEMROGRAMAN LED

LED pada rangkaian hardware adalah digital output yang bersifatACTIVE 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 bisa menggunakan 2 perintah di atas, perlu memasukkan library

#include "DrvGPIO.h" Keterangan:

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena LED dihubungkan ke PORT A maka isi denganE_GPA.

(22)

8. PEMROGRAMAN LED

Untuk

membuat

nyala LED

selang-seling

,

maka

tambahkan

baris program

sehingga

menjadi

seperti

gambar di

samping.

(23)

8. PEMROGRAMAN LED

Klik icon Build

di toolbar

untuk

melakukan

compile

program.

Pastikan Build

Successful,

tidak ada

error.

(24)

8. PEMROGRAMAN LED

Panggil aplikasi Nuvoton >

NuMicro ISP Programming Tool

dari Start Menu.

Tekan tombol RESET di board DT-ARM NUC120. Klik tombol

Connect jika diperlukan sehingga status menjadi Connected

(warna hijau).

Klik file tombol APROM lalu browse ke folder project

latihan01\Debug\bin dan pilih latihan01.bin

Klik tombol Start untuk memproses download ke

(25)

8. PEMROGRAMAN LED

Lihat hasilnya pada

hardware.

Dari kanan ke kiri.

LED 4 mati

LED 5 menyala.

LED 6 mati.

(26)

9. PEMROGRAMAN PUSHBUTTON SWITCH

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

• Untuk bisa menggunakan perintah di atas, tetap perlu library #include "DrvGPIO.h"

Keterangan:

Nama_port diisi E_GPA / E_GPB / E_GPC / E_GPD / E_GPE. Dalam hal ini karena Pushbutton switch dihubungkan ke PORT A maka isi denganE_GPA.

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 8 s/d 11.

Fungsi DrvGPIO_GetBit menghasilkan nilai 0 jika logika LOW (pushbutton ditekan), atau 1 jika logika HIGH (pushbutton tidak ditekan).

(27)

9. PUSHBUTTON SWITCH

Untuk

membuat

nyala LED 4

tergantung

penekanan

pushbutton 0,

ubah baris

program

sehingga

menjadi seperti

gambar di

samping.

(28)

9. PUSHBUTTON SWITCH

Lakukan Build dan

download program seperti

cara sebelumnya.

Lihat hasilnya di hardware.

LED 4 baru akan menyala

ketika pushbutton 0

(29)

10. PEMROGRAMAN LCD

Klik icon Repository pada toolbar. CoIDE sudah menyediakan banyak library komponen untuk membantu kita dalam membuat program.

(30)

10. PEMROGRAMAN LCD

Klik tab Drivers pada bagian bawah. CoIDE sudah menyediakan banyak library driver untuk membantu kita memprogram koneksi ke berbagai perangkat dan sensor.

(31)

10. PEMROGRAMAN LCD

Manfaatkan library driver untuk LCD teks 16x2. Klik bagian Alphanumeric, lalu beri tanda contreng pada driver Character LCD dengan

interface GPIO yang dibuat oleh CooCox.

(32)

10. PEMROGRAMAN LCD

Library driver LCD CooCox memerlukan komponen xCORE pada Peripherals.

Klik tab bagian Peripherals, lalu beri tanda

contreng pada xCORE.

(33)

10. PEMROGRAMAN LCD

Pada folder CoX_Driver sub LCD_Character yang sudah dibuatkan oleh CoIDE, klik ganda pada file

hd44780.h

Lalu pada sekitar baris 100, ubah definisi pin LCD agar sesuai dengan koneksi hardware yang ada, sehingga

(34)

10. PEMROGRAMAN LCD

Klik kembali ke isi tampilan

program main.c

Kita sudah bisa menambahkan kode program untuk

menggunakan LCD.

(35)

10. PEMROGRAMAN LCD

• Untuk mulai menggunakan LCD, lakukan inisialisasi dengan perintah berikut:

HD44780Init();

• Untuk membersihkan layar LCD, gunakan perintah berikut:

HD44780DisplayClear();

• Untuk pergi ke suatu baris dan kolom tertentu, gunakan perintah berikut:

HD44780LocationSet(x,y);

• Untuk membersihkan layar LCD, gunakan perintah berikut:

HD44780DisplayString(“tulisan”); Keterangan:

Nilai x diisi dengan nomor kolom LCD yang dituju (pilih 0 s/d 15 untuk LCD 16x2). Nilai y diisi dengan nomor baris LCD yang dituju (pilih 0 atau 1 untuk LCD 16x2).

(36)

Untuk menampilkan tulisan di LCD sebelum pengecekan tombol, tambah baris program sehingga menjadi seperti gambar di samping.

(37)

Lakukan Build dan

download program

seperti cara

sebelumnya.

Lihat hasilnya di

hardware.

LCD menampilkan

tulisan yang

diprogramkan.

(38)

Terima kasih telah mempelajari.

Silakan belajar lebih lanjut & berkreasi dengan Mikrokontroler ARM.

PRASIMAX MIKRON

Lab & Training Center

Jl. Margonda Raya No.494D Lantai 3 Depok 16424

(39)

PAKET CARA MUDAH BELAJAR MIKROKONTROLER ARM

Hardware: + Board ARM

+ Smart LCD 16x2 + I/O Logic Tester Ebook Pengenalan: + Instalasi + Pemrograman: - LED - Pushbutton - LCD Hardware: + Keypad 4x4 + Analog Sensor Ebook Basic: + Dasar Bahasa C + Pemrograman: - Keypad - ADC - Data flash Hardware: + Modul RTC Ebook Intermediate: + Pemrograman: - Komunikasi Serial - Komunikasi USB - Timer & Counter - RTC Hardware: + Modul SD Card Ebook Advance: + Standar CMSIS + Pemrograman: - SD card - Custom Library - Real Time O/S MikroARM Starter Pack MikroARM Basic Extension Pack MikroARM Intermediate Extension Pack MikroARM Advance Extension Pack

Referensi

Dokumen terkait