PERANCANGAN DAN SIMULASI SISTEM KIPAS EXHAUST BERBASIS AT89C51 DENGAN BAHASA ASSEMBLY
PERANCANGAN DAN SIMULASI SISTEM
KIPAS
EXHAUST BERBASIS AT89C51
DENGAN
BAHASA ASSEMBLY
Dosen
Pengampu:
DR.
Samuel Beta K.,Ing.Tech,M.T.
Disusun
Oleh:
Kelompok 5
1. Aqsyal
Frandykatama
EK–2A
3.32.24.0.05
2. Putra
Athallah
EK-2A
3.32.24.0.21
3. Jan
Salmon W. Rumsowek EK-2A
3.32.24.0.14
4. Salsabila
Nisa Haibah EK-2A 3.32.24.0.24
PROGRAM STUDI TEKNIK ELEKTRONIKA
JURUSAN
TEKNIK ELEKTRO
POLITEKNIK
NEGERI SEMARANG
2025
KATA PENGANTAR
Puji syukur kami panjatkan kepada Allah SWT atas segala rahmat, nikmat, dan keberkahan Nya, yang telah memberikan kami kekuatan dan kemudahan dalam menjalani setiap proses. Alhamdulillah, dengan bimbingan dan petunjuk-Nya, kami berhasil menyelesaikan proyek besar yang berjudul “Perancangan dan Simulasi Sistem Kipas Exhaust Berbasis AT89C51 Dengan Bahasa Assembly” dengan lancar. Proyek ini merupakan bagian dari tugas akhir pada semester 3, yang tentunya tidak dapat terwujud tanpa usaha dan dedikasi kami.
Selama proses penyusunan proyek ini, kami menghadapi berbagai tantangan dan kendala, baik yang bersifat teknis maupun non-teknis. Namun, dengan adanya kerja sama yang solid di antara anggota tim, dukungan moral yang kami terima, serta bantuan dari berbagai pihak, kami dapat menyelesaikan proyek ini dengan baik. Untuk itu, kami ingin mengucapkan terima kasih kepada:
1. Bapak
Dr. Samuel Beta K., Ing.Tech, M.T., selaku dosen pengampu mata kuliah
Mikrokontroler 1, yang telah memberikan bimbingan, arahan, dan ilmu yang sangat
berharga sehingga proyek ini dapat terselesaikan dengan baik.
2. Politeknik
Negeri Semarang (POLINES) yang telah menyediakan fasilitas dan sarana yang
mendukung kelancaran penelitian serta pembuatan proyek ini.
3. Rekan-rekan
dalam kelompok 5 yang telah memberikan kontribusi waktu, tenaga, dan pikiran
untuk bekerja sama dalam menyelesaikan proyek ini.
4. Orang
tua yang selalu memberikan doa, dukungan, dan izin kepada anggota kelompok,
sehingga seluruh proses dapat berjalan dengan lancar.
5. Semua
pihak yang telah memberikan bantuan, baik secara langsung maupun tidak
langsung, meskipun tidak dapat kami sebutkan satu per satu.
Kami
menyadari bahwa proyek ini masih memiliki kekurangan dan belum mencapai
kesempurnaan. Oleh karena itu, kami sangat menghargai setiap kritik dan saran
yang konstruktif demi perbaikan di masa mendatang. Kami berharap proyek ini
dapat memberikan manfaat serta menjadi referensi bagi siapa pun yang membaca
laporan ini.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kondisi kualitas udara di area industri
memiliki peranan besar dalam menjaga kenyamanan serta keselamatan tenaga kerja.
Beberapa ruang kerja, seperti area produksi, pengecatan, dan penyimpanan bahan
kimia, sering mengalami peningkatan suhu dan pencemaran udara akibat debu, asap
proses, maupun bau zat kimia. Apabila kondisi tersebut tidak ditangani dengan
baik, lingkungan kerja dapat menjadi tidak sehat dan berdampak pada penurunan
kinerja pekerja.
Salah satu upaya yang umum digunakan untuk mengatasi permasalahan tersebut adalah pemanfaatan kipas exhaust sebagai sistem ventilasi. Kipas exhaust berfungsi membuang udara kotor dari dalam ruangan agar sirkulasi udara tetap terjaga. Akan tetapi, pada penerapannya, pengoperasian kipas exhaust di banyak industri masih dilakukan secara manual dan tidak terintegrasi. Hal ini mengharuskan operator mengendalikan kipas secara langsung di lokasi masing-masing, sehingga kurang efisien dan menyulitkan proses pemantauan.
Seiring berkembangnya teknologi,
penggunaan mikrokontroler memungkinkan perancangan sistem kendali yang lebih
efektif dan terpusat. Oleh karena itu, penelitian ini berfokus pada perancangan
dan simulasi sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan
bahasa assembly, dengan tujuan meningkatkan efisiensi pengendalian serta
mempermudah pengawasan sistem ventilasi di lingkungan industri.
1.2 Rumusan Masalah
· Bagaimana
merancang sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan
bahasa assembly?
· Bagaimana melakukan simulasi sistem kipas exhaust untuk mengetahui kinerja pengendalian kipas?
· Bagaimana
sistem kipas exhaust berbasis AT89C51 dapat meningkatkan efisiensi
pengoperasian dibandingkan dengan sistem manual?
1.3 Tujuan
· Merancang sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan bahasa assembly.
· Mensimulasikan sistem kipas exhaust untukmengetahui kinerja dan respon pengendalian kipas.
· Meningkatkan efisiensi pengoperasian serta mempermudah pengawasan kipas exhaust dibandingkan dengan sistem pengendalian manual.
BAB II
TINJAUAN PUSTAKA
2.1. Perangkat
Keras
a. Mikrokontroller
AT89C51
Gambar (a): Mikrokontroller AT89C51
Mikrokontroler AT89C51 adalah
sebuah mikrokomputer 8-bit dalam satu chip yang terdiri dari CPU, memori program, RAM, dan port input/output (I/O) yang dapat diprogram. AT89C51 kompatibel dengan keluarga 8051 dan sering digunakan untuk mengendalikan sistem elektronik tertanam yang membutuhkan logika kendali, pembacaan input, dan keluaran sinyal ke perangkat lain.
b. L293D (Motor Driver)
Gambar (b): L293D (Motor Driver)
IC L293D adalah sebuah motor driver dual H-bridge yang berfungsi mengendalikan satu atau dua motor DC sesuai sinyal logika dari mikrokontroler. L293D bekerja sebagai penyedia arus yang cukup untuk menggerakkan motor, karena mikrokontroler sendirian tidak bisa langsung mengalirkan arus yang besar ke motor.
c.
Kipas
(Aktuator)
Gambar (c): Kipas (Aktuator)
Dalam proyek ini, kipas industri atau
motor DC berfungsi sebagai aktuator—yaitu perangkat yang melakukan tindakan
fisik (mengalirkan udara). Aktuator menerima sinyal dari mikrokontroler
(melalui driver L293D) untuk menyala atau mati sesuai kondisi kontrol.
d.
Push Button (Tombol Tekan)
Gambar (c): Push Button (Tombol Tekan)
Push button adalah saklar mekanis
yang memberikan sinyal input ke mikrokontroler saat ditekan. Ketika tombol
ditekan, ia mengubah kondisi logika (misalnya dari HIGH ke LOW atau
sebaliknya), yang kemudian dibaca oleh mikrokontroler sebagai perintah kontrol
(misalnya untuk menyalakan atau mematikan kipas).
e. Display 7 - Segmen
Gambar (e): Display 7 - Segmen
Display 7-segmen adalah modul tampilan
berupa tujuh LED yang disusun sedemikian rupa sehingga dapat menampilkan angka
desimal 0–9. Setiap segmen dapat dikendalikan oleh mikrokontroler untuk
membentuk digit angka yang diinginkan.
2.2. Perangkat Lunak
a. Edsim51
Gambar (a): Edsim51
EdSim51 adalah sebuah software simulator yang digunakan untuk menulis dan menjalankan program mikrokontroler 8051/AT89C51 secara virtual. Program yang ditulis (misalnya menggunakan bahasa assembly) dapat diuji langsung melalui EdSim51 sehingga pengguna dapat melihat bagaimana instruksi dieksekusi oleh CPU mikrokontroler tanpa harus langsung ke perangkat keras (hardware). EdSim51 juga menyediakan antarmuka visual seperti register, memory, I/O port, dan status pin yang memudahkan proses debugging program.
b.
Proteus
Gambar (b): Proteus
Proteus adalah sebuah
software desain elektronika yang digunakan untuk mensimulasikan rangkaian
listrik/elektronik secara keseluruhan, termasuk mikrokontroler dan komponen
pendukungnya. Dengan Proteus, kamu bisa merancang skematik rangkaian, men-setup
komponen seperti AT89C51, IC driver, motor/kipas, push button, display
7-segmen, dan langsung mensimulasikan kerja sistem secara nyata sebelum dibuat
secara fisik. Proteus juga mendukung simulasi program mikrokontroler yang
dimuat dari file HEX, sehingga interaksi antara hardware dan software bisa
diuji bersama.
BAB III
PERANCANGAN SISTEM
3.1. Diagaram Blok
Gambar 3.1: Diagram Blok
3.2. Flowchart
Gambar 3.2: Flowchart
3.3. Skematik Rangkaian
Gambar 3.2: Skematik Rangkaian
3.4. Program
|
;
================================================================= ;
PROGRAM: KONTROL MOTOR DUA TOMBOL TOGGLE (FIXED VERSION) ; AT89C51
| Tombol P2.0 (M1), P2.1 (M2) | Motor P1.0, P1.3 | 7-Segmen P3 ;
Tampilan: 0=Idle, 1=M1 ON, 2=M2 ON, 3=Both ON ;
=================================================================
; --- 1.
DEFINISI PIN & REGISTER --- IN1 EQU
P1.0 ; Output Motor 1 IN2 EQU
P1.1 ; Motor 1
Ground/Reverse IN3 EQU
P1.3 ; Output Motor 2 IN4 EQU
P1.4 ; Motor 2
Ground/Reverse
BTN_M1 EQU
P2.0 ; Tombol 1: Toggle
ON/OFF Motor 1 BTN_M2 EQU
P2.1 ; Tombol 2: Toggle
ON/OFF Motor 2
R0_ST EQU
R0 ; Status Motor 1
(0=OFF, 1=ON) R2_ST EQU
R2 ; Status Motor 2
(0=OFF, 1=ON)
; --- 2.
VEKTOR RESET --- ORG 0000H LJMP MAIN
;
================================================================= ; 3.
PROGRAM UTAMA ;
================================================================= MAIN: ; Inisialisasi Port MOV P3, #3FH ; Tampilkan angka '0' di awal MOV P1, #00H ; Semua motor mati MOV P2, #0FFH ; P2 sebagai Input
; Inisialisasi Status MOV R0_ST, #00H ; Status M1 = 0 (OFF) MOV R2_ST, #00H ; Status M2 = 0 (OFF)
MAIN_LOOP: ; --- CEK TOMBOL 1 --- JNB BTN_M1, M1_TOGGLE ; --- CEK TOMBOL 2 --- JNB BTN_M2, M2_TOGGLE
SJMP APPLY_CONTROL ; Perbarui kondisi output
; ---
SUBRUTIN AKSI TOMBOL --- M1_TOGGLE: CJNE R0_ST, #00H, M1_TURN_OFF MOV R0_ST, #01H ; Jika tadi 0, sekarang jadi 1 SJMP M1_DONE M1_TURN_OFF: MOV R0_ST, #00H ; Jika tadi 1, sekarang jadi 0 M1_DONE: LCALL DEBOUNCE_WAIT SJMP APPLY_CONTROL
M2_TOGGLE: CJNE R2_ST, #00H, M2_TURN_OFF MOV R2_ST, #01H ; Jika tadi 0, sekarang jadi 1 SJMP M2_DONE M2_TURN_OFF: MOV R2_ST, #00H ; Jika tadi 1, sekarang jadi 0 M2_DONE: LCALL DEBOUNCE_WAIT SJMP APPLY_CONTROL
; ---
KONTROL MOTOR & 7-SEGMENT --- APPLY_CONTROL: ; Kontrol Motor 1 CJNE R0_ST, #01H, M1_STOP SETB IN1 CLR IN2 SJMP NEXT_M2 M1_STOP: CLR IN1 CLR IN2
NEXT_M2: ; Kontrol Motor 2 CJNE R2_ST, #01H, M2_STOP SETB IN3 CLR IN4 SJMP UPDATE_DISPLAY M2_STOP: CLR IN3 CLR IN4
UPDATE_DISPLAY: ; LOGIKA TAMPILAN 3 (Keduanya ON) MOV A, R0_ST ANL A, R2_ST ; Cek apakah R0=1 AND R2=1 JNZ SHOW_3
; LOGIKA TAMPILAN 1 CJNE R0_ST, #01H, CHECK_2 MOV P3, #06H ; Angka 1 SJMP MAIN_LOOP
CHECK_2: ; LOGIKA TAMPILAN 2 CJNE R2_ST, #01H, SHOW_0 MOV P3, #5BH ; Angka 2 SJMP MAIN_LOOP
SHOW_0: MOV P3, #3FH ; Angka 0 SJMP MAIN_LOOP
SHOW_3: MOV P3, #4FH ; Angka 3 (Segmen A,B,C,D,G) SJMP MAIN_LOOP
; ---
SUBRUTIN DEBOUNCE --- DEBOUNCE_WAIT: ; Tunggu tombol dilepas agar tidak
looping terus menerus WAIT_RELEASE: JNB BTN_M1, WAIT_RELEASE JNB BTN_M2, WAIT_RELEASE ; Delay singkat (Debounce) MOV R6, #50 D1: MOV
R7, #200 DJNZ R7, $ DJNZ R6, D1 RET
END |
BAB IV
HASIL DAN PEMBAHASAN
a. Cara Kerja Sistem
Sistem
kipas angin ini bekerja dengan menggunakan mikrokontroler AT89C51 sebagai pusat
pengendali yang menerima input dari push button dan mengatur keluaran berupa
motor kipas serta tampilan 7-segmen. Sistem dirancang agar mampu menyalakan dan
mematikan dua kipas sekaligus serta menampilkan status kipas yang sedang aktif
Adapun
alur kerja sistem adalah sebagai berikut:
- Saat rangkaian diberi catu daya, mikrokontroler melakukan proses inisialisasi sehingga kedua kipas berada dalam kondisi mati dan display 7-segmen menampilkan angka “0” sebagai indikator awal.
- Sistem
membaca input dari dua push button yang masing-masing digunakan untuk
mengontrol satu kipas.
- Ketika
push button 1 ditekan, mikrokontroler mengaktifkan driver motor sehingga kipas
1 menyala dan display menampilkan angka “1”.
- Ketika
push button 2 ditekan, mikrokontroler mengaktifkan kipas 2 dan display
menampilkan angka “2”
- Jika
kedua push button ditekan secara bersamaan, maka kedua kipas akan menyala dan
display 7-segmen menampilkan angka “3”.
- Untuk
mematikan kipas, push button ditekan kembali sehingga motor berhenti dan
display kembali menampilkan angka “0”.
Seluruh
proses pengendalian sistem diprogram menggunakan bahasa Assembly dan
disimulasikan menggunakan EdSim51 serta Proteus untuk memastikan sistem bekerja
sesuai dengan perancangan
BAB V
PENUTUP
Berdasarkan hasil perancangan dan simulasi yang telah dilakukan, dapat disimpulkan bahwa sistem kontrol kipas exhaust industri berbasis mikrokontroler AT89C51 berhasil dirancang dan berfungsi dengan baik. Sistem ini memungkinkan pengoperasian beberapa kipas exhaust yang berada di ruangan berbeda hanya dari satu ruang kontrol, sehingga operator tidak perlu menyalakan kipas secara manual di setiap lokasi. Melalui penggunaan push button sebagai input, operator dapat menyalakan dan mematikan kipas secara terpisah maupun bersamaan, sementara status kerja kipas ditampilkan pada display 7-segmen. Penggunaan bahasa Assembly serta IC driver motor L293D memastikan proses pengendalian berjalan stabil dan aman. Dengan bantuan simulasi EdSim51 dan Proteus, sistem ini terbukti efektif untuk meningkatkan efisiensi, kemudahan pengoperasian, dan pengendalian exhaust udara di lingkungan industri
DAFTAR PUSTAKA
Raden
Eddy Susanto. (2010). Pemrograman Mikrokontroler AT89C51 Menggunakan Bahasa
Assembly.
Suyanto.
(2014). Sistem Ventilasi dan Pengkondisian Udara Industri. Yogyakarta:
Andi Offset.
LAMPIRAN
- Link Youtube
- Link Canva











Komentar
Posting Komentar