Label

Jumat, 02 Desember 2016

Program Running Teks Untuk Mikrocontroller


Sebelumnya saya telah meng post " program peluncur rocket" Nah kita belajar yang baru.

;;; Look ;;;;;

Program Yang dibuat menggunakan DB yang di manipulasi .
Program Yang dibuat menggunkan M - IDE dan Proteus


---------------------------------------------------------------------------------------
;PROGRAM RUNNING TEKS
;PEMAKAIAN RAM
;70H-77H = DATA 7SEGMENT = KIRI
;78H = DATA COMMON DISPLAY
;79H = UNTUK DELAY DISPLAY 1 COMMON
;7AH= UNTUK DELAY 8 COMMON
;7BH = COUNTER RAM TO PORT DISPAY
;7CH = COUNTER BUFFER RAM DISPLAY
;7DH = JUMLAH TEXT
;7EH = POINTER UNTUK TENTUKAN DPTR
;------------------------------------------
ORG 0H
LJMP MULAI
;------------------------------------------
;SUBRUTIN UNTUK MENGISI BUFFER RAM DISPLAY
ISI_BUFFER:
     MOV 7CH,#08H           ;JUMLAH DIGIT 7 SEGMENT
     MOV R0,#70H
ULANG:
      MOV A,7EH
      MOVC A,@A+DPTR
      MOV @R0,A
      INC DPTR
      INC R0
      DJNZ 7CH,ULANG
      RET
;SUBRUTIN UNTUK MENAMPILKAN ISI RAM BUFFER DISPLAY KE 8 X 7 SEGMENT
DIS8SEG:
         MOV 7BH,#08H
         MOV R1,#70H
         MOV 78H,#00H
ULANG2:
         MOV A,@R1
         MOV P0,A
         INC R1
         MOV A,78H
         MOV P3,A
         ADD A,#20H
         MOV 78H,A
         LCALL DELAY
         MOV P0,#0FFH
         DJNZ 7BH,ULANG2
         RET
DELAY:
         MOV 79H,#0E0H
DELAY1: 
         DJNZ 79H,DELAY1
         RET
; SUBRUTIN TAMPILAN
DISPLAY:
        MOV 7AH,#050H
DISPLAY1:
        LCALL DIS8SEG
        DJNZ 7AH,DISPLAY1
        RET
;
MULAI:
       MOV 7EH,#1
       MOV 7DH,#32
NEXDATA:
       MOV DPTR,#TOI
       LCALL ISI_BUFFER
       LCALL DISPLAY
       INC 7EH
       DJNZ 7DH,NEXDATA
       ;LCALL DISPLAY
LJMP MULAI
TOI:  DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
      DB 10010010B,10001000B,10010001B,10001000B,11001000B,10010000B,11111111B ;SAYANG
      DB 11111001B,10000011B,11000001B,11111111B ;IBU
      DB 10111111B,11111111B ;-
      DB 10001000B,10010001B,10001000B,10001011B,11111111B ;AYAH
      DB 10111111B,11111111B ;-
      DB 10001000B,10100001B,11111001B,10001111B,11111111B ;ADIK
END
----------------------------------------------------------------------------------------------------
SELAMAT MENCOBA

Tidak ada komentar:

Posting Komentar