Anda di halaman 1dari 9

Bab 5

Eksperimen Laboratorium
Eksperimen 5-1 Kontrol Tampilan LED
Eksperimen ini menunjukkan bahwa port I/O 2 mengontrol paket LED D5 pada MTS-5TDTrainer.
Ketika bit P2 adalah I , LED yang sesuai akan AKTIF. Ketika P2 bit adalah 0, LED yang sesuai
dimatikan. Lihat diagram skema yang ditunjukkan pada Gambar 4-2-2 dan tempatkan SW2-4
pada posisi ON.

Latihan 5-1-1 Kontrol LED (1)


Deskripsi Fungsional:
Secara berurutan dan berulang kali menyalakan/mematikan 8 LED dari LED paling kiri ke LED
paling kanan. Waktu ON setiap LED adalah 0,1 detik.

Sumber Program:

ORG OOOH

MOV A, #10000000B
NEXT:
MOV P2, A
CALL DELAY

DELAY.
MOV R6, #200
DL1
MOV R7, #249
DJNZ
DJNZ R6, DLI
RET

END

Deskripsi Program :
Awalnya isi akumulator A dimuat dengan 10000000B dan kemudian ditulis ke port 2, oleh
karena itu LED paling kiri dihidupkan: Delay subrutin penundaan digunakan untuk
mempertahankan status keluaran selama 0,1 detik. Kemudian isi A diputar ke kanan satu bit
dan menjadi 01000000B, CPU kembali ke label NEXT, dan mengulangi urutan tindakan o output,
delay, dan right rotate.
Penundaan perangkat lunak biasanya diperlukan untuk menahan data keluaran pada waktu
yang tepat karena CPU berjalan dengan kecepatan tinggi. Penundaan dilakukan dengan
mengeksekusi instruksi yang tidak berpengaruh pada data keluaran.
Perhitungan Penundaan
Keterlambatan subrutin penundaan sama dengan produk dari siklus mesin total dan waktu
siklus mesin sebagai berikut :

Total siklus mesin = 1+200x(1+249x2+2)+2=100.203. Karena frekuensi osilator Pelatih MTS-51 i


12 MHz, 1 s setiap siklus mesin, oleh karena itu total penundaan sama dengan 0,1 detik
(=100.203 x 1 s = 100.203 s)

Subrutin penundaan unit


Dalam aplikasi kontrol komputer mikro, satu atau lebih rutinitas penundaan sering diperlukan.
Untuk menyederhanakan perhitungan bf delay, kita menulis subrutin delay unit yang menunda
waktu tetap seperti 0,1 detik, dan menggunakan counter (register) untuk menentukan eksekusi
subrutin delay unit. Sebagai contoh, kami memanggil subrutin tunda 0. I-detik 10 kali untuk
penundaan satu detik. Jumlah panggilan sudah tersimpan di counter register. Pertimbangkan
subrutin penundaan 0. I-detik di bawah ini:

Dua register R6 dan R7 digunakan dalam loop bersarang. Ini diperlukan penundaan 0,5 detik,
nilai awal penghitung R9_mus diatur ke lima seperti yang tercantum di bawah ini :

Subrutin berikut melakukan fungsi yang sama seperti di atas.

Latihan 5-1-2 Kontrol LED (2)


Deskripsi Fungsional:
Menghidupkan atau mematikan 8 LED secara berurutan dari LED paling kiri ke LED
paling kanan. Ketika LED paling kanan tercapai, urutannya terbalik. Waktu ON
setiap LED adalah 0,1 detik.

Deskripsi Program:
Pertama, memuat A dengan 000000001B dan memutarnya dengan benar dengan instruksi RR.
Isi A, 10000000B, kemudian ditulis ke P2 untuk menyalakan LED paling kiri selama 0,1 detik.
Tindakan putar dan tulis diulang hingga iS LED paling kanan menyala. Dalam hal ini, isi register A
diputar ke kiri (instruksi RL) satu bit dan kemudian ditulis ke P2.
Program ini memutar instruksi RR dan RL untuk mengubah isi A. Instruksi lompat bersyarat
CJNE digunakan untuk menentukan arah pergeseran. Selain itu, setiap status pada LED harus
mempertahankan setidaknya 1/15 detik untuk perubahan yang terlihat.

Latihan 5-1-3 Kontrol LED (3)


Deskripsi Fungsional:
Hidupkan/matikan dua LED secara berurutan dari dua ujung ke arah tengah.
Ketika tengah tercapai, urutannya terbalik. Waktu ON setiap LED adalah 1 detik

Program Sumber. (5_1_3)


Deskripsi Program:
Program ini menggunakan data langsung untuk menyalakan LED pada port 2. Awalnya nilai
langsung 81H ditulis ke pori 2 untuk menyalakan LED ke-1 dan ke-8. Setelah 1 detik, tulis
nilai„42FCuntuk menyalakan LED ke-2 dan ke-7, dan seterusnya.
Latihan 5-1-4 Kontrol LED (4)
Deskripsi Fungsional:
Latihan ini menggunakan teknik tabel 100 ke atas untuk menunjukkan pola LED yang berada di
memori. Setiap pola tetap pada 0,1 detik.

program sumber : (5_1_4)


Deskripsi Program:
Instruksi transfer data "MOVC A,@A+DPTR" digunakan untuk membaca byte data yang ada di
memori program. Pembacaan data pertama dimuat ke akumulator A dan kemudian ditulis ke
port 2. Penghitung loop RO dimuat dengan 23 untuk membaca 23 byte data. Setelah byte data
dibaca dan ditulis, isi A direset dan DPTR bertambah satu untuk menunjuk ke byte data
berikutnya sampai penghitung loop dikurangi menjadi nol.

Latihan 5-1-5 Kontrol LED (5)


Deskripsi Fungsional:
Nyalakan LED sesuai dengan kasus berikut dan ulangi setiap kasus 8 kali.
Kasus 1: Nyalakan LED dari kiri ke kanan
Kasus 2: Nyalakan LED dari kanan ke kiri:
Kasus 3: Kedipkan dua set (kiri andrighésides) LED secara bergantian.
Kasus 4: Kedipkan semua 8 LED'

Anda mungkin juga menyukai