Teknik Elektronika Industri SMK Negeri 1 Bandar Masilam

Simulasi Traffic Light pada IC 89s51

Simulasi Traffic Light Pada IC 89s51

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