Eprom Programming (1)
Eprom Programming (1)
Percobaan VIII
JUDUL:
EPROM PROGRAMMING (1):
PROSES DESAIN PROGRAM SAMPAI BURNING KE EPROM
UNTUK SISTEM RANGKAIAN BERBASIS MIKROPOSESOR Z80
OBYEKTIF:
Memberikan pengetahuan kepada praktikan tentang tata cara
memproses program dari disain sampai langkah pemrograman EPROM
melalui EPROM PROGRAMMER. Setelah percobaan ini selesai, diharapkan
praktikan dapat melakukan sendiri tata cara disain program sampai jadi
dan diuji di sistem minumumnya.
PERALATAN :
1.
2.
3.
4.
5.
6.
Modul FZ80 CPU, Modul FZ80If & FZ80 I/O untuk pengujian program
Seperangkat Komputer IBM PC
Paket program compiler ; ZAS.EXE, OBJTOHEX.EXE & M.EXE
EPROM programmer PALLETE-1 atau programmer yang lain
EPROM Eraser
DC Regulator Power Supply
PROGRAM PERCOBAAN:
;
;*
;*
;*
;*
;*
;*
;*
;
_6_
_
*
*
*
*
*
*
*
PPIA
equ
80h
PPIB
equ
81h
;_______________________
_
PPIC
equ
82h
;_ Alamat Kerja PPI 8255
_
PPICW equ
83h
;_______________________
_
INIT
equ
10001011B
COUNT equ
78
;data counter dalam decimal
;
;***********************PAGE0 Definition*********************
;
org
0h
im
id
jp
1
sp, 0000h
main
org
reti
38h
org
jp
66h
start
;
_____
;* Disini JUMP ke START *
;
;
;***************** rutin insialisasi PPI8255 ****************
;
PPINIT:
ld
a,INIT
;inisialisasi PPI8255
out
(PPICW),a
;A-out, B-in, C-in/Mode 0
ret
;****************** END of PAGE0 Definition *****************
;
;
org
100h
;Main Program dimulai di
;alamat 0100h
;
;********************** MAIN PROGRAM ************************
main:
call
PPINT
;
ld
c, PPIPA; Alamat output Port
halt
;________________________________
;*PROGRAM HALTED <seperti PAUSE>*
;*Menunggu tombol NMI ditekan.*
;
__________________________
********************** INTI MAIN PROGRAM ********************
start:
ld
b,COUNT ;Konstanta Counter
ld
hl,data1 ;Pointer data display
loop: outi
;(C)<-(HL), HL <- HL + 1, B <- B-1
call
tscan
jr
nz,loop ;Ulang bila data belum habis
halt
;Bila satu kali looping terpenuhi
;program di-halt/pause, menunggu
;NMI ditekan kembali
;
****************** END of INTI MAIN PROGRAM *****************
;
;------------------------subroutine tscan (timer & scanning)tscan: push
hl ;________________________________
push
de ;* Simpan semua status register *
push
af ;________________________________
push
bc
;
in
a, (PPIB)
cp
80h
jr
nz,s10
ld
de,013fh
jp
timer
;
S10:
cp
40h
jr
nz,s20
ld
de,023fh
jp
timer
;
S20:
cp
20h
jr
nz,s30
ld
de,033fh
jp
timer
;
S30:
cp
10h
jr
nz,s40
ld
de,043fh
jp
timer
;
S40:
cp
08h
jr
nz,s50
ld
de,053fh
jp
timer
;
S50:
cp
04h
jr
nz,s60
ld
de,063fh
jp
timer
;
S60:
cp
02h
jr
nz,s70
ld
de,073fh
jp
timer
;
S70:
cp
01h
jr
nz,s80
ld
de,083fh
jp
timer
;
S80:
ld
d,h
;Pemberian nilai parameter
Ld
e,l
;pada timer
************************* rutin timer ************************
timer:
ld
h,d
ld
l,e
t10:
ld
b,0ffh
u1:
djnz
u1
ret
;
data1: defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
dec
d
jr
nz,t10
;
pop
bc
pop
af
;________________________________
pop
de
;_ Return semua status register _
pop
hl
;________________________________
;******** end of rutin timer & scanning *********
10000000B
11000000B
11100000B
11110000B
01111000B
00111100B
00011110B
00001111B
00000111B
00000011B
00000001B
00000011B
00000111B
00001111B
00011110B
00111100B
01111000B
11110000B
11100000B
11000000B
10000000B
11000000B
11100000B
11110000B
11111000B
11111100B
11111110B
11111111B
01111111B
00111111B
00011111B
00001111B
00000111B
00000011B
00000001B
00000001B
00000010B
00000100B
00001000B
00010000B
;1
;2
;3
;4
;5
;6
;7
;8
;9
;10
;11
;12
;13
;14
;15
;16
;17
;18
;19
;20
;21
;22
;23
;24
;25
;26
;27
;28
;29
;30
;31
;32
;33
;34
;35
;36
;37
;38
;39
;40
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
defb
00100000B
01000000B
10000000B
10000001B
10000010B
10000100B
10001000B
10010000B
10100000B
11000000B
11000001B
11000010B
11000100B
11001000B
11010000B
11100000B
11100001B
11100010B
11100100B
11101000B
11110000B
11110001B
11110010B
11110100B
11111000B
11111001B
11111010B
11111100B
11111101B
11111110B
11111111B
01111111B
00111111B
00011111B
00001111B
00000111B
00000011B
00000001B
;41
;42
;43
;44
;45
;46
;47
;48
;49
;50
;51
;52
;53
;54
;55
;56
;57
;58
;59
;60
;61
;62
;63
;64
;65
;66
;67
;68
;69
;70
;71
;72
;73
;74
;75
;76
;77
;78
;
;*********************** end of datas ************************
PROSEDUR:
1. Ketiklah program diatas dengan text editor M.EXE (atau yang lain) di
computer IBM PC. Simpanlah dengan nama DIGIT-06.AS
2. Bila selesai dan telah disimpan, lakukan kompilasi dengan
menggunakan ZAS.EXE dengan cara sebagai berikut:
ZAS DIGIT-06.AS
<cr>
Proses kompilasi diatas, kalau benar akan menghasilkan file DIGIT-06.OBJ
di FZ80IF untuk