Dalam menciptakan jadwal led berjalan ini sebelumnya dipostingan aku sudah banyak tutorial yang membahas jadwal led berjalan baik itu menciptakan jadwal led berjalan dengan port paralel, jadwal led berjalan dengan Bascom Avr, maupun jadwal led berjalan dengan Codevisionavr, jadwal led berjalan dengan Assembler MCS-51, tapi khusus kali ini kita akan membahas jadwal led berjalan dengan bahasa mikroprosesor Z80. Berikut programnya :
LD A, 00000001B ; mengisi register A dengan 1
CALL JALAN ; memanggil subfungsi JALAN
HALT ; Berhenti
JALAN : LD B, 8 ; mengisi register B dengan 8
LOOP : OUT (00H), A ; mengeluarkan output register A ke alat (led)
DEC B ; mengurangi regiter B
JRZ, FINISH-$ ; Jika nol maka lompat ke subfungsi FINISH
RLC A ; Geser ke kiri register A
JP LOOP1 ; lompat kembali ke LOOP
FINISH : RET ; return kembali pada jadwal utama
Berikut Tabel Penjelasan Register :
Mneumonic | Register | Flag Zero | Flag Carry | |
A | B | |||
LD A, 00000001B | 00000001 | |||
LD B, 8 | 00001000 | |||
OUT (OOH), A | 00000001 | |||
DEC B | 00000111 | 0 | ||
RLC A | 00000010 | 0 | ||
OUT (OOH), A | 00000010 | |||
DEC B | 00000110 | 0 | ||
RLC A | 00000100 | 0 | ||
OUT (OOH), A | 00000100 | |||
DEC B | 00000101 | 0 | ||
RLC A | 00001000 | 0 | ||
OUT (OOH), A | 00001000 | |||
DEC B | 00000100 | 0 | ||
RLC A | 00010000 | 0 | ||
OUT (OOH), A | 00010000 | |||
DEC B | 00000011 | 0 | ||
RLC A | 00100000 | 0 | ||
OUT (OOH), A | 00100000 | |||
DEC B | 00000010 | 0 | ||
RLC A | 01000000 | 0 | ||
OUT (OOH), A | 01000000 | |||
DEC B | 00000001 | 0 | ||
RLC A | 10000000 | 0 | ||
OUT (OOH), A | 10000000 | |||
DEC B | 00000000 | 1 | ||
RET | ||||
HALT | ||||
Post a Comment
Post a Comment