Praktikum Mikrokontroler

PERCOBAAN 1
Program           : Led Flip-Flop
Deskripsi         : Led menyala kedap-kedip
Hardware        : P2 ke X1 atau P2 ke X2
Line Number
Mnemonik
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
Awal:
MOV P2, #0FFH
ACALL DELAY
MOV P2, #0
ACALL DELAY
SJMP AWAL
DELAY:
MOV R0, #7
DEL1:
MOV R1, #255
DEL2:
MOV R2, #255
DEL3:
DJNZ R2, DEL3
DJNZ R1, DEL2
DJNZ R0, DEL1
RET







PERCOBAAN 2
Program           : Led Ping-pong
Deskripsi         : Led menyala bolak-balik kekanan kekiri
Hardware        : P2 ke X1 atau P2 ke X2
Line Number
Mnemonik
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
Awal:
MOV P2, #00FH
ACALL DELAY
MOV P2, #0F0H
ACALL DELAY
SJMP AWAL
DELAY:
MOV R0, #7
DEL1:
MOV R1, #255
DEL2:
MOV R2, #255
DEL3:
DJNZ R2, DEL3
DJNZ R1, DEL2
DJNZ R0, DEL1
RET




                   


PERCOBAAN 3
Program           : Led Berjalan
Deskripsi         : Led menyala secara berurutan dari kanan ke kiri
Hardware        : P2 ke X1 atau P2 ke X2
Line Number
Mnemonik
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
Awal:
MOV P2, #0FEH
ACALL DELAY
MOV P2, #0FDH
ACALL DELAY
MOV P2, #0FBH
ACALL DELAY
MOV P2, #0F7H
ACALL DELAY
MOV P2, #0EFH
ACALL DELAY
MOV P2, #0DFH
ACALL DELAY
MOV P2, #0BFH
ACALL DELAY
MOV P2, #07FH
ACALL DELAY
SJMP AWAL
DELAY:
MOV R0, #7
DEL1:
MOV R1, #255
DEL2:
MOV R2, #255
DEL3:
DJNZ R2, DEL3
DJNZ R1, DEL2
DJNZ R0, DEL1
RET

PERCOBAAN 4
Program           : Seven Segmen Display
Deskripsi         : Seven Segmen menampilkan angka 0 s.d 9
Hardware        : P2 ke X1, P1 ke X2


Line Number
Mnemonik
Line Number
Mnemonik


001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
Awal:
MOV P1, #0FEH
MOV P2, #0C0H
ACALL DELAY
MOV P2, #0F9H
ACALL DELAY
MOV P2, #0A4H
ACALL DELAY
MOV P2, #0B0H
ACALL DELAY
MOV P2, #099H
ACALL DELAY
MOV P2, #092H
ACALL DELAY
MOV P2, #082H
ACALL DELAY
MOV P2, #0F8H
ACALL DELAY
MOV P2, #080H
ACALL DELAY
MOV P2, #090H
ACALL DELAY
SJMP AWAL
DELAY:
MOV R0, #7
DEL1:
MOV R1, #255
DEL2:
MOV R2, #255
DEL3:
DJNZ R2, DEL3
DJNZ R1, DEL2
DJNZ R0, DEL1
RET







PERCOBAAN 5
Program           : Push Button 1
Deskripsi         : Led menyala sesuai dengan tombol yang ditekan
Hardware        : P2 ke X1, P1 ke X2 ke Pushbutton
Line Number
Mnemonik
001
002
003
Awal:
MOV P1,P3
SJMP AWAL




















PERCOBAAN 6
Program           : Motor stepper
Deskripsi         : motor berputar berlawanan jarum jam
Hardware        : P0 ke motor stepper
Line Number
Mnemonik
Keterangan
001
002
003
004
005
006
007
008
009
010
Awal:
MOV P2, #0F7H
ACALL DELAY
MOV P2, #0FBH
ACALL DELAY
MOV P2, #0FDH
ACALL DELAY
MOV P2, #0FEH
ACALL DELAY
SJMP AWAL

Isi port 2 dengan data 0F7H
Panggil subrutin tunda
Isi port 2 dengan data 0FBH
Panggil subrutin tunda
Isi port 2 dengan data 0FDH
Panggil subrutin tunda
Isi port 2 dengan data 0FEH
Panggil subrutin tunda
Lompat ke label awal (lakukan berulang)













PERCOBAAN 7
Program           : Led Berjalan
Deskripsi         : Led berjalan dari kiri ke kanan secara berulang
Hardware        : P2 ke X1 atau P2 ke X2
Line Number
Mnemonik
Keterangan
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
Awal:
MOV P2, #07FH
Putar:
MOV P2, A
RR A
ACALL DELAY
SJMP PUTAR
DELAY:
MOV R5, #250
DEL1:
MOV R6, #100
DEL2:
MOV R7,#10
DJNZ R7,$
DJNZ R6, DEL2
DJNZ R5, DEL1
RET

Isi akumulator dengan data 7FH

Salin data dari akumulator ke P0 (nyalakan 1 lampu)
Putar 1 bit data pada akumulator ke arah kanan
Panggil subrutin tunda untuk waktu tunda penyelaan
Lompat ke label awal (lakukan secara berulang)

Isi register 5 dengan data 250

Isi register 6 dengan data 100

Isi register 7 dengan data 10
Kurangi R7 dengan 1 sampai 0*
Kurangi R6 jika belum 0 lompat ke label delay2**
Kurangi R7 jika belum 0 lompat ke label delay1***
Kembali ke program utama
                 






PERCOBAAN 8
Program           : Led Berjalan
Deskripsi         : Led berjalan dari tengah ke pinggir secara berulang
Hardware        : P2 ke X1 atau P2 ke X2
Line Number
Mnemonik
Keterangan
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
Awal:
MOV P2, #0E7H
ACALL DELAY
MOV P2,#0DBH
ACALL DELAY
MOV P2,#0BDH
ACALL DELAY
MOV P2,#07EH
ACALL DELAY
SJMP AWAL
DELAY:
MOV R5, #250
DEL1:
MOV R6, #40
DEL2:
MOV R7,#10
DJNZ R7,$
DJNZ R6, DEL2
DJNZ R5, DEL1
RET

Isi port 0 denagn data 0E7H
Panggil subrutin delay
Isi port 0 denagn data 0DBH
Panggil subrutin delay
Isi port 0 denagn data 0BDH
Panggil subrutin delay
Isi port 0 denagn data 07EH
Panggil subrutin delay
Lompat ke label awal (lakuan berulang)

Isi register 5 dengan data 250

Isi register 6 dengan data 40

Isi register 7 dengan data 10
Kurangi R7 dengan 1 sampai 0*
Kurangi R6 jika belum 0 lompat ke label delay2**
Kurangi R7 jika belum 0 lompat ke label delay1***
Kembali ke program utama


Comments

Popular Posts