Program ini dapat menampilkan
angka 00 – 99 ( up counter ) jika tombol 1 (P1.0) ditekan dan dapat menampilkan
angka 99 – 00 (down counter) jika tombol 2 (P1.1) ditekan. Untuk tombol 3
(P1.2) berfungsi mematikan/menghentikan counter setiap saat (kembali ke 00).
Asumsi yang digunakan P0
digunakan untuk mengendalikan
seven segment puluhan dan P2 mengendalikan seven segmen satuan. Untuk formasi segment pada port menggunakan urutan sebagai berikut :
seven segment puluhan dan P2 mengendalikan seven segmen satuan. Untuk formasi segment pada port menggunakan urutan sebagai berikut :
PORT 0
|
P0.7
|
P0.6
|
P0.5
|
P0.4
|
P0.3
|
P0.2
|
P0.1
|
P0.0
|
PORT 2
|
P2.7
|
P2.6
|
P2.5
|
P2.4
|
P2.3
|
P2.2
|
P2.1
|
P2.0
|
SEVEN
SEGMEN
|
DP
|
G
|
F
|
E
|
D
|
C
|
B
|
A
|
Contoh programnya adalah sebagai
berikut :
ORG 0H
START: MOV
P2,#0C0H
MOV
P0,#0C0H
JNB
P1.0,NAIK
JNB
P1.1,TURUN
SJMP
START
NAIK: MOV
DPTR,#ANGKA
MOV
R6,#10
MOV
R1,#0
NAIKLAGI:
MOV
R7,#10
MOV
R0,#0
CLR
A
MOV
A,R1
MOVC
A,@A+DPTR
MOV
P2,A
NAIKLAGII:
CLR
A
MOV
A,R0
MOVC
A,@A+DPTR
MOV
P0,A
INC
R0
ACALL
TUNDA
JNB
P1.2,START
DJNZ
R7,NAIKLAGII
INC
R1
DJNZ
R6,NAIKLAGI
LJMP
NAIK
TURUN: MOV
DPTR,#ANGKA
MOV
R6,#10
MOV
R1,#9
TURUNLAGI:
MOV
R7,#10
MOV
R0,#9
CLR
A
MOV
A,R1
MOVC
A,@A+DPTR
MOV
P2,A
TURUNLAGII:
CLR
A
MOV
A,R0
MOVC
A,@A+DPTR
MOV
P0,A
DEC
R0
ACALL
TUNDA
JNB
P1.2,START
DJNZ
R7,TURUNLAGII
DEC
R1
DJNZ
R6,TURUNLAGI
LJMP
TURUN
TUNDA: MOV R4,#100
LOOP1: MOV
R2,#100
LOOP: MOV
R3,#30
DJNZ
R3,$
DJNZ
R2,LOOP
DJNZ
R4,LOOP1
RET
ANGKA: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
Tidak ada komentar:
Posting Komentar