Tentang Ku

Program Jam Digital,dengan Dotmatrix

A.TUJUAN PRAKTEK
Setelah selesai praktek diharapkan siswa dapat:
1. Terampil dalam merangkai rangkaian
2. Terampil menggunakan IC Digital
3. Terampil membaca gambar skema rangkaian
4. Terampil merangkai rangkaian
5. Trampil dalam melakukan pemrograman IC

B.ALAT DAN BAHAN YANG DIPERGUNAKAN
1.ALAT
  Sebuah pc
  Kabel dan tempat transfer data pada IC
  Softwere simulasi yang terkait(Proteus)
  Alat tulis
2.BAHAN
   IC AT89C51
   IC 74164
   Resistor 10k
   Capasitor 33p  
   Dot matrix
   Kabel Penghubung
   Crystal
   Sumber tegangan 5v
   Elco 47 uf 16 v
   Respack

C.KESEHATAN DAN KESELAMATAN KERJA
1. Perhatikan cara memegang IC yang benar
2. Sebelum melakukan langkah-langkah percobaan,yakinlah bahwa Switch Power
Base pada kondisi off.


D.INSTRUKSI KERJA
1. Pastikan alat dan bahan tersedia
2. Pastikan alat dan bahan siap digunakan
3. Tulis program sebagai berikut:

;=================================================
;PROGRAM 4.1:
;=================================================

;PORT0=DATA SEGMEN
;PORT2=DIGIT SELECT
;PORT 3.2=SET JAM
;PORT 3.3=SET MENIT
;PORT 3.4=SET DETIK

$MOD51
    SEGM    EQU    P0
    DGSEL    EQU    P2
    DSEG
    ORG    50H
JAM:           DS 1
MENIT:       DS 1
DETIK:        DS 1
DTK20:        DS 1
TSCAN:       DS 1
DISPBUF:    DS 32
S_DTK     BIT     P3.0
S_MNT    BIT    P3.2
S_JAM     BIT     P3.4

BARIS    EQU      P0
DTA        BIT       P2.0
MRST     BIT       P2.2
CLOCK    BIT     P2.4
JKL    EQU    40

    CSEG
    ORG 0H
    JMP START

    ORG 0BH
    JMP TIMER0

START:    MOV JAM,#0
    MOV MENIT,#0
    MOV DETIK,#0
    MOV DPTR,#TBL
    MOV TMOD,#11H
    MOV TH0,#HIGH(-50000)
    MOV TL0,#LOW(-50000)
    MOV DTK20,#20
    SETB EA
    SETB ET0
    SETB TR0
MAIN:   
    MOV TSCAN,#100

LOOP:   
    CALL DISPLAY
    DJNZ TSCAN,LOOP
    CALL SCAN_INPUT
    JMP    MAIN
;SUB PROGRAM
TIMER0:   
    MOV TH0,#HIGH(-5000)
    MOV TL0,#LOW(-5000)
    MOV R4,DTK20
    CJNE R4,#10,TXX
    MOV DISPBUF+12,#107
    MOV DISPBUF+26,#107
   
TXX:   
    CJNE R4,#20,TXY
    MOV DISPBUF+12,#127
    MOV DISPBUF+26,#127

TXY:   
    DJNZ DTK20,X_TIM0
    MOV DTK20,#20
    INC DETIK
    MOV R4,DETIK
    CJNE R4,#60,X_TIM0
    MOV DETIK,#0
    INC MENIT
    MOV R4,MENIT
    CJNE R4,#60,X_TIM0
    MOV MENIT,#0
    INC JAM
    MOV R4,JAM
    CJNE R4,#24,X_TIM0
    MOV JAM,#0
X_TIM0:    RETI

SCAN_INPUT:
P_JAM:    JB S_JAM,P_MNT
    INC JAM
    MOV A,JAM
    CJNE A,#24,EXIT_SCAN
    MOV JAM,#0
   
