Sabtu, 04 Juni 2011

org 0h
ayam:
    mov p1,#01h;ijo
    call e;
    mov p1,#02h;kuning
    call e;
    mov p1,#04h;merah
    call f;
    sjmp ayam;

e:    MOV R0,#4FH;
E1:    MOV R1,#0FAH;
E2:    MOV R2,#0FAH;
DJNZ R2,$;
DJNZ R1,E2;
DJNZ R0,E1;
RET

F:    MOV R0,#9FH;
F1:    MOV R1,#0FAH;
F2:    MOV R2,#0FAH;
DJNZ R2,$;
DJNZ R1,F2;
DJNZ R0,F1;
RET
END



bang jo ning blA blA


org 0h
ayam:
mov p1,#01h;ijo
call e;
mov p1,#02h;kuning
call e;
mov p1,#04h;merah
call f;
sjmp ayam;

e: MOV R0,#4FH;
E1: MOV R1,#0FAH;
E2: MOV R2,#0FAH;
DJNZ R2,$;
DJNZ R1,E2;
DJNZ R0,E1;
RET

F: MOV R0,#9FH;
F1: MOV R1,#0FAH;
F2: MOV R2,#0FAH;
DJNZ R2,$;
DJNZ R1,F2;
DJNZ R0,F1;
RET
END



Selasa, 31 Mei 2011

PLC


Op

org 0h
mulai:jnb p1.0,nyala1
      jnb p1.1,nyala2
      jnb p1.2,mati
      ret
nyala1:call mulai
       mov a,#0feh
puter: call mulai
       mov p0,a
       call delay
       rl a
       call mulai
       cjne a,#0feh,puter
       sjmp nyala1
nyala2:call mulai
       mov a,#7fh
puter1:call mulai
       mov p0,a
       call delay
       rr a
       call mulai
       cjne a,#7fh,nyala2
       sjmp nyala2
mati:call mulai
     mov p0,#0ffh
     call mulai
     sjmp mati
delay:mov r0,#0
delay1:mov r1,#0
delay2:mov r2,#01h
       djnz r2,$
       djnz r1,delay2
       djnz r2,delay1
       ret
       end;

jam digital

DSEG
org    20H

pencacah2:    DS    1
pencacah10:    DS    1
pencacah60:    DS    1
detik:        DS    1
detikpul:    DS    1
detiksat:    DS    1
menit:        DS    1
menitpul:    DS    1
menitsat:    DS    1
jam:        DS    1
jampul:        DS    1
jamsat:        DS    1
ROM        EQU    0
konstantawaktu    EQU    -50000

CSEG
ORG    ROM
LJMP    MULAI

org    ROM+3H
RETI

org    ROM+0BH
AJMP    detikinterrupt

org    ROM+13H
RETI

org    ROM+1BH
RETI

org    rom+23H
RETI

MULAI:
    MOV pencacah2,#2
    MOV pencacah10,#10
    MOV pencacah60,#60
    MOV detik,#0
    MOV menit,#0
    Mov jam,#0

Tampil:    acall perbaruitampilan

    MOV    TMOD,#01H
    MOV    TH0,#High konstantawaktu
    MOV    TL0,#Low konstantawaktu
    SETB    ET0
    SETB    EA
    SETB    TR0

Utama:
    acall perbaruitampilan
    MOV    p0,#0FFH
    MOV    p2,detikpul
    MOV    p0,#0FDH
    acall tunggusebentar
    MOV    p0,#0FFH
    MOV    p2,detiksat
    MOV    p0,#0FEH
    acall tunggusebentar
    acall perbaruitampilan
    MOV    p0,#0FFH
    MOV    p2,menitPul
    MOV    p0,#0FEH
    acall tunggusebentar
    MOV    p0,#0FFH
    MOV    p2,menitSat
    MOV    p0,#0FEH
    acall tunggusebentar
    MOV    p0,#0FFH
    MOV    p2,jamPul
    MOV    p0,#0FDH
    acall tunggusebentar
    MOV    p0,#0FFH
    MOV    p2,jamsat
    MOV    p0,#0FEH
    acall tunggusebentar
    JMP    Utama

tunggusebentar:
    MOV    R6,#3
tunggulagi:
    MOV    R7,#175
    DJNZ    R7,$
    DJNZ    R6,tunggulagi
    MOV    R6,#0FFH
    RET

