Anda di halaman 1dari 10

LAPORAN PRAKTIKUM KENDALI MIKRO

PRAKTIKUM LAMPU LALU LINTAS DENGAN

MIKROKONTROLLER

Disusun untuk memenuhi tugas mata kuliah PRAKTIKUM KENDALI MIKRO


Dosen pengampu :
SYAHID, ST, M.ENG

DISUSUN OLEH:

AINUN NAJIB
3.31.19.0.01
LT2A

PROGRAM STUDI TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO POLITEKNIK
NEGERI SEMARANG SEMARANG
2021
LAMPU LALU LINTAS
I. TUJUAN
Setelah menyelesaikan praktikum ini mahasiswa diharapkan:
1. Dapat membuat program dan mendownload ke modul mikrokontroller
2. Dapat menggunakan fungsi output pada mikrokontroler AVR
3. Dapat membuat program dengan output LAMPU LALU LINTAS

II. DASAR TEORI


Pada praktikum ini, akan dipelajari cara mengembangkan sebuah system menggunakan
mikrokontroler AVR buatan Atmel menggunakan software CodeVisionAVR. CodeVisionAVR
merupakan software C-cross compiler, dimana program dapat ditulis menggunakan bahasa-C.
Dengan menggunakan pemrograman bahasa-C diharapkan waktu disain (deleloping time) akan
menjadi lebih singkat. Setelah program dalam bahasa-C ditulis dan dilakukan kompilasi tidak
terdapat kesalahan (error) maka proses download dapat dilakukan. Pada percobaan ini anda
akan mengendalikan LED ON dan OFF pada lampu lalu lintas.
Atmega 8535 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan
PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up.
Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’ mewakili
nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O
address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O
address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila
DDxndiset 1, maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai
pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-
up akan diaktifkan.
Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai
pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin
terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada
saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah
kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1,
PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0,
PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled
dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan
perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu
masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up
dalam semua port.
Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan
masalah yang sama. Maka harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau
kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.
Tabel Konfigurasi Pin Port

Tabel diatas menunjukkan konfigurasi pin pada portport mikrokontroler. Bit 2 – PUD =
Pull-up Disable, bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun
register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).

Fungsi Delay
Menghasilkan delay dalam program-C. Berada pada header delay.h yang harus
diIncludekan sebelum digunakan. Sebelum memanggil fungsi, interrupsi harus dimatikan
terlebihdahulu, bila tidak maka delay akan lebih lama dari yang diharapkan. Juga sangat penting
untuk menyebutkan frekuensi clock chip IC AVR yang digunakan pada menu Project-Configure-C
Compiler-Code Generation.
Fungsi delay yang disediakan adalah:
• void delay_us(unsigned int n)
menghasilkan delay selama n µ-detik, n adalah nilai konstan
• void delay_ms(unsigned int n)
menghasilkan delay selama n mili-detik, n adalah nilai konstan

III. ALAT DAN BAHAN


1. Modul Mikrokontroller
2. PC atau Laptop
3. Power Supply

IV. GAMBAR HASIL PERCOBAAN


JALUR 1 JALAN
JALUR 2 JALAN

JALUR 3 JALAN
JALUR 4 JALAN

V. PEMBAHASAN
Flowchart
START 200ms delay

MERAH = JALUR MERAH = JALUR


2,3,4 1,2,3
HIJAU= 1 KUNING= 4

1000ms delay 1000ms delay

MERAH = JALUR
1,2,3
MERAH = JALUR HIJAU= 4
2,3,4
KUNING= 1

200ms delay
200ms delay

MERAH = JALUR
1,2,4
KUNING= 3
MERAH = JALUR
1,3,4
HIJAU= 2

1000ms delay

MERAH = JALUR
1,3,4
KUNING= 2

1000ms delay
200ms delay

MERAH = JALUR
1,2,4
HIJAU= 3
VI. KESIMPULAN

Setelah melakukan praktikum dapat disimpulkan bahwa langkah pertama yang harus
dilakukan dalam pemberian program pada mikrokontroller adalah mengatur PORT, hal ini
bertujuan untuk menentukan pengaturan fungsi PORT sebagai input atau output. Pada
praktikum ini PORTC diatur sebagai output yaitu dengan cara DDRC=0xFF. Dalam pemberian
nilai input, dapat menggunakan kode digital yaitu kode heksadesimal dan biner. Perbedaan
apabila menggunakan kode heksimal maka harus diawali dengan 0x, sedangkan kode biner
menggunakan awalan 0b.
Perintah selanjutnya yang digunakan dalam praktikum ini yaitu perintah delay, perintah
ini digunakan sebagai pemberian waktu tundaan, dimana memberikan waktu tundaan sesuai
dengan perintah tunda yang diatur dari satu program ke program selanjutnya.

VII. DAFTAR PUSTAKA

[1] Syahid ST, M.ENG, 2016, BPKM MIKROKONTROLLER, Semarang.

Anda mungkin juga menyukai