berikut ini adalah contoh program sederhana bahasa assembly untuk mikrokontroller untuk menampilkan data ke 7 segmen berjalan pada IC Mikrokontroller AT89S52
ORG 0H
LJMP MULAI
ISI_BUFFER:
MOV 7CH,#08H
MOV R0,#70H
ULANG:
MOV A,7EH
MOVC A,@A+DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ 7CH,ULANG
RET
DIS8SEG:
MOV 7BH,#08H
MOV R1,#70H
MOV 78H,#07FH
ULANG2:
MOV A,@R1
MOV P0,A
INC R1
MOV A,78H
MOV P2,A
RR A
MOV 78H,A
LCALL DELAY
MOV P0,#0FFH
MOV P2,#0FFH
DJNZ 7BH,ULANG2
RET
DELAY:
MOV 79H,#0E0H
DELAY1:
DJNZ 79H,DELAY1
RET
DISPLAY:
MOV 7AH,#050H
DISPLAY1:
LCALL DIS8SEG
DJNZ 7AH,DISPLAY1
RET
MULAI:
MOV 7EH,#1
MOV 7DH,#8
NEXTDATA:
MOV DPTR,#ELRAHMA
LCALL ISI_BUFFER
LCALL DISPLAY
INC 7EH
DJNZ 7DH,NEXTDATA
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
NEXTDATA2:
DEC 7EH
MOV DPTR,#ELRAHMA
LCALL ISI_BUFFER
LCALL DISPLAY
MOV A,7EH
CJNE A,#0,NEXTDATA2
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LJMP MULAI
ELRAHMA: DB 98H,0CCH,0ADH,0ADH,0EEH,0CDH,0FFH,0C8H,0CEH,0EAH,81H,0ACH,0ADH,0ADH,81H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
END
port 0 digunakan sebagai port data yang berfungsi untuk menampilkan data yang diproses oleh mikrokontroler sedangkan pada port2 digunakan sebagai port kendali yang berfungsi untuk mengendalikan data yang ditampilkan ke display 7 segment...
port data dan port kendali saling berkaiatan untuk dapat menampilkan data pada 7 segmen....
silahkan bagi yang ingin belajar dasar mikrokontroler AT89s52
----- *Jangan Lupa Komentarnya ya?* -----
ORG 0H
LJMP MULAI
ISI_BUFFER:
MOV 7CH,#08H
MOV R0,#70H
ULANG:
MOV A,7EH
MOVC A,@A+DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ 7CH,ULANG
RET
DIS8SEG:
MOV 7BH,#08H
MOV R1,#70H
MOV 78H,#07FH
ULANG2:
MOV A,@R1
MOV P0,A
INC R1
MOV A,78H
MOV P2,A
RR A
MOV 78H,A
LCALL DELAY
MOV P0,#0FFH
MOV P2,#0FFH
DJNZ 7BH,ULANG2
RET
DELAY:
MOV 79H,#0E0H
DELAY1:
DJNZ 79H,DELAY1
RET
DISPLAY:
MOV 7AH,#050H
DISPLAY1:
LCALL DIS8SEG
DJNZ 7AH,DISPLAY1
RET
MULAI:
MOV 7EH,#1
MOV 7DH,#8
NEXTDATA:
MOV DPTR,#ELRAHMA
LCALL ISI_BUFFER
LCALL DISPLAY
INC 7EH
DJNZ 7DH,NEXTDATA
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
NEXTDATA2:
DEC 7EH
MOV DPTR,#ELRAHMA
LCALL ISI_BUFFER
LCALL DISPLAY
MOV A,7EH
CJNE A,#0,NEXTDATA2
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LJMP MULAI
ELRAHMA: DB 98H,0CCH,0ADH,0ADH,0EEH,0CDH,0FFH,0C8H,0CEH,0EAH,81H,0ACH,0ADH,0ADH,81H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
END
port 0 digunakan sebagai port data yang berfungsi untuk menampilkan data yang diproses oleh mikrokontroler sedangkan pada port2 digunakan sebagai port kendali yang berfungsi untuk mengendalikan data yang ditampilkan ke display 7 segment...
port data dan port kendali saling berkaiatan untuk dapat menampilkan data pada 7 segmen....
silahkan bagi yang ingin belajar dasar mikrokontroler AT89s52
----- *Jangan Lupa Komentarnya ya?* -----
0 comments:
Posting Komentar
Please Coment This Post... ^_^ ....