detikinterrupt:
    push    PSW
    push    Acc
    MOV    TL0,#Low konstantawaktu
    MOV    TH0,#High konstantawaktu
    DJNZ    pencacah10,selesaiInterupsi
    MOV    pencacah10,#10

    DJNZ    pencacah2,selesaiInterupsi
    MOV    pencacah2,#2

    acall clok

selesaiInterupsi:
    pop    Acc
    pop    PSW
    RETI
clok:
satudetik:
    INC    detik
    MOV    A,detik
    CJNE    A,#60,selesai
    MOV    detik,#0

    INC    menit
    MOV    A,menit
    CJNE    A,#59,selesai
    MOV    detik,#0

selesai:
    RET
perbaruitampilan:
    MOV    R0,#detikpul

    MOV    A,menit
ruasduadigit:
    MOV    B,#10
    DIV    AB
    acall ruassatudigit
    MOV    A,B
ruassatudigit:
    MOV    @R0,A
    INC    R0

jadikanruas:
    INC    A
    MOVC    A,@A+pc
    RET

kombinasiruas:
;        -abcdefg
    DB    10000001B    ;0
    DB    11001111B    ;1
    DB    10010010B    ;2
    DB    10000110B    ;3
    DB    11001100B    ;4
    DB    10100100B    ;5
    DB    10100000B    ;6
    DB    10001111B    ;7
    DB    10000000B    ;8
    DB    10000100B    ;9

    END

antrian

        DSEG
        ORG    20H
Nomor:        DS    1
Loket:        DS    1
Pencacah10:    DS    1
Pencacah2:    DS    1

RuasLoket:    DS    1
RuasUmum10:    DS    1
RuasUmum1:    DS    1
Ruas1pul:    DS    1
Ruas1sat:    DS    1
Ruas2pul:    DS    1
Ruas2sat:    DS    1

Tombol1        BIT    P3.0
Tombol2        BIT    P3.7
       
ROM        EQU    0
KonstantaWaktu    EQU    -50000


        CSEG
        ORG    ROM
        LJMP    Mulai

        ORG    ROM+3H
        RETI
   
        ORG    ROM+0BH
        AJMP    TimerInterrupt
   
        ORG    ROM+13H
        RETI
   
        ORG    ROM+1BH
        RETI
   
        ORG    ROM+23H
        RETI   

Mulai:
        MOV    Nomor,#0
        MOV    Loket,#1
        MOV    Pencacah2,#2
        MOV    Pencacah10,#10
        ACALL    Tampilanbaru1
        ACALL    Tampilanbaru2
       
        MOV    TMOD,#01H
        MOV    TH0,#High KonstantaWaktu
        MOV    TL0,#Low KonstantaWaktu
        SETB    ET0   
        SETB    EA    
        SETB    TR0

Utama:
        LCALL    Display
       
Sakelar1:    JB    Tombol1,Sakelar2
        INC    Nomor
Tekan1:        LCALL    Tampilanbaru1
        LCALL    Display
        JNB    Tombol1,Tekan1
        MOV    A,#99
        CJNE    A,Nomor,Sakelar2
        MOV    Nomor,#0

Sakelar2:    JB    Tombol2,Utama
        INC    Nomor
Tekan2:        LCALL    Tampilanbaru2
        LCALL    Display
        JNB    Tombol2,Tekan2
        MOV    A,#99
        CJNE    A,Nomor,Utama
        MOV    Nomor,#0
        LJMP    Utama
Display:
        MOV    P0,#0FFH
        MOV    P2,Ruas1pul
        MOV    P0,#11110111B
        ACALL    Tunggu
       
        MOV    P0,#0FFH
        MOV    P2,Ruas1sat
        MOV    P0,#11111011B
        ACALL    Tunggu

        MOV    P0,#0FFH
        MOV    P2,Ruas2pul
        MOV    P0,#11111101B
        ACALL    Tunggu

        MOV    P0,#0FFH
        MOV    P2,Ruas2sat
        MOV    P0,#11111110B
        ACALL    Tunggu

        MOV    P0,#0FFH
        MOV    P2,RuasLoket
        MOV    P0,#10111111B
        ACALL    Tunggu
   
        MOV    P0,#0FFH
        MOV    P2,RuasUmum10
        MOV    P0,#11011111B
        ACALL    Tunggu

        MOV    P0,#0FFH
        MOV    P2,RuasUmum1
        MOV    P0,#11101111B
        ACALL    Tunggu

        RET

