By : Ikhsan Fahri
Komponen yang dipakai :
1. IC 89S51
2. Crystall 1 Mhz
3. Capasitor Ceramic
4. LED
5. Resistor 1k (Untuk Reset)
6. Capasitor Elco 46 Micro Farad
Dalam Rangkaian ini Traffic Light Berganti dalam Waktu 10 Detik.
Bahasa Program yang di pakai adalah Assemble
org 0000h ; awal dari sebuah program
start:
acall tl_1 ;panggil label tl_1
acall del_1s ;panggil label del_1s, tunda waaktu 1 detik
acall tl_2
acall del_1s
acall tl_3
acall del_1s
acall tl_4
acall del_1s
sjmp start ; lompat ke label start, mengulang secara terus menerus
tl_1:
mov p0,#11011110b ;pindah nilai biner 11011110b ke port 0.
mov p2,#11110110b
acall del_10s ;panggil del_10s, tunda waktu 10 detik
mov p0,#11011101b
mov p2,#11110110b
acall del_1s
mov p0,#11011111b
mov p2,#11110110b
acall del_1s
mov p0,#11011101b
mov p2,#11110110b
acall del_1s
mov p0,#11011111b
mov p2,#11110110b
acall del_1s
mov p0,#11011101b
mov p2,#11110110b
acall del_1s
mov p0,#11011011b
mov p2,#11110110b
ret
tl_2:
mov p0,#11110011b
mov p2,#11110110b
acall del_10s
mov p0,#11101011b
mov p2,#11110110b
acall del_1s
mov p0,#11111011b
mov p2,#11110110b
acall del_1s
mov p0,#11101011b
mov p2,#11110110b
acall del_1s
mov p0,#11111011b
mov p2,#11110110b
acall del_1s
mov p0,#11101011b
mov p2,#11110110b
acall del_1s
mov p0,#11011011b
mov p2,#11110110b
ret
tl_3:
mov p0,#10011011b
mov p2,#11110111b
acall del_10s
mov p0,#01011011b
mov p2,#11110111b
acall del_1s
mov p0,#11011011b
mov p2,#11110111b
acall del_1s
mov p0,#01011011b
mov p2,#11110111b
acall del_1s
mov p0,#11011011b
mov p2,#11110111b
acall del_1s
mov p0,#01011011b
mov p2,#11110111b
acall del_1s
mov p0,#11011011b
mov p2,#11110110b
ret
tl_4:
mov p0,#11011011b
mov p2,#11111100b
acall del_10s
mov p0,#11011011b
mov p2,#11111010b
acall del_1s
mov p0,#11011011b
mov p2,#11111110b
acall del_1s
mov p0,#11011011b
mov p2,#11111010b
acall del_1s
mov p0,#11011011b
mov p2,#11111110b
acall del_1s
mov p0,#11011011b
mov p2,#11111010b
acall del_1s
mov p0,#11011011b
mov p2,#11110110b
ret
del_10s:
push acc ;simpan acc pada stack pointer
push 00h ;simpan 00h pada stack pointer
mov a,#10
del1:
call del_1s
djnz acc, del1 ;kurangi acc dengan 1 sampai 0, lompat ke label del_1s
pop 00h ;keluarkan 00h pada stack pointer.
pop acc ;keluarkan acc pada stack pointer.
ret ;kembali ke label yang melakukan call.
del_1s:
mov tmod,#01h
mov th0,#3ch ;yang menyebabkan tunda waktu 1 detik.
mov tl0,0b0h ;yang menyebabkan tunda waktu 1 detik.
mov r7,#00h
setb tr0
del:
jnb tf0,del
mov th0,#3ch
mov tl0,#0b0h
clr tf0
inc r7
cjne r7,#14,del ;yang menyebabkan tunda waktu 1 detik.
ret
end ;akhir dari sebuah program
Baik itulah hasil simulasi Traffic Light.
Semoga Bermanfaat.
Assalamualaikum Wr.Wb
Posting Komentar - Back to Content