/*====================================================================================
Program : Kelompok EK-2B/01
1. 01-Ahmad Ali Munawar NIM:3.32.20.1.01
2. 09-Dhyaa Nanda Puspita NIM:3.32.20.1.09
3. 12-Gilang Prambudi NIM:3.32.20.1.12
4. 13-Hisyam Ghani NIM:3.32.20.1.13
5. 24-Tiara Ratri NIM:3.32.20.1.25
=========================================================================
Proyek Laboratorium Mikrokontroller
file : B01-Lab-Mikro.asm
Program Kanopi Otomatis dengan Sensor Hujan Berbasis ATMEGA16
---------------------------------------------------------------------------------------------------------------------------
Komponen:
-AVR ATMEGA16A
-SENSOR HUJAN
-DRIVER MOTOR
-MOTOR GEARBOX
========================================================================*/
//=== Daftar Pustaka ===
.include "m16def.inc" ;pustaka ATMega 16
//=== Deskripsi Variabel ===
//=== Pengesetan Awal ===
.org 0x0000 ;alamat awal
rjmp awal
awal:
ldi R21,low(RAMEND) ;alamat tumpukan (SP)
out SPL, R21
ldi R21,high(RAMEND)
out SPH, R21
ldi R21,0b11111000 ;mengatur PB sebagai masukan
out DDRB,R21
ldi R21,0xFF ;mengatifkan R pull up pada PB
out PORTB,R21
sbi DDRD,0 ;mengatur PD.0 sebagai luaran
cbi PORTD ,0 ;memberi logika 0 pada PD.0
sbi DDRD,1 ;mengatur PD.1 sebagai luaran
cbi PORTD ,1 ;memberi logika 0 pada PD.1
ulang:
sbis pinb,0 ;jika sensor mendeteksi maka melewati 1 perintah selanjutnya
rcall tutup ;memanggil label tutup
sbic pinb,0 ;jika sensor tidak mendeteksi maka melewati 1 perintah selanjutnya
rcall buka ;memanggil label buka
rjmp ulang ;lompat ke label ulang
tutup:
sbi portd,0 ;memberikan logika 1 pada PD.0
cbi portd,1 ;memberikan logika 0 pada PD.1
sbic pinb,1 ;membaca PB.1, jika PB.1=1 maka lewati
;perintah berikutnya
rjmp tutup ;lompat ke label tutup
cbi portd,0 ;memberikan logika 0 pada PD.0
cbi portd,1 ;memberikan logika 0 pada PD.1
ret
buka:
cbi portd,0 ;memberikan logika 0 pada PD.0
sbi portd,1 ;memberikan logika 1pada PD.1
sbic pinb,2 ;membaca PB.1, jika PB.1=1 maka lewati
;perintah berikutnya
rjmp buka ;lompat ke label buka
cbi portd,0 ;memberikan logika 0 pada PD.0
cbi portd,1 ;memberikan logika 0 pada PD.1
ret
Komentar
Posting Komentar