Tunggu:        MOV    R6,#3
TungguLagi:    MOV    R7,#250
        DJNZ    R7,$
        DJNZ    R6,TungguLagi
        MOV    P0,#0FFH
        RET

TimerInterrupt:
        Push    PSW
        Push    Acc

        MOV    TL0,#Low KonstantaWaktu
        MOV    TH0,#High KonstantaWaktu
        DJNZ    Pencacah10,SelesaiInterupsi
        MOV    Pencacah10,#10       
        DJNZ    Pencacah2,SelesaiInterupsi
        MOV    Pencacah2,#2
       
        INC    Loket
        MOV    A,#3
        CJNE    A,Loket,Detik
        MOV    Loket,#1
Detik:
        ACALL    Umum

SelesaiInterupsi:
        Pop    Acc
        Pop    PSW
        RETI

Umum:       
        MOV    A,#1
        CJNE    A,Loket,Loket2
        MOV    RuasLoket,#0CFH
        MOV    A,Ruas1pul
        MOV    RuasUmum10,A
        MOV    A,Ruas1sat
        MOV    RuasUmum1,A
        JMP    Kembali
Loket2:       
        MOV    A,#2
        CJNE    A,Loket,Kembali
        MOV    RuasLoket,#092H
        MOV    A,Ruas2pul
        MOV    RuasUmum10,A
        MOV    A,Ruas2sat
        MOV    RuasUmum1,A

Kembali:   
        RET

Tampilanbaru1:
        MOV    R0,#Ruas1pul
        MOV    A,Nomor
        MOV    P1,A

Ruas2Digit:    MOV    B,#10
        DIV    AB
        ACALL    Ruas1Digit
        MOV    A,B
Ruas1Digit:    ACALL    JadikanRuas
        MOV    @R0,A
        INC    R0
        RET
Tampilanbaru2:
        MOV    R0,#Ruas2pul
        MOV    A,Nomor
        ADD    A,#128
        MOV    P1,A
        MOV     A,Nomor

RuasDuaDigit:    MOV    B,#10
        DIV    AB
        ACALL    RuasSatuDigit
        MOV    A,B
RuasSatuDigit:    ACALL    JadikanRuas
        MOV    @R0,A
        INC    R0
        RET

JadikanRuas:    INC    A
        MOVC    A,@A+PC
        RET
KombinasiRuas:
               ;-abcdefg
        DB    10000001B    ;0
        DB    11001111B    ;1
        DB    10010010B    ;2
        DB    10000110B    ;3
        DB    11001100B    ;4
        DB    10100100B    ;5
        DB    10100000B    ;6
        DB    10001111B    ;7
        DB    10000000B    ;8
        DB    10000100B    ;9
        END

Minggu, 03 April 2011

salas


org 0h
salas: 