P_MNT:    JB S_MNT,P_DTK
    INC MENIT
    MOV A,MENIT
    CJNE A,#60,EXIT_SCAN
    MOV MENIT,#0

P_DTK:    JB S_DTK,EXIT_SCAN
    INC DETIK
    MOV A,DETIK
    CJNE A,#60,EXIT_SCAN
    MOV DETIK,#0
EXIT_SCAN: RET

DISPLAY:CALL CONVERT
    MOV    R0,#DISPBUF
    CALL    RST
    MOV    R6,#0
NKOLOM:    MOV    A,@R0
    MOV    BARIS,A
    CALL   TUNDA
    MOV    BARIS,#127
    CALL   CLK
    INC      R6
    INC      R0
    CJNE   R6,#JKL,NKOLOM

SDATA:   
    SETB    DTA
    CALL   CLK
    CLR     DTA
    RET

RST:   
    CLR    MRST
    NOP
    SETB   MRST
    CALL  SDATA
    RET

CLK:  
    SETB    CLOCK
    NOP
    CLR      CLOCK
    RET

TUNDA:   
    MOV    B,#85
    DJNZ    B,$
    RET

CONVERT:
    MOV    DPTR,#TBL
    MOV    R0,#DISPBUF
    MOV    R1,#JAM
N_CONV:   
    MOV    A,@R1
    MOV    B,#10
    DIV      AB
    PUSH   B
    MOV    B,#6
    MUL    AB
    MOV    B,#6
CON1:   
    PUSH    ACC
    MOVC    A,@A+DPTR
    MOV    @R0,A
    INC    R0
    POP    ACC
    INC    A
    DJNZ    B,CON1
    POP B
    MOV A,#6
    MUL AB
    MOV B,#6
CON2:   
    PUSH ACC
    MOVC A,@A+DPTR
    MOV @R0,A
    INC R0
    POP ACC
    INC A
    DJNZ B,CON2
    INC R0
    MOV @R0,#127
    INC R0
    INC R1
    CJNE R1,#detik+1,n_conv
    RET
DELAY:    MOV R6,#10
DLY:       MOV R5,#150
    DJNZ R5,$
    DJNZ R6,DLY
    RET
;angka
;0123456789=10 chr
tbl:   
    db 65,46,54,58,65,127            ;0
    db 127,61,0,63,127,127          ;1
    db 29,46,54,54,57,127            ;2
    db 93,54,54,54,73,127            ;3
    db 103,107,109,0,111,127      ;4
    db 88,58,58,58,70,127            ;5
    db 67,53,54,54,79,127            ;6
    db 126,14,118,122,124,127    ;7
    db 73,54,54,54,73,127            ;8
    db 121,54,54,86,97,127          ;9
end

4. Kemudian rangkailah rangkaian seperti gambar berikut:
5. Jika sudah selesai laporkan pada guru pembimbing.
6. Buat laporan sesuai dengan yang sudah di praktekan.

5 komentar:

asdfasfas mengatakan...

mas, list programnya pake bahasa apa mas? tak coba pake bhs asm ko di conver ke hex ada yg eror di timer0: gmna mas? maaf baru ikut belajar trims.kalo nggak minta scode+proteusnya mas ni email sy: luthfan_55091@yahoo.co.id

Unknown mengatakan...

maaf maz,,ni ajaran jg dah lama and g pernah di coba lagi,,jd lupa jga deh,,,ni dapet list dari guru praktik ane...

ZMS mengatakan...

LUTHFAN....

Timer0 ganti dengan Timer_0

makasih...

ZMS mengatakan...

LUTHFAN....

Timer0 ganti dengan Timer_0

makasih...

Shayaan Mustafa mengatakan...

Hello sir, May I get the proteus design file of this project along with its code using assembly language?

Thank you very much

Posting Komentar

 
Copyright © Ibnu Darmawan