Laboratorium MIKROKONTROLER 1
8051 AT89S52
Proyek 04
Tabel Konversi
Disusun oleh:
Kelompok EK-2A / 01
06 - Ari Hardoyo Abdur Rahman NIM 3.32.15.0.06
12 - Helmi Adi Pradana 3.32.15.0.12
18 - Prasetyo Muhammad Sakti 3.32.15.0.18
2. Dasar Teori
Mikrokontroller 8051 mempunyai beberapa cara pengalamatan, yaitu:
1. Pengalamatan Register (register addressing).
Cara ini hanya berlaku untuk register R0 sampai R7. Misalnya instruksi;
a) MOV R7,22H menyebabkan isi RAM internal alamat 22H disalin ke
Register R7.
2. Pengalamatan Langsung (direct addressing).
Cara pengalamatan seperti ini hanya berlaku untuk RAM internal dan SFR. Pada
cara ini, dalam instruksinya operand ditunjukkan oleh suatu alamat yang
lebarnya 8-bit. Misalnya instruksi;
a) MOV 24H,22H menyebabkan isi RAM internal alamat 22H disalin ke RAM
internal alamat 24H.
b) MOV TMOD,#00010001B menyebabkan angka biner 00010001
dimasukkan ke register TMOD.
c) MOV 24H,P1 menyebabkan kondisi pin pada Port 1 direkam ke dalam
RAM internal alamat 24H.
3. Pengalamatan tidak langsung (indirect addressing).
Cara pengalamatan ini hanya berlaku untuk RAM internal. Pada cara ini,
instruksi menunjukkan suatu register yang isinya adalah alamat dari suatu
operand . Misalnya instruksi;
MOV @R0,22H menyebabkan isi RAM internal alamat 22H disalin ke
RAM internal yang alamatnya tersimpan pada registe R0.
4. Pengalamatan segera (immediate addressing).
Cara ini berlaku untuk RAM internal dan SFR, di mana data yang akan
dilibatkan tertulis langsung pada instruksinya, misalnya instruksi;
MOV TMOD,#00010001B menyebabkan angka biner 00010001
dimasukkan ke register TMOD.
MOV 24H,#22H menyebabkan angka 22H dimasukkan ke RAM internal
alamat 24H.
5. Pengalamatan berindeks (indexed addressing).
Biasanya cara ini digunakan untuk mengambil data yang ditulis pada memory
program. Cara ini ditujukan untuk menbaca look-up table yang ada di memori
program. Misalnya instruksi :
MOVC A,@A+DPTR menyebabkan data yang terletak pada memory
yang alamatnya merupakan hasil penjumlahan isi register A dengan isi register
DPTR disalin ke register A.
CPL bit berfungsi melengkapi variabel bit ditentukan. Sedikit yang telah menjadi 1
diubah menjadi 0 dan sebaliknya. Tidak ada yang lain flag yang terpengaruh. CLR dapat
beroperasi pada carry atau bit langsung dialamatkan.
Catatan: Ketika instruksi ini digunakan untuk memodifikasi output pin, nilai yang
digunakan sebagai data asli dibaca dari output data latch, bukan input pin. Misalnya
instruksi;
Port 1 sebelumnya telah ditulis dengan 5BH (01.011.101 B). instruksi mengikuti
urutan, CPL P1.1CPL P1.2 meninggalkan pelabuhan diatur ke 5BH (01.011.011
B).
CLR bit berfungsi membersihkan bit ditunjukkan (reset ke 0). Tidak ada flag lain
yang terpengaruh. CLR dapat beroperasi pada carry flag atau bit langsung dialamatkan.
Misalnya instruksi;
Port 1 sebelumnya telah ditulis dengan 5DH (01.011.101 B). Instruksi berikut,
CLR P1.2 meninggalkan pelabuhan set ke 59H (01.011.001 B).
SetB menetapkan bit ditunjukkan untuk satu. SetB dapat beroperasi pada carry flag
atau bit langsung dialamatkan. Tidak ada yang lain flag yang terpengaruh. Misalnya
instruksi;
Membawa bendera dibersihkan. Output Port 1 yang telah ditulis dengan nilai
34h (00110100B). Pengikut instruksi,
SetB C
SetB P1.0
menetapkan membawa bendera ke 1 dan perubahan output data pada Port 1 ke
35H (00110101B).
SJMP cabang kontrol program tanpa syarat ke alamat yang ditunjukkan. Tujuan cabang
dihitung dengan menambahkan perpindahan masuk instruksi byte kedua untuk PC, setelah
incrementing PC dua kali. Oleh karena itu, berbagai tujuan yang diizinkan adalah dari 128
byte sebelumnya instruksi ini 127 byte mengikutinya
6. Dekoder
Pengertian Decoder adalah alat yang di gunakan untuk dapat mengembalikan proses
encoding sehingga kita dapat melihat atau menerima informasi aslinya. Pengertian Decoder
juga dapat di artikan sebagai rangkaian logika yang di tugaskan untuk menerima input input
biner dan mengaktifkan salah satu outputnya sesuai dengan urutan biner tersebut.
Kebalikan dari decoder adalah encoder.
Fungsi Decoder adalah untuk memudahkan kita dalam menyalakan seven segmen. Itu lah
sebabnya kita menggunakan decoder agar dapat dengan cepat menyalakan seven segmen.
Output dari decoder maksimum adalah 2n. Jadi dapat kita bentuk n-to-2n decoder. Jika kita
ingin merangkaian decoder dapat kita buat dengan 3-to-8 decoder menggunakan 2-to-4
decoder. Sehingga kita dapat membuat 4-to-16 decoder dengan menggunakan dua buah 3-
to-8 decoder.
Beberapa rangkaian decoder yang sering kita jumpai saat ini adalah decoder jenis 3 x 8 (3
bit input dan 8 output line), decoder jenis 4 x 16, decoder jenis BCD to Decimal (4 bit input
dan 10 output line) dan decoder jenis BCD to 7 segmen (4 bit input dan 8 output line).
Khusus untuk pengertian decoder jenis BCD to 7 segmen mempunyai prinsip kerja yang
berbeda dengan decoder decoder lainnya, di mana kombinasi setiap inputnya dapat
mengaktifkan beberapa output linenya.
Salah satu jenis IC decoder yang umum di pakai adalah 74138, karena IC ini mempunyai
3 input biner dan 8 output line, di mana nilai output adalah 1 untuk salah satu dari ke 8
jenis kombinasi inputnya. Jika kita perhatikan, pengertian decoder sangat mirip dengan
demultiplexer dengan pengecualian yaitu decoder yang satu ini tidak mempunyai data
input. Sehingga input hanya di gunakan sebagai data control.
Pengertian decoder dapat di bentuk dari susunan gerbang logika dasar atau menggunakan
IC yang banyak jual di pasaran, seperti decoder 74LS48, 74LS154, 74LS138, 74LS155 dan
sebagainya. Dengan menggunakan IC, kita dapat merancang sebuah decoder dengan
jumlah bit dan keluaran yang di inginkan. Contohnya adalah dengan merancang sebuah
decoder 32 saluran keluar dengan IC decoder 8 saluran keluaran.
7. 7 ruas (7 segment)
Konfigurasi 7 segment :
Berikut ini adalah Blok Diagram Dasar untuk mengendalikan LED 7 Segmen :
Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur
yaitu a sampai g dan poin decimal (koma) untuk meng-ON-kan segmen sehingga
menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a,
b, dan c, maka Segmen LED akan menyala menjadi angka 7. Jika Sinyal Input adalah
berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah
sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah
merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus
menggunakan ADC.
Fungsi daripada Blok Driver adalah untuk memberikan arus listrik yang cukup kepada
Segmen/Elemen LED untuk menyala. Pada Tipe Dekoder tertentu, Dekoder sendiri dapat
mengeluarkan Tegangan dan Arus listrik yang cukup untuk menyalakan Segmen LED
maka Blok Driver ini tidak diperlukan. Pada umumnya Driver untuk menyalakan 7 Segmen
ini adalah terdiri dari 8 Transistor Switch pada masing-masing elemen LED.
ANGKA h g f e d c b a
0 0 0 1 1 1 1 1 1
1 0 0 0 0 0 1 1 0
2 0 1 0 1 1 0 1 1
3 0 1 0 0 1 1 1 1
4 0 1 1 0 0 1 1 0
5 0 1 1 0 1 1 0 1
6 0 1 1 1 1 1 0 1
7 0 0 0 0 0 1 1 1
8 0 1 1 1 1 1 1 1
9 0 1 1 0 1 1 1 1
3. Praktikum
3.1. Tugas
a. Membuat program untuk menyalakan Tampilan 7 ruas sesuai nama kelompok.
Masukan : tidak ada
Proses : Peralihan data dari accumulator ke Port 0
Keluaran : Pintu P0.0-7 (8 buah 7 segment).
b. Membuat program untuk menyalakan tampilan 7 ruas sesuai saklar yang ditekan.
Masukan : 8 buah push button
Proses : peralihan data segera dari Port 2.0-2.7 ke accumulator. Peralihan data segera
accumulator ke port 0.0-0.7
Keluaran : Pintu P0.0-7 (8 buah 7 segment).
c. Membuat program untuk menyalakan tampilan 7 ruas sebagai pencacah naik.
Masukan : tidak ada
Proses :peralihan data segera dari accumulator ke port 0.0-0.7
Keluaran : Pintu P0.0-7 (8 buah 7 segment).
3.2. Penyelesaian
3.2.1.Flowcart
a.) P041-a
b.) P041-b dan P041-c Tampilan 7 segment berdasarkan switch
c.) P042-a Pencacah naik
d.) P042b Pencacah turun
e.) P043a dan P043b
3.2.2 Program
a. Program P041a-T7r.asm
P
;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-Tabel Konversi
;P041a-Tabel Hex7R
; program untuk menampilkan 1 karakter pada
;tampilan 7 ruas dengan melihat Tabel KONVERSI
;-----------------------------------------------------------------
;Materi baru:
;- Tabel Konversi
;- Perintah: MOV DPTR,#data16bit
;- MOVC A, @A+DPTR
;-----------------------------------------------------------------
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;===============================================================*/
;------------------------------------------------------------------------
--
hex7r:
; 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 ;angka Hex
db 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h ;konversi ke t7r
; 8 - 9 - A - B - C - D - E - F
db 080h,090h,088h,080h,0c6h,0A1h,084h,08Eh
;------------------------------------------------------------------------
--
END ;selesai
;/*
=======================================================================le
sai
b. Program P041b-T7rSwEDSIM.asm
P
;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-Tabel Konversi
;P041a-Tabel Hex7R
; program untuk menampilkan 1 karakter pada
;tampilan 7 ruas dengan melihat Tabel KONVERSI
;-----------------------------------------------------------------
;Materi baru:
;- Tabel Konversi
;- Perintah: MOV DPTR,#data16bit
;- MOVC A, @A+DPTR
;-----------------------------------------------------------------
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;===============================================================*/
konversi:
MOV DPTR,#hex7r ;lihat tabel konversi
MOVC A,@A+DPTR ; hasil konversi
;------------------------------------------------------------------------
--
hex7r:
; 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 ;angka Hex
db 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h ;konversi ke t7r
; 8 - 9 - A - B - C - D - E - F
db 080h,090h,088h,080h,0c6h,0A1h,084h,08Eh
;------------------------------------------------------------------------
--
END ;selesai
c. P041c-T7rSwKIT.asm
; ;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-tampilan 7 ruas dengan switch
;P031a-tampilan 7 ruas
; program untuk menyalakan 7 ruas sesuai switch yang ditekan
;-----------------------------------------------------------------
;Materi baru:
;- tampilan 7 ruas
;- dekoder 74138
;- tabel konversi
;------------------------------------------------------------------------
--
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;========================================================================
*/
;==============deklarasi variabel==============================
kode0 equ 0
kode1 equ 1
t7r equ p0
sw0 equ p2.0
sw1 equ p2.1
sw2 equ p2.2
sw3 equ p2.3
sw4 equ p2.4
sw5 equ p2.5
sw6 equ p2.6
sw7 equ p2.7
;pengesatan awal
org 0
;program utama
mulai :
;tampilkan kode kelompok di t7r
cekmenu0 :
jb sw0,cekmenu1
call menu0
sjmp cekmenu0
cekmenu1 :
jb sw1,cekmenu2
call menu1
sjmp cekmenu1
cekmenu2 :
jb sw2,cekmenu3
call menu2
sjmp cekmenu2
cekmenu3 :
jb sw3,cekmenu4
call menu3
sjmp cekmenu3
cekmenu4 :
jb sw4,cekmenu5
call menu4
sjmp cekmenu4
cekmenu5 :
jb sw5,cekmenu6
call menu5
sjmp cekmenu5
cekmenu6 :
jb sw6,cekmenu7
call menu6
sjmp cekmenu6
cekmenu7 :
jb sw7,cekmenu0
call menu7
sjmp cekmenu7
menu0 :
mov a,#0
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu1 :
mov a,#1
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu2 :
mov a,#2
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu3 :
mov a,#3
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu4 :
mov a,#4
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu5 :
mov a,#5
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu6 :
mov a,#6
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
menu7 :
mov a,#7
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
ajmp cekmenu0
;sub program
;table konversi
;tabel konversi hex-7ruas aktif 0
org 100h ;alamat awal Tabel
hex7r:
; 0 - 1 - 2 - 3
db 0C0h,0F9h,0A4h,0B0h
; 4 - 5 - 6 - 7
db 099h,092h,082h,0F8h
; 8 - 9 - A - B
db 080h,090h,088h,083h
; C - D - E - F
db 0C6h,0A1h,086h,08Eh
NOP
end ;selesai
d. P042a-T7rPencacah naik.asm
; ;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;pengesatn awal
org 0
;program utama
mulai :
;tampilkan kode kelompok di t7r
mov r0,#nilaiawal
bacar0 :
mov a,r0
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
call delay
inc r0
cjne R0,#nilaiakhir,bacar0
sjmp mulai
delay:
mov 71h,#1
tunda1:
mov 72,#0
tunda2:
mov 73h,#0
tunda3 :
NOP
DJNZ 73h,tunda3
DJNZ 72h,tunda2
DJNZ 71h,tunda1
RET
;sub program
;table konversi
;tabel konversi hex-7ruas aktif 0
ORG 100h ;alamat awal Tabel
hex7r:
; 0 - 1 - 2 - 3
db 0C0h,0F9h,0A4h,0B0h
; 4 - 5 - 6 - 7
db 099h,092h,082h,0F8h
; 8 - 9 - A - B
db 080h,090h,088h,083h
; C - D - E - F
db 0C6h,0A1h,086h,08Eh
NOP
end ;selesai
e. P042a-T7rPencacah naik.asm
; ;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-tampilan 7 ruas dengan switch
;P031a-tampilan 7 ruas
; program untuk menyalakan 7 ruas sesuai kelompok
;-----------------------------------------------------------------
;Materi baru:
;- tampilan 7 ruas
;- dekoder 74138
;- tabel konversi
;-----------------------------------------------------------------
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;===============================================================*/
;==============deklarasi variabel==============================
kode equ 2
t7r equ p0
nilaiawal equ 9
nilaiakhir equ 0
;pengesatan awal
org 0
;program utama
mulai :
;tampilkan kode kelompok di t7r
mov r0,#nilaiawal
bacar0 :
mov a,r0
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
call delay
dec r0
cjne R0,#nilaiakhir,bacar0
sjmp mulai
delay:
mov 71h,#1
tunda1:
mov 72,#0
tunda2:
mov 73h,#0
tunda3 :
NOP
DJNZ 73h,tunda3
DJNZ 72h,tunda2
DJNZ 71h,tunda1
RET
;sub program
;table konversi
;tabel konversi hex-7ruas aktif 0
ORG 100h ;alamat awal Tabel
hex7r:
; 0 - 1 - 2 - 3
db 0C0h,0F9h,0A4h,0B0h
; 4 - 5 - 6 - 7
db 099h,092h,082h,0F8h
; 8 - 9 - A - B
db 080h,090h,088h,083h
; C - D - E - F
db 0C6h,0A1h,086h,08Eh
NOP
end ;selesai
f. P043a-pesan.asm
; ;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-tampilan 7 ruas dengan switch
;P031a-tampilan 7 ruas
; program untuk menyalakan 7 ruas sesuai kelompok
;-----------------------------------------------------------------
;Materi baru:
;- tampilan 7 ruas
;- dekoder 74138
;- tabel konversi
;------------------------------------------------------------------------
--
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;========================================================================
*/
;==============deklarasi variabel==============================
kode equ 2
t7r equ p0
nilaiawal equ 0
nilaiakhir equ 47
;pengesatn awal
org 0
;program utama
mulai :
;tampilkan kode kelompok di t7r
mov r0,#nilaiawal
bacar0 :
mov a,r0
mov dptr,#hex7r
movc a,@a+dptr
mov t7r,a
call delay
inc r0
cjne R0,#nilaiakhir,bacar0
sjmp mulai
delay:
mov 71h,#2
tunda1:
mov 72,#0
tunda2:
mov 73h,#0
tunda3 :
NOP
DJNZ 73h,tunda3
DJNZ 72h,tunda2
DJNZ 71h,tunda1
RET
;sub program
;table konversi
;tabel konversi hex-7ruas aktif 0
ORG 100h ;alamat awal Tabel
hex7r:
; P - a - g - i - - - A - y - o ;urutan
db 08ch,0A0h,090h,0FBh,0BFh,088h,099h,0A3h ;konversi ke t7r
; B - e - l - a - j - a - r - -
db 080h,084h,0CFh,0A0h,0F1h,0A0h,0Afh,0BFh
; C - o - b - a - l - a - g - i
db 0C6h,0A3h,083h,0A0h,0CFh,0A0h,090h,0FBh
; - - p - a - s - t - i - b - i
db 0BFh,08Ch,0A0h,092h,087h,0FBh,083h,0FBh
; s - a - - - G - i - t - u - a
db 092h,0A0h,0BFh,082h,0FBh,087h,0E3h,0A0h
; j - a - r - e - p - o - t
db 0F1h,0A0h,0AFh,084h,08Ch,0A3h,087h
NOP
end ;selesai
g. P043b-pesan87r.asm
; ;/* ==============================================================
;Pemrogram : Kelompok EK-2A /06
;1. 06-Ari Hardoyo A.R. NIM:3.32.15.0.06
;2. 12-Helmi Adi Pradana NIM:3.32.15.0.12
;3. 18-Prasetyo Muhammad S. NIM:3.32.15.0.18
;Tgl.Praktikum : Kamis, 23 Maret 2017
;=================================================================
;Proyek04-tampilan 7 ruas dengan switch
;P031a-tampilan 7 ruas
; program untuk menyalakan 7 ruas sesuai kelompok
;-----------------------------------------------------------------
;Materi baru:
;- tampilan 7 ruas
;- dekoder 74138
;- tabel konversi
;------------------------------------------------------------------------
--
;Komponen:
;- 8x Tampilan 7 Ruas Anoda Bersama
;- 8x R220
;- 8x R1K
;- Transistor PNP
;- Dekoder 74138
;========================================================================
*/
;==============deklarasi variabel==============================
kode equ 2
t7r equ p0
nilaiawal equ 0
nilaiakhir equ 47
PosC equ P3.7 ;Posisi T7R CBA dekoder 74138
PosB equ P3.6
PosA equ P3.5
kar0 equ 0
kar1 equ 1
kar2 equ 2
kar3 equ 3
kar4 equ 4
kar5 equ 5
kar6 equ 6
kar7 equ 7
;pengesatn awal
org 0
;program utama
mulai :
;tampilkan kode kelompok di t7r
tunda:
mov 71h,#2
tunda1:
mov 72,#0
tunda2:
mov 73h,#0
tunda3 :
NOP
DJNZ 73h,tunda3
DJNZ 72h,tunda2
DJNZ 71h,tunda1
RET
;sub program
;table konversi
;tabel konversi hex-7ruas aktif 0
ORG 100h ;alamat awal Tabel
hex7r:
; P - a - g - i - - - A - y - o ;urutan
db 08ch,0A0h,090h,0FBh,0BFh,088h,099h,0A3h ;konversi ke t7r
; B - e - l - a - j - a - r - -
db 080h,084h,0CFh,0A0h,0F1h,0A0h,0Afh,0BFh
; C - o - b - a - l - a - g - i
db 0C6h,0A3h,083h,0A0h,0CFh,0A0h,090h,0FBh
; - - p - a - s - t - i - b - i
db 0BFh,08Ch,0A0h,092h,087h,0FBh,083h,0FBh
; s - a - - - G - i - t - u - a
db 092h,0A0h,0BFh,082h,0FBh,087h,0E3h,0A0h
; j - a - r - e - p - o - t
db 0F1h,0A0h,0AFh,084h,08Ch,0A3h,087h
NOP
end ;selesai
c. Program P041c-T7rSwKIT.asm
Tampilan pada kit trainer
1. Saat saklar 0 ditekan :
f. Program P043a-pesan.asm
g. Program P043b-pesan87r.asm
3.1.1 Pembahasan
a. Proyek P41a menampilkan tampilan pada 7 segmen berdasarkan nama kelompok yang
disimpan di accumulator, sebelum ditampilkan pada 7 segmen terlebih dahulu kode
pada accumulator di konversi pada tabel konversi untuk dirubah menjadi heksa dari
nama kelompok.
b. Proyek 41b menampilkan tampilan 7 ruas, berdasarkan nomor saklar yang ditekan pada
edsim, setiap penekanan tombol pada Port 2 maka data akan disimpan pada accumulator
kemudian di konversi ke heksa dengan melihat di tabel konversi, setelah dikonversi baru
ditampilkan pada 7ruas.
c. Proyek 41c menampilkan tampilan 7 ruas, berdasarkan nomor saklar yang ditekan pada
kit, setiap penekanan tombol pada Port 2 maka data akan disimpan pada accumulator
kemudian di konversi ke heksa dengan melihat di tabel konversi, setelah dikonversi baru
ditampilkan pada 7ruas. Tampilan 7 ruas akan menunjukan nomor saklar yang ditekan.
d. Proyek 42a menampilkan tampilan 7 ruas dengan program pencacah naik , yaitu
menghitung dari 0 sampai 9, dengan menggunakan perintah increment R0 maka nilai
akan ditambah 1,kemudian dikonversi pada tabel konversi untuk diubah ke heksa
kemudian ditampilkan pada 7 ruas.
e. Proyek 42b menampilkan tampilan 7 ruas dengan program pencacah turub , yaitu
menhitung dari 9 sampai 0, dengan menggunakan perintah decrement R0 maka nilai
akan dikurangi 1,kemudian dikonversi pada tabel konversi untuk diubah ke heksa
kemudian ditampilkan pada 7 ruas.
f. Proyek 43a menampilkan tampilan 7 ruas dengan kata "Pagi - Ayo Belajar - Coba Lagi
- Pasti Bisa - Gitu aja repot" pada 1 buah 7 ruas saja. Sebelum ditampilkan pada 7 ruas
dikonversi dahulu pada tabel konversi untuk dirubah ke heksa.
g. Proyek 43b menampilkan tampilan 7 ruas dengan kata "Pagi - Ayo Belajar - Coba Lagi
- Pasti Bisa - Gitu aja repot" pada 8 buah 7 ruas saja. Sebelum ditampilkan pada 7 ruas
dikonversi dahulu pada tabel konversi untuk dirubah ke heksa.
5. Kesimpulan
Beberapa simpulan yang dapat ditarik dari dari praktikum ini:
1. Dalam program proyek 4 ini terdapat pengalamatan berindex , cara ini digunakan
untuk mengambil data yang ditulis pada memory program. (look-up table yang ada
di memori program).
2. Instruksi pengalamatan berindex yaitu MOVC A,@A+DPTR (data yang terletak
pada memory yang alamatnya merupakan hasil penjumlahan isi register A dengan
isi register DPTR disalin ke register A).
3. Proyek P41a menampilkan tampilan pada 7 segmen berdasarkan nama kelompok ,
sebelum di tampilkan pada 7 ruas, kode kelompok terlebih dahulu dikonversi di
tabel konversi.
4. Proyek 41b menampilkan tampilan 7 ruas, berdasarkan nomor saklar yang ditekan
pada edsim. Sebelum ditampilkan pada 7 ruas dikonversi dahulu pada tabel
konversi untuk dirubah ke heksa.
5. Proyek 41c menampilkan tampilan 7 ruas, berdasarkan nomor saklar yang ditekan
pada kit. Sebelum ditampilkan pada 7 ruas dikonversi dahulu pada tabel konversi
untuk dirubah ke heksa.
6. Proyek 42a menampilkan tampilan 7 ruas dengan program pencacah naik , yaitu
menghitung dari 0 sampai 9, dengan menggunakan perintah increment R0 maka
nilai akan ditambah 1,kemudian dikonversi pada tabel konversi untuk diubah ke
heksa kemudian ditampilkan pada 7 ruas.
7. Proyek 42b menampilkan tampilan 7 ruas dengan program pencacah turub , yaitu
menhitung dari 9 sampai 0, dengan menggunakan perintah decrement R0 maka
nilai akan dikurangi 1,kemudian dikonversi pada tabel konversi untuk diubah ke
heksa kemudian ditampilkan pada 7 ruas.
8. Proyek 43a menampilkan tampilan 7 ruas dengan kata "Pagi - Ayo Belajar - Coba
Lagi - Pasti Bisa - Gitu aja repot" pada 1 buah 7 ruas saja. Sebelum ditampilkan
pada 7 ruas dikonversi dahulu pada tabel konversi untuk dirubah ke heksa.
9. Proyek 43b menampilkan tampilan 7 ruas dengan kata "Pagi - Ayo Belajar - Coba
Lagi - Pasti Bisa - Gitu aja repot" pada 8 buah 7 ruas saja. Sebelum ditampilkan
pada 7 ruas dikonversi dahulu pada tabel konversi untuk dirubah ke heksa.