$MOD51
;
-------------------------------------------------------------------------------
;program untuk robot pengikut garis
;
-------------------------------------------------------------------------------
kutub_
A
bit
P1.0
; motor 1
kutub_B
bit
P1.1
kutub_C
bit
P1.2
; motor 2
kutub_D
bit
P1.3
sense_A
bit
P3.0
; Sensor garis
-
A
sense_B
bit
P3.1
; Sensor garis
-
B (center)
sense_C
bit
P3.2
; Sensor garis
-
C
start
bit
P3.3
; saklar1
finish
bit
P3.4
; sakl
ar2
PWM_R
bit
P2.0
; flag PWM motor kanan
PWM_L
bit
P2.1
; flag PWM motor kiri
;
---------------------------------------------
org
00h
sjmp
main
org
0bh
ljmp
interupsi_timer0
;
--------------------------------------------
-
main:
call
init_timer
jb
start,$
call
sensor
jb
finish,loop
call
bounce
call
stop
loop:
sjmp
loop
;
----------------------------
init_timer:
mov T
MOD,#1
mov
TH0,#high (
-
1000)
mov
TL0,#low (
-
1000)
setb
EA
setb
ET0
setb
TR0
ret
;
---------------------
Interupsi timer
-
0
-----------------------
interupsi_timer0:
clr
TR0
clr
TF0
mov
TH0,#high (
-
1000)
mo
v
TL0,#low (
-
1000)
cpl
PWM_R
cpl
PWM_L
setb
TR0
reti
;
---------------------------------
bounce:
mov
TL1,#low (
-
50000)
mov
TH1,#high (
-
50000)
clr
TF1
setb
TR1
jnb
TF1,$
clr
TR1
ret
;
----------------------------------------------------
------------
sensor:
jb
p3.0,bukan_kiri
jb
p3.2,bukan_kanan
sjmp
sensor
bukan_kiri:
jb
p3.2,bukan_kanan1
call
kanan
sjmp
sensor
bukan_kanan1:
jb
p3.1,bukan_kiri_kanan_tengah
call
maju
sjm
p
sensor
bukan_kiri_kanan_tengah:
sjmp
sensor
bukan_kanan:
call
kiri
sjmp
sensor
;
--------------------------------------
memutar motor DC
---------
maju:
; robot bergerak maju
clr
kutub_A
setb
kutub_B
clr
kutub_C
setb
kutub_D
ret
;
kanan:
; robot belok ke kanan
clr
kutub_A
setb
kutub_B
setb
kutub_C
clr
kutub_D
ret
;
kiri:
; robot belok ke kiri
setb
kutub_A
clr
kutub_B
clr
kutub_C
setb
kutub_D
ret
;
koreksi_kanan:
; gerak robot dikoreksi kekanan
clr
kutub_A
setb
kutub_B
setb
kutub_C
clr
kutub_D
ret
;
koreksi_kiri:
; gerak robot dikoreksi kekiri
setb
kutub_A
clr
kutub_B
clr
kutub_C
setb
kutub_D
ret
;
stop:
; robot berhen
ti
setb
kutub_A
setb
kutub_B
setb
kutub_C
setb
kutub_D
ret
;
mundur:
; robot bergerak mundur
setb
kutub_A
clr
kutub_B
setb
kutub_C
clr
kutub_D
ret
;
----------------------
akhir program ini
--------------------------
end
Menu atas
- Beranda
- Galeri
- Tentang saya
- Jam Digital dengan DS1307 dan Animasi 60 buah LED dengan ATMega32
- Program running text dengan 7 segment menggunakan BASCOM-AVR
- Membuat Jam Digital Menggunakan Bahasa C++
- Jam digital dengan P16F84A MCU
- Jam Digital dengan Mikrokontroler ATmega
- Digital Clock using pic18f8680, counters, external clocks
- Robot Pemadam Api (KRCI) dengan KRCI.BS2
- Robot Pemadam Api (KRCI) dengan UVTRON.OSC
- Robot line follower Dengan Fuzzy Logic
- Robot Line follower dengan Assembler
- Robot line follower menggunakan Bascom AVR
- Robot Line Follower menggunakan CodeVisionAVR
- Robot Line Follower Dengan Fuzzy Logic
Tidak ada komentar:
Posting Komentar