PTM19 Kelompok17 Modul3 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

BAB IV Sistem Interupsi pada Nuvoton NUC140 4.1. Tujuan 1. Praktikan dapat mengetahui Sistem Interupsi pada NUC140 2. Praktikan dapat memahami jenis Interupsi berdasarkan modul yang ada 3. Praktikan mengetahui letak komponen-komponen dan Pinout Komponen pada ARM Nuvoton NUC140 beserta penggunaannya pada Sistem interupsi 4. Praktikan mampu memprogram aplikasi sederhana yang melibatkan Interupsi pada Nuvoton NUC140 5. Praktikan mengetahui manfaat Interupsi pada Aplikasi yang dibangun



4.2. Alat dan Bahan Praktikum 4.2.1. ARM Nuvoton NUC140



Gambar 4. 1 ARM Nuvoton NUC140



NUC140 Series adalah ARM Cortex Mikrokontroler dengan M0 Core did alamnya yang cocok digunakan untuk kontrol industri dan aplikasi yang membutuhkan fungsi komunikasi khusus. Cortex M0 adalah prosesor ARM terbaru dengan kinerja 32 bit dengan biaya setara dengan mikrokontroler 8 bit. ARM Nuvoton NUC140 adalah sebuah board dengan arsitekrut ARM yang digunakan sebagai alat utama dalam pratikum ini. (Sumber: Modul 1 Pengenalan Nuvoton NUC140 dan Software Pengembang Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.2.2. LCD Dot Matrix 128 x 64



Gambar 4. 2 LCD Dot Matrix 128 x 64



Modul LCD grafis ini terdiri dari driver baris dan driver kolom, dapat menampilkan 128 (kolom) x 64 (baris) dot matrix. Grafik dapat diselesaikan, juga dapat menampilkan 8 x 4 (16 x 16 dot matrix) karakter. Tujuh perintah kontrol dan antarmuka CPU menggunakan 8 bit data bus input mode output.



Fungsinya menampilkan output dari program yang dibuat di IDE. LCD ini terpasang (integrasi) langsung di board Nuvoton. (Sumber: http://id.panasystech.com/monochrome-lcd/monochrome-cog-cog-lcd/128x64-5v-dotmatrix-cog-graphic-lcd-module.html)



4.2.3. Keypad 3 X 3



Gambar 4. 3 Keypad 3 x 3



Komponen masukan yang berfungsi untuk memberikan trigger ke board Nuvoton menggunakan representasi angka. (Sumber: Laporan Praktikum Modul 2 Teknik Mikroprosesor 2019)



4.2.4. Push Button



Gambar 4. 4 Push Button



Digunakan sebagai masukan dari suatu rangkaian. Apabila ditekan, akan mengubah keadaan yang sudah diatur, dan apabila dilepas akan kembali ke keadaan awal. (Sumber: Laporan Praktikum Modul 1 Teknik Interface dan Peripheral 2019)



4.2.5. LED



Gambar 4. 5 LED



LED merupakan suatu semikonduktor yang memancarkan cahaya monokromatik yang tidak koheren ketika diberi tegangan maju. LED Digunakan untuk sebagai indikator suatu logika maupun keluar dalam praktikum ini. (Sumber: https://id.wikipedia.org/wiki/Diode_pancaran_cahaya)



4.2.6. LED RGB



Gambar 4. 6 LED RGB



Merupakan komponen keluaran berupa LED yang memiliki 3 warna yaitu Merah, Hijau dan Biru. Pin yang digunakan untuk LED RGB adalah GPIOC 12-14. (Sumber: https://nuc140lb.wordpress.com/2015/12/23/nuc140-learning-board-nuc140lb/)



4.2.7. Coocox CoIDE



Gambar 4. 7 Coocox CoIDE



Coocox CoIDE adalah Perangkat Lunak yang terintegrasi untuk pengembangan perangkat keras yang berfokus pada ARM Cortex-M0/M0+/M3/M4 berbasis Mikrokontroller Coocox CoIDE digunakan untuk mengkonfigurasi pin yang digunakan pada ARM Nuvoton. (Sumber : www.coocox.org) 4.2.8. Coocox CoSmart



Gambar 4. 8 Coocox CoSmart



Coocox CoSmart digunakan untuk melakukan integrasi ARM Nuvoton dengan code yang ada dibuat. Aplikasi ini digunakan untuk memilih board beserta pin-pin yang digunakan dalam praktikum. (Sumber: Modul 1 Pengenalan Nuvoton NUC140 dan Software Pengembang Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.2.9. Laptop



Gambar 4. 9 Laptop



Laptop atau komputer jinjing adalah komputer bergerak yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1–6 kg, tergantung pada ukuran, bahan, dan spesifikasi laptop tersebut. Laptop digunakan untuk memasang Coocox CoIDE dan berfungsi sebagai pengembangan ARM Nuvoton NUC140 pada praktikum ini. (Sumber: https://id.wikipedia.org/wiki/Laptop)



4.3. Dasar Teori 4.3.1. ARM Nuvoton NUC 140 NUC140 Series adalah ARM Cortex Mikrokontroler dengan M0 Core di dalamnya yang cocok digunakan untuk kontrol industri dan aplikasi yang membutuhkan fungsi komunikasi khusus. Cortex M0 adalah prosesor ARM terbaru dengan kinerja 32 bit dengan biaya setara dengan mikrokontroler 8 bit. NuMicro Seri NUC1xx memiliki inti ARM Cortex M0 yang tertanam dengan kecepatan hingga 50 MHz, dilengkapi dengan memori flash untuk program 32KB/64KB/128KB, SRAM sebesar 4KB/8KB/16KB dan Memori Flash Loader untuk ISP (In System Programming) sebesar 4KB. Selain itu juga dilengkapi dengan berbagai macam periferal, seperti GPIO, Timer, Watchdog Timer, RTC, PDMA, UART, SPI/MICROWIRE, I2C, I2S, PWM, LIN, CAN, PS2, USB 2.0 FS Device, ADC 12 bit, Komparator Analog, Low Voltage Reset, dan Brown Out Detector. Bagan di bawah ini menunjukkan diagram blok dari NuMicro NUC140.



Gambar 4. 10 Blok Diagram Nuvoton NUC140



Berikut ini adalah Gambar dari Learning Board Nuvoton NUC140 disertai dengan keterangan letak dari Komponennya beserta Pinout dari Komponennya :



Gambar 4. 11 Layout Learning Board Nuvoton NUC140 Tabel 4. 1 Komponen beserta Pin pada Nuvoton NUC140



Blok ICE Bridge Nu-Link



UART Push Button



CAN



WAU8822 Codec



LIN



Pin ICE_CLK ICE_DATA



Fungsi Antarmuka SWD



GPB 0



Rx UART0



GPB 1



Tx UART0



GPB 15



INT0



GPD 6



Rx CAN0



GPD 7



Tx CAN0



GPB 12-13



CAN Transceiver Speed



GPC 0



I2SLRCLK



GPC 1



I2SBCLK



GPC 2



I2SDI



GPC 3



I2SDO



GPA 15



I2SMCLK



GPA 8



I2C0 SDA



GPA 9



I2C0 SCL



GPE 14



Line Out Ena / Dis



GPE 15



Line In Ena / Dis



GPB 4



Rx UART1



GPB 5



Tx UART1



GPB 6



LIN Transceiver Wakeup



GPB 7



LIN Trans. Ena / Dis



GPE 0 -7



Baris



GPC 4 - 7



Kolom



GPD 8



SPI3 SS30



GPD 9



SPI3 SPCLK



GPD 10



SPI3 MISO0



GPD 11



SPI3 MOSI0



GPD 14



Lampu Latar LCD



Potensiometer



GPA7



Antarmuka ADC



Buzzer



GPB11



PWM4



Keypad Matrix



GPA 0 - 5



GPIO



Reset



RESET



Reset



GPA 10



I2C1 SDA



GPA 11



I2C1 SCL



GPD 12



Catudaya SD Card



GPD 13



Deteksi SD Card



GPC 8 - 11



Antarmuka SD Card



GPD 0



SPI2 SS20



GPD 1



SPI2 SPCLK



GPD 2



SPI2 MISO0



GPD 3



SPI2 MOSI0



GPD 4



SPI2 MISO1



GPD 5



SPI2 MOSI1



GPA 12



PWM0



GPA 13



PWM1



GPA 14



PWM2



GPC 12 - 15



GPIO



Seven Segment



LCD Panel Dot Matriks



EEPROM



Slot SD Card



Flash



LED



(Sumber: Modul 1 Pengenalan Nuvoton NUC140 dan Software Pengembang Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.3.2. Coocox CoIDE Coocox CoIDE adalah software pengembangan environment yang didasarkan pada Eclipse and GCC tool chain, yang telah disesuaikan dan disederhanakan untuk memberikan kemudahan bagi pengguna untuk mengakses mikrokontroler ARM® Cortex®-M.



Gambar 4. 12 Coocox CoIDE (Sumber : https://www.st.com/en/development-tools/coide.html, Modul 1 Pengenalan Nuvoton NUC140 dan Software Pengembang Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.3.3. Coocox CoSmart CooCox CoSmart adalah sebuah alat konfigurasi pin pintar dan alat untuk meng-generate kode. CooCox CoSmart menyediakan pengaturan konfigurasi pin multiplexing, deteksi konflik pengaturan pin, generate kode yang efektif dan spesifikasi karakter cell I/O.



Gambar 4. 13 Tampilan Coocox CoSmart (Sumber : https://download.cnet.com/CooCox-CoSmart/3000-2247_4-75558667.html, Modul 1 Pengenalan Nuvoton NUC140 dan Software Pengembang Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.3.4. Interupsi Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani interrupt tersebut. Yang harus diperhatikan untuk menggunakan interupsi adalah kita harus tahu sumber-sumber interupsi, vektor layanan interupsi dan yang terpenting rutin layanan interupsi, yaitu subrutin yang akan dikerjakan bila terjadi interupsi. Pada NUC140 terdapat 2 pin Interupsi Eksternal, yaitu INT0 dan INT1. Interupsi Eksternal dapat dibangkitkan apabila ada perubahan logika baik Transisi Naik (Rising Edge) maupun Transisi Turun (Falling Edge) pada Pin Interupsi. Tabel 4. 2 Interupsi Eksternal pada Nuvoton NUC140



Jenis Interupsi



PIN



INT0



GPIOB 14



INT1



GPIOB 15



(Sumber: Modul 3 Sistem Interupsi pada Nuvoton NUC140 Praktikum Teknik Mikroprosesor 2019)



4.4. Langkah Kerja Pertama kita hubungkan Board Nuvoton NUC140 dengan PC. Caranya dengan, colokkan kabel USB ke bagian ICE Bridge Nu-Link di Nuvoton NUC140, dan colokkan sisi lain kabel USB ke USB Port pada PC. 4.4.1. Percobaan Pertama 1.



Buka aplikasi CoSmart, lalu Pilih New Chip



Gambar 4. 14 Aplikasi CoSmart



2.



Kemudian pilih Nuvoton,



Gambar 4. 15 Pilih Chip



3.



Lalu pada NUC140 pilih NUC140VE3CN



Gambar 4. 16 Pilih NUC140VE3CN



4.



Lalu akan muncul tampilan Chip di Panel Utama, kemudian centang GPIOA, GPIOB dan GPIOC



Gambar 4. 17 GPIOA GPIOB GPIOC



5.



Lalu pada bagian Panel Kiri, ubah Pin Enable dari Pin 12 – 14 pada GPIOA menjadi Enable,



Gambar 4. 18 Enable pin 12-14 GPIOA



6.



Lalu Scroll ke bawah dan ubah Mode Control Pin 12 – 14 menjadi Output



Gambar 4. 19 Ubah mode pin menjadi output



7.



Kemudian di Panel Kiri (Configuration), ganti dari GPIOA menjadi GPIOB, lalu ubah Pin Enable dari EINT1 pada GPIOB menjadi Enable,



Gambar 4. 20 Pin EINT1



8.



Lalu Scroll ke bawah dan Ubah Mode menjadi Edge Trigger, dan Tipe menjadi Falling / Low Trigger



Gambar 4. 21 Ubah mode interrupt



9.



Kemudian di Panel Kiri (Configuration), ganti dari GPIOB menjadi GPIOC, lalu ubah Pin 12-15 pada GPIOC menjadi Enable,



Gambar 4. 22 Pin 12-15 GPIOC



10. Setelah itu, Klik Generate, lalu pilih Generate CoIDE Project



Gambar 4. 23 Generate ke CoIDE



11. Lalu masukkan Project Name, dan pilih lokasi untuk menyimpan Project, kemudian klik Finish



Gambar 4. 24 Generate ke CoIDE



12. Kemudain buka Coocox CoIDE, pilih Project, lalu Open Project dan cari Project yang tadi telah dibuat melalui CoSmart



Gambar 4. 25 Buka file hasil generate CoSmart



13. Kemudian setelah itu, klik Open. Lalu klik pada bagian View pilih Configuration



Gambar 4. 26 Configuration



14. Pada bagian Download, pada Erase ganti yang awalnya Erase Effected menjadi Erase Full Chip



Gambar 4. 27 Erase Full Chip



15. Lalu selanjutnya pada Panel Kiri (Project) pilih main.c, kemudian masukkan Source Code yang telah disediakan #include "DrvGPIO.h" #include "DrvSYS.h" void Init(); int main(void) { Init(); while(1) { DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvGPIO_ClrBit(E_GPC,12); DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC,13);



DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC,14); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,12); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,13); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,14); DrvSYS_Delay(1000000); } }



16. Pada init.c, kemudian masukkan Source Code yang telah disediakan ke dalam fungsi void pfEINT1Callback(uint32_t u32UserData) void pfEINT1Callback(uint32_t u32UserData) { //add your code //LED Biru Nyala DrvGPIO_ClrBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvSYS_Delay(1000000); //LED Hijau Nyala DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_ClrBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvSYS_Delay(1000000); //LED Merah Nyala DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_ClrBit(E_GPA, 14); DrvSYS_Delay(1000000); }



Gambar 4. 28 Source Code Init.c



17. Buat fungsi Init() pada init.c dengan kode sebagai berikut



Gambar 4. 29 Source Code Init.c



18. Selanjutnya pilih Project, lalu Build.



Gambar 4. 30 Build Program



19. Kemudian setelah Build Success, maka pilih Flash kemudian Program Download



Gambar 4. 31 Program Download



20. Lalu, amatilah apa yang terjadi bagian Board Nuvoton NUC140 dengan menekan tombol Switch Button 4.4.2. Percobaan Kedua 1. Buka CoSmart, lalu Pilih New Chip



Gambar 4. 32 New Chip



2. Kemudian pilih Nuvoton



Gambar 4. 33 Pilih Nuvoton



3. Lalu pada NUC140 pilih NUC140VE3CN



Gambar 4. 34 Pilih NUC140VE3CN



4. Lalu akan muncul tampilan Chip di Panel Utama, kemudian centang GPIOC, GPIOA dan GPIOE



Gambar 4. 35 Pilih GPIOA GPIOC dan GPIOE



5. Lalu pada bagian Panel Kiri, ubah Pin dari Pin 4 - 7 dan 12 – 14 pada GPIOC menjadi Enable. Seperti percobaan sebelumnya



Gambar 4. 36 Enbale pin 4-7, 12-14 pada GPIOC



6.



Lalu Scroll ke bawah dan ubah Mode Control Pin 4 – 7 dan 12 – 14 menjadi Output



Gambar 4. 37 Ubah mode menjadi output



7. Kemudian di Panel Kiri (Configuration), ganti dari GPIOC menjadi GPIOA, lalu ubah Pin 0-5 pada GPIOA menjadi Enable



Gambar 4. 38 Enbale pin 0-5 pada GPIOA



8. Lalu Scroll ke bawah dan ubah Mode Control Pin 0 -5 menjadi Quasi Bidirectional.



Gambar 4. 39 Ubah mode menjadi Quasi-bidirectional



9. Kemudian di Panel Kiri (Configuration), ganti dari GPIOA menjadi GPIOE, lalu ubah Pin 0-7 pada GPIOE menjadi Enable



Gambar 4. 40 Enbale pin 0-7 pada GPIOE



10. Lalu Scroll ke bawah dan ubah Mode Control Pin 0 -7 menjadi Output.



Gambar 4. 41 Ubah mode menjadi output



11. Setelah itu, Klik Generate, lalu pilih Generate CoIDE Project



Gambar 4. 42 Generate ke CoIDE



12. Lalu masukkan Project Name, dan pilih lokasi untuk menyimpan Project, kemudian klik Finish



Gambar 4. 43 Generate ke CoIDE, pilih lokasi penyimpanan dan nama project



13. Kemudian buka Coocox CoIDE, pilih Project, lalu Open Project dan cari Project yang tadi telah dibuat melalui CoSmart



Gambar 4. 44 Pada CoIDE, pilih lokasi penyimpanan dan nama project



14. Kemudian setelah itu, klik Open. Lalu klik pada bagian View pilih Configuration



Gambar 4. 45 Configuration pada CoIDE



15. Pada bagian Download, pada Erase ganti yang awalnya Erase Effected menjadi Erase Full Chip



Gambar 4. 46 Erase Full Chip



16. Masukan Library ScanKey.h, Seven_Segment.h dan LCDDriver.h ke dalam folder cmsis_lib->include->driver



Gambar 4. 47 Library untuk Driver



17. Masukan Library ScanKey.c dan Seven_Segment.c ke folder cmsis_lib->Src>driver



Gambar 4. 48 Library untuk Src



18. Lalu selanjutnya pada Panel Kiri (Project) pilih main.c, kemudian masukkan Source Code yang telah disediakan #include #include #include #include



"DrvGPIO.h" "DrvSYS.h" "Seven_Segment.h" "Scankey.h"



void Init(); int main(void) { Init(); int8_t Angka, Angka2; OpenKeyPad(); while(1) { DrvGPIO_SetBit(E_GPC, 12); DrvGPIO_SetBit(E_GPC, 13); DrvGPIO_SetBit(E_GPC, 14); DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC, 12); DrvGPIO_ClrBit(E_GPC, 13); DrvGPIO_ClrBit(E_GPC, 14); DrvSYS_Delay(1000000); while(Scankey()) { Angka = Scankey(); Angka2 = Scankey(); show_seven_segment(2,Angka); show_seven_segment(0,Angka2); DrvSYS_Delay(5000000); close_seven_segment(); } } }



19. Pada Init.c buat fungsi sebagai berikut



Gambar 4. 49 Fungsi init() pada Init.c



20. Selanjutnya pilih Project, lalu Build.



Gambar 4. 50 Build Program



21. Kemudian setelah Build Success, maka pilih Flash kemudian Program Download



Gambar 4. 51 Program Download



22. Lalu, amatilah apa yang terjadi bagian Board Nuvoton NUC140 dengan menekan tombol keypad.



4.5. Hasil dan Analisa Percobaan 4.5.1. Percobaan Pertama Pada percobaan pertama, kita melakukan percobaan interrupt secara eksternal menggunakan push button dengan pin EINT1.



Gambar 4. 52 Kondisi awal while(1) { DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvGPIO_ClrBit(E_GPC,12); DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC,13); DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC,14); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,12); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,13); DrvSYS_Delay(1000000); DrvGPIO_SetBit(E_GPC,14); DrvSYS_Delay(1000000); }



Saat program dijalankan, ketiga LED pada board akan menyala bergantian dengan jeda waktu 1 detik sebelum pindah dari satu LED, ke LED sebelahnya. Saat push button ditekan, maka fungsi di bawah akan terpanggil: DrvGPIO_EnableEINT1(E_IO_FALLING, E_MODE_EDGE, pfEINT1Callback);



Dengan fungsi pfEINT1Callback:



void pfEINT1Callback(uint32_t u32UserData) { //add your code //LED Biru Nyala DrvGPIO_ClrBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvSYS_Delay(1000000); //LED Hijau Nyala DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_ClrBit(E_GPA, 13); DrvGPIO_SetBit(E_GPA, 14); DrvSYS_Delay(1000000); //LED Merah Nyala DrvGPIO_SetBit(E_GPA, 12); DrvGPIO_SetBit(E_GPA, 13); DrvGPIO_ClrBit(E_GPA, 14); DrvSYS_Delay(1000000); } }



Maka saat program berjalan, kemudian push button ditekan, kita menjalankan fungsi interrupt pada board yang bersumber dari push button tersebut secara eksternal. Saat fungsi ini dijalankan, LED RGB akan menyala dan LED biasa akan berhenti bekerja sampai fungsi interrupt selesai dijalankan



Gambar 4. 53 Kondisi saat push button ditekan



4.5.2. Percobaan Kedua Pada percobaan kedua, kita menggunakan fungsi interrupt yang asalnya dari internal program itu sendiri dengan kode program utama sebagai berikut: #include #include #include #include



"DrvGPIO.h" "DrvSYS.h" "Seven_Segment.h" "Scankey.h"



void Init(); int main(void) { Init(); int8_t Angka, Angka2; OpenKeyPad(); while(1) { DrvGPIO_SetBit(E_GPC, 12); DrvGPIO_SetBit(E_GPC, 13); DrvGPIO_SetBit(E_GPC, 14); DrvSYS_Delay(1000000); DrvGPIO_ClrBit(E_GPC, 12); DrvGPIO_ClrBit(E_GPC, 13); DrvGPIO_ClrBit(E_GPC, 14); DrvSYS_Delay(1000000); while(Scankey()) { Angka = Scankey(); Angka2 = Scankey(); show_seven_segment(2,Angka); show_seven_segment(0,Angka2); DrvSYS_Delay(5000000); close_seven_segment(); } } }



Pada percobaan ini, tidak menggunakan pin interrupt seperti percobaan sebelumnya. Fungsi interrupt pada program ini memiliki logika: apabila ada tombol yang ditekan pada keypad 3x3 maka akan menampilkan angka pada Seven Segment, maka digunakanlah perintah while(Scankey()) untuk mendapatkan kondisi apakah key pada keypad ditekan atau tidak. Awalnya saat progam dijalankan, board akan menyalakan 3 LED biasa 2 kali dengan jeda 1 detik, kemudian mengecek apakah keypad 3x3 tertekan atau tidak. Apabila tidak ada key yang ditekan, maka program akan kembali ke perintah awal pada blok while(1). Sedangkan apabila tombol ditekan maka akan ditampilkan ke dalam Seven Segment pertama dan ketiga dengan perintah



show_seven_segment(2,Angka);



show_seven_segment(0,Angka2);.



Setelah



itu program akan delay selama 5 detik sebelum Seven Segment dimatikan dengan perintah DrvSYS_Delay(5000000); dan



close_seven_segment();



dan



kemudian akan kembalik ke blok while(1)dan menyalakan ketiga LED biasa sampai key pada keypad 3x3 ditekan kembali.



Gambar 4. 54 Kondisi saat angka 7 ditekan pada keypad 3x3



4.6. Kesimpulan 1. Jika ARM Nuvoton di flash, maka program yang ada di dalamnya akan tertimpa program baru 2. ARM Nuvoton memerlukan library dari luar untuk agar bisa terintegrasi dengan komponen input output (seven segment, lcd, dan sejenisnya) 3. Bahasa yang digunakan adalah bahasa C untuk ARM Nuvoton 4. Interupsi membuat program menahan perintah yang sedang dijalankan dan menjalankan fungsi interupsi tersebut sampai selesai lalu kembali menjalankan program sebelumnya 5. Mekanisme Interupsi pada percobaan pertama menggunakan interupsi secara eksternal 6. Mekanisme Interupsi pada percobaan kedua menggunakan interupsi secara internal 7. Walaupun sama-sama menggunakan trigger dari luar, yang membedakan percobaan 1 dan percobaan 2 adalah pin interupsi digunakan pada percobaan 1 8. Sedangkan interupsi secara internal dapat digunakan semisal suatu kondisi program sudah tercapai dan akan menjalankan suatu fungsi dalam interupsi tersebut 9. Pin interupsi bisa menggunakan semua pin, aturlah Interrupt Enable untuk mengaktifkan fungsi interupsi