mov p0,#01111111b
mov p1,#11111111b
mov p2,#11111111b
mov p3,#01111111b
acall samurai
mov p0,#00111111b
mov p1,#01111111b
mov p2,#11111111b
mov p3,#00111111b
acall samurai
mov p0,#00011111b
mov p1,#00111111b
mov p2,#01111111b
mov p3,#00011111b
acall samurai
mov p0,#00001111b
mov p1,#10011111b
mov p2,#01111111b
mov p3,#00001111b
acall samurai
mov p0,#00000111b
mov p1,#11001111b
mov p2,#10011111b
mov p3,#00000111b
acall samurai
mov p0,#00000011b
mov p1,#11100111b
mov p2,#10011111b
mov p3,#00000011b
acall samurai
mov p0,#10000001b
mov p1,#11110011b
mov p2,#11001111b
mov p3,#10000001b
acall samurai
mov p0,#11000000b
mov p1,#01111001b
mov p2,#01100111b
mov p3,#01000000b
acall samurai
mov p0,#01100000b
mov p1,#10111100b
mov p2,#00110011b
mov p3,#10100000b
acall samurai
mov p0,#00110000b
mov p1,#11011110b
mov p2,#00011001b
mov p3,#11010000b
acall samurai
mov p0,#10011000b
mov p1,#01101111b
mov p2,#00001100b
mov p3,#01101000b
acall samurai
mov p0,#11001100b
mov p1,#10110111b
mov p2,#10000110b
mov p3,#10110100b
acall samurai
mov p0,#01100110b
mov p1,#01011011b
mov p2,#01000011b
mov p3,#01011010b
acall samurai
mov p0,#10110011b
mov p1,#10101101b
mov p2,#10100001b
mov p3,#00101101b
acall samurai
mov p0,#11011001b
mov p1,#11010110b
mov p2,#11010000b
mov p3,#00010110b
acall samurai
mov p0,#11101100b
mov p1,#11101011b
mov p2,#11101000b
mov p3,#00001011b
acall samurai
mov p0,#11110110b
mov p1,#11110101b
mov p2,#11110100b
mov p3,#10000101b
acall samurai
mov p0,#11111011b
mov p1,#01111010b
mov p2,#01111010b
mov p3,#01000010b
acall samurai
mov p0,#01111101b
mov p1,#10111101b
mov p2,#00111101b
mov p3,#10100001b
acall samurai
mov p0,#00111110b
mov p1,#11011110b
mov p2,#00011110b
mov p3,#11010000b
acall samurai
mov p0,#10011111b
mov p1,#01101111b
mov p2,#00001111b
mov p3,#01101000b
acall samurai
mov p0,#11001111b
mov p1,#10110111b
mov p2,#10000111b
mov p3,#10110100b
acall samurai
mov p0,#01100111b
mov p1,#11011011b
mov p2,#11000011b
mov p3,#01011010b
acall samurai
mov p0,#00110011b
mov p1,#01101101b
mov p2,#11100001b
mov p3,#00101101b
acall samurai
mov p0,#00011001b
mov p1,#00110110b
mov p2,#01110000b
mov p3,#00010110b
acall samurai
mov p0,#00001100b
mov p1,#10011011b
mov p2,#01111000b
mov p3,#00001011b
acall samurai
mov p0,#00000110b
mov p1,#11001101b
mov p2,#10011100b
mov p3,#00000101b
acall samurai
mov p0,#00000011b
mov p1,#11100110b
mov p2,#10011110b
mov p3,#00000010b
acall samurai
mov p0,#10000001b
mov p1,#11110011b
mov p2,#11001111b
mov p3,#10000001b
acall samurai
mov p0,#11000000b
mov p1,#11111001b
mov p2,#11100111b
mov p3,#11000000b
acall samurai
mov p0,#01100000b
mov p1,#11111100b
mov p2,#11110011b
mov p3,#11100000b
acall samurai
mov p0,#00110000b
mov p1,#11111110b
mov p2,#01111001b
mov p3,#01110000b
acall samurai
mov p0,#00011000b
mov p1,#01111111b
mov p2,#10111100b
mov p3,#10111000b
acall samurai
mov p0,#00001100b
mov p1,#10111111b
mov p2,#11011110b
mov p3,#11011100b
acall samurai
mov p0,#10000110b
mov p1,#11011111b
mov p2,#11101111b
mov p3,#11101110b
acall samurai
mov p0,#11000011b
mov p1,#01101111b
mov p2,#01110111b
mov p3,#11110111b
acall samurai
mov p0,#01100001b
mov p1,#10110111b
mov p2,#10111011b
mov p3,#01111011b
acall samurai
mov p0,#00110000b
mov p1,#11011011b
mov p2,#11011101b
mov p3,#00111101b
acall samurai
mov p0,#10011000b
mov p1,#01101101b
mov p2,#01101110b
mov p3,#10011110b
acall samurai
mov p0,#11001100b
mov p1,#10110110b
mov p2,#10110111b
mov p3,#11001111b
acall samurai
mov p0,#11100110b
mov p1,#11011011b
mov p2,#11011011b
mov p3,#11100111b
acall samurai
mov p0,#11110011b
mov p1,#11101101b
mov p2,#11101101b
mov p3,#11110011b
acall samurai
ljmp salas
samurai: mov r0,#0ffh
samurai1: mov r1,#0ffh
samurai2: mov r2,#10h
djnz r2,$
djnz r1,samurai2
djnz r0,samurai1
ret
end