Anda di halaman 1dari 8

PRAKTIKUM MIKROKONTROLLER

PENGAPLIKASIAN WRITE DAN TOGGLE

Dibuat Oleh :
Ircham Badrus Rahmadani
2321600024
2 D4 Elektro Industri A

Dosen Pengampu :
Farid Dwi Murdianto, S.ST ., M.T

PROGRAM STUDI D4 TEKNIK ELEKTRO INDUSTRI

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

TAHUN AJARAN 2022-2023


I. TUJUAN
1. Mahasiswa mampu menggunakan software STM32 CubeMX dan Keil uVision
2. Mahasiswa mampu mengintegrasikan program STM32 dengan hardware
3. Mahasiswa mampu memprogram dengan STM32 di keil uVision
4. Mahasiswa mampu memahami program write dan toggle

II. ALAT DAN BAHAN


1. Laptop pribadi
2. Software STM32CubeMX
3. ARM Keil
4. Modul STM32F407
5. Kabel konektor
6. Kabel serial

III. LANGKAH LANGKAH PERCOBAAN


1. Buka software STM32 CubeMX

2. Lalu klik File dan pilih New Project


3. Pilih MCU/MPU Selector, kemudian pilih Series.

4. Muncul beberapa jenis dari package dan core yang telah dipilih lalu pilih STM32F407VG.

5. Klik Start Project.


6. Klik Pinout & Configuration, kemudian klik System Core dan pilih RCC. Lalu pada High
Speed Clock (HSE) pilih Crsytal/Ceramic Resonator

7. Setelah itu, klik Clock Configuration. Kemudian isi sesuai dengan parameter berikut ini.

8. Kemdian kembali lagi pada Pinout & Configuration. Beli label pada pin mikrokontroller,
dimana PE0-PE7 sebagai output dengan mensetting menjadi GPIO Output. Sedangkan,
PE8-PE15 sebagai input dengan mensetting menjadi GPIO Input
9. Setelah semua pin telah diberi label dan disetting menjadi GPIO Output dan GPIO Input,
kemudian klik Project Manager untuk menyimpan file project. Pada Toolchain/IDE/pilih
MDK-ARM.

10. Setelah itu, klik Generate Code untuk dialihkan pada Software arm KEIL uVision 5 dengan
klik Open Project.

11. Setelah dialihkan pada Software arm KEIL uVision 5, maka akan tampil program di file
main.c

12. Buat program yang diinginkan pada while


IV. PROGRAM
V. ANALISA
Pada percobaan yang telah dilakukan dapat dianalisa bahwa percobaan diatas menggunakan
softwareSTM32 CubeMX dan juga KEIL dimana Prinsip kerja dari indikator diatas yaitu
dengan menekan PushButton atau dapat diasumsikan sebagai kondisi awal dimana lampu
indikator akanmenyala.
Ketika Push Button 8 ditekan dan ditahan, kondisi pertama adalah relay 1,2,3,4,5,6,7,dan 8
akan mati selama 100 ms, kondisi kedua yang terjadi adalah relay 1 akan menyala dan relay
2,3,4,5,6,7, dan 8 tetap mati selama 100 ms. kondisi ketiga yang terjadi adalah relay 1 dan 2
akan menyala dan relay 3,4,5,6,7, dan 8 tetap mati selama 100 ms. kondisi keempat yang terjadi
adalah relay 1,2 dan 3 akan menyala dan relay 4,5,6,7, dan 8 tetap mati selama 100 ms. kondisi
kelima yang terjadi adalah relay 1,2,3 dan 4 akan menyala dan relay 5,6,7, dan 8 tetap mati
selama 100 ms.kondisi kelima yang terjadi adalah relay 1,2,3,4 dan 5 akan menyala dan relay
6,7, dan 8 tetap mati selama 100 ms. kondisi keenam yang terjadi adalah relay 1,2,3,4,5 dan 6
akan menyala dan relay 7 dan 8 tetap mati selama 100 ms. kondisi ketujuh yang terjadi adalah
relay 1,2,3,4,5,6 dan 7 akan menyala dan relay 8 tetap mati selama 100 ms. kondisi kedelapan
yang terjadi adalah relay 1,2,3,4,5,6,7, dan 8 akan menyala selama 100 ms.
Kemudian pada kondisi else atau ketika Push Button 8 tidak ditekan maka kondisi pertama
yang terjadi adalah relay 1,2,3,4,5,6,7,dan 8 akan menyala selama 100 ms, kondisi kedua yang
terjadi adalah relay 1,2,3,4,5,6, dan 7 tetap menyala dan relay 8 akan mati selama 100 ms.
kondisi ketiga yang terjadi adalah relay 1,2,3,4,5, dan 6 tetap menyala dan relay 7 dan 8 akan
mati selama 100 ms. kondisi keempat yang terjadi adalah relay 1,2,3,4 dan 5 tetap menyala dan
relay 6,7, dan 8 akan mati selama 100 ms. kondisi kelima yang terjadi adalah relay 1,2,3 dan 4
tetap menyala dan relay 5,6,7, dan 8 akan mati selama 100 ms. kondisi kelima yang terjadi
adalah relay 1,2, dan 3 tetap menyala dan relay 4,5,6,7, dan 8 akan mati selama 100 ms. kondisi
keenam yang terjadi adalah relay 1 dan 2 tetap menyala dan relay 3,4,5,6,7 dan 8 akan mati
selama 100 ms.
Selisih waktu ketika relay menyala secara bergantian tersebut diakibatkan oleh instruksi
delaypada program. Kondisi dengan suatu percabangan, ketika sebuah kondisi terpenuhi maka
programakan dijalankan. Berikut adalah contoh penulisan dari instruksi if.

if (condition)

{
//Kode program yang akan dijalankan jika condition berisi nilai True (1)
}

Bagian condition berperan sebagai penentu dari suatu struktur percabangan. Apabila
kondisi (condition) terpenuhi, maka akan menghasilkan nilai TRUE atau 1. Namun, jika
condition tidakterpenuhi akan menghasilkan nilai FALSE atau 0.

VI. KESIMPULAN
Berdasarkan percobaan yang telah dilakukan dapat disimpulkan bahwa :

1. Percobaan diatas menggunakan program WritePin dimana push button harus ditekan
secara terus menerus agar relay dapat mengeksekusi program didalam intruksi if, jika
button tidak ditekan secara terus menerus maka program akan mengeksekusi didalam
instruksi else.
2. Pada program yang digunakan terdapat instruksi if else yang berfungsi untuk menjalankan
kondisi dengan suatu percabangan. Terdapat selisih waktu relay menyala secara bergantian
tersebut diakibatkan oleh instruksi delay pada program.
3. Pada mikrokontroller STM32F407VGT6 pada pin PE0-PE7 digunakan sebagai
output/relay.

4. Pada mikrokontroller STM32F407VGT6 pada pin PE8-PE15 digunakan sebagai


input/button.

Anda mungkin juga menyukai