Buku Ajar Mikroprosesor Dan Mikrokontroler PKM Di SMKN 1 SOLOK123

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 54

BUKU AJAR

PELATIHAN MIKROPROSESOR DAN MIKROKONTROLER


BAGI GURU-GURU SMKN 1 PADANG DAN SMKN 5 PADANG

PROGRAM KEMITRAAN MASYARAKAT

Oleh:
Dr. Edidas, M.T.

LEMBAGA PENELITIAN DAN PENGABDIAN KEPADA MASYARAKAT


(LPPM)
UNIVERSITAS NEGERI PADANG
2018

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 1 dari 54
DAFTAR ISI

1. Prisip Kerja Mikroprosesor ....................................................................... 3

2. Mikrokontroler Arduino .................................................................... 11

3. Job Sheet 1 Pemrograman Register Mikroprosesor ................................ 16

4. Job Sheet 2 Pemrograman Mikroprosesor Ganti Halaman .................... 25

5. Job Sheet 3 Pembuatan Rangkaian Beban Arduino ............................... 36

6. Job Sheet 4 Pemrograman Beban LED pada Board Arduino ................ 40

7. Job Sheet 5 Pemrograman Beban Seven Segmen pada Board Arduino... 43

8. Job Sheet 6 Pemrograman Beban DOT MATRIX pada Board Arduino .. 48

ARSITEKTUR DAN CARA KERJA MIKROPROSESOR


Oleh : Edidas. MT ( Dosen Teknik Elektronika FT UNP Padang)

ABSTRACT

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 2 dari 54
The main part in a processor is Arithmatic and Logic Unit (ALU). The function of ALU
can do arithmatic opration and logic operation. Add, substarct, multiply and devide are
arithmatic operation. AND, OR, NOT, EXOR, EXNOR or it’s combinations are call logic
operation. To do a operation the processor need two data operand, an instruction and many
registers to support. For Example how to realization ADD instruction to adding two numbers.
The first data operand must put in one of all purpose register, R0. Then the contens of R0
register must move into Y register to be latch on Y input of ALU. After that make sure fill in R0
register again with a second data operand. Then move it in internal bus and give processor
ADD instruction simultaneous. The result of operation come soon in Z register.
Processor need many memory to remember the result, becouse the last result will be loss
when a new result come on. The operation must be continued to write the result into memory.
For the fisrt time R0 must fill in numbers and then move it into Memory Address Register
(MAR). Now a location of memory that pointing by MAR make active. Then make sure the
contents of Z register move into Memory Data registers (MDR). Give write instruction and
wait for Memory Fuction Complete (MFC) signal to sign that all data had written into
memory. In this point we can say that processor had finished one operation.

A. PENDAHULUAN
Suatu hal yang tak dapat dipungkiri adalah bahwa wajah dunia sangat cepat berubah
sejak ditemukannnya prosesor (sebutan umum untuk mikroprosesor) yang menjadi otak dari
sistem komputer. Dengan kecerdasan dan kecepatan yang dimiliki oleh sebuah prosesor banyak
hal yang dapat dikerjakannya seperti pengendalian alat-alat listrik dan elektronik rumah tangga
sampai pengindaraan dan pengendalian jarak jauh yang tidak lagi dibatasi jarak, waktu dan
ruang. Teknologi prosesor ternyata sangat mudah dan murah untuk diterapkan pada sistem alat-
alat bantu manusia. Televisi, Video CD, Mesin cuci, mobil, apalagi pesawat udara, pesawat
ruang angkasa, satelit dan seterusnya telah menerapkan teknologi prosesor untuk meningkatkan
unjuk kerjanya.
Nah untuk megetahui sehebat apakah sebuah prosesor itu sehingga hampir semua
sektor kehidupan manuasia dapat dimasukinya. Dan seberapa rumitkah sistem prosesor itu
sehingga banyak orang enggan untuk mempelajarinya namun tetap mengaguminya dan
memanfaatkannya. Sebenarnya sistem prosesor tidaklah begitu rumit dan semua orang yang
telah punya latar belakang elektronika dan digital dengan cepat dapat mengerti tentang sistem

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 3 dari 54
dan cara kerjanya. Dalam tulisan yang ringkas ini ini saya akan menjelaskan bagaimana cara
kerja proseseor mulai dari hal-hal sangat gamblang dan mudah dipahami.

B. POSISI PROSESOR DALAM SISTEM KOMPUTER


Dalam sistem komputer prosesor bukanlah suatu alat yang dapat bekerja sendiri, tetapi
harus dibantu oleh alat-alat lain seperti : Alat Input-Output (I/O), Memory, Clock, Alat
Penyimpan Data (Storage) dan Alat-alat Kendali Luar (peripheral). Seperti yang terlihat pada
gambar 1 sebuah prosesor yang merupakan otak dari sistem komputer harus digerakkan oleh
sebuah sumber denyut yang disebut Clock. Semua aliran data selama proses terjadi merupakan
gerakan yang didukung oleh Clock. Banyaknya dnyut Clock yang tejadi setiap detik
menentukan kecepatan sebuah prosesor bekerja. Kalau saat ini ada proseso Pentium IV 2,8
GHz. itu berarti denyut Clock-nya adalah 2 800 000 000 getar/detik dan artinya prosesor itu
mampu memproses data seabanyak angka itu dalam satu detik.
Untuk memasukan data yang akan diproses prosesor memerlukan alat input, yang
berguna untuk menterjemahkan perintah yang dimasukkan manusia ke dalam perintah yang
dimengerti oleh prosesor itu. Sedang untuk menampilkan hasil dari data yang sudah diproses
prosesor memerlukan alat output, yang berguna untuk menerjemahkan data hasil proses ke
dalam bahasa yang dikenal kembali oleh manusia. Pada awalnya kedua alat ini merupakan satu
paket yang tidak terpisahkan maka disebut dengan alat I/O (input output).

PERIPHERAL CLOCK

I/O PROCESSOR STRORAGE

MEMORY

Gambar 1. Posisi Prosesor Dalam Sistem Komputer

Prosesor bekerja hanya satu kali jadi untuk satu proses data, kalau ada pekerjaan
berikutnya maka hasil proses yang pertama akan hilang . Untuk menjaga data dapat diproses
prosesor dan hasilnya dapat diingat maka di perlukan bantuan memory, yang mampu

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 4 dari 54
menyimpan data baik sebelum diproses ataupun setelah diproses. Selain itu memory juga
berguna untuk menyimpan program-program yang akan dipergunakan untuk memerintah
prosesor itu sendiri.
Agar data yang telah dihasilkan dari proses pada prosesor dapat dipakai pada waktu
ldan tempat lain maka dipelukan media penyimpan permanen yang disebut Storage. Banyak
jenis penyimpan data komputer ini misalnya : Disket, Harddisk, CD, Flash Disk, tape back up
dan lain-lain.

C. Arsitektur Prosesor
Untuk mengetahui prinsip kerja prosesor maka kita dapat melihat gambar arsitektur
nya . Secara garis besarnya arsitektur prosesor dibagi menjadi dua jenis yaitu :

1. Prosesor Sistem Bus Tunggal

Prosesor sistem bus tunggal maksudnya adalah saluran perpindahan data antar bagian
di dalam prosesor melalui satu sistem bus saja, seperti terlihat pada gambar 2. Sistem bus itu
tediri dari beberapa kawat penghubung yang berguna untuk menyalurkan data antar bagian-
bagian di dalan prosesor itu. Oleh karena bus dapat diisi data hanya satu macam data setiap
saat, maka data yang akan di transfer dari dan ke bagian hanya dapat dilakukan secara
bergantian dengan urutan tertentu. Dengan sifat bus yang demikian itu maka prosesor dengan
sistem bus tunggal akan bekerja lebih lambat dan waktu prosesor banyak terbuang hanya
kerena menunggu aliran data selesai. Namun demikian untuk mempelajari prinsip kerjanya
maka prosesor sistem bus tunggal lebih mudah dimengerti.

2. Prinsip Kerja Prosesor Sistem Bus Tunggal Secara Umum


Bagian yang paling utama di dalam sebuah prosesor adalah ALU (Aritmatic and Logic
Unit), yaitu sebuah blok rangkaian digital yang mampu melakukan operasi aritmatika dan
operasi logika. Operasi aritmatika itu antara lain : Tambah, Kurang, Kali, Bagi, sedangkan
operasi logika antara lain : OR,AND,NOT,EXOR,EXNOR dan lain-lain. Agar ALU dapat
melakukan proses aritmatika dan logika maka input data ALU harus dua buah yang masing-
masing dinamakan input X (X0, X1,..... X n-1) dan input Y (Y0, Y1,...... Y n-1 ). Agar proses
pada ALU dapat berlangsung maka pada salah satu inputnya harus dibantu oleh sebuah register

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 5 dari 54
Y yang berguna untuk menahan salah satu data yang akan di proses di input Y. Sedangkan data
kedua dapat langsung dimasukkan ke input X.
Ketika sinyal kontrol diberikan ke ALU maka data hasil proses ALU akan terjadi di
outputnya. Agar data ini tidak terganggu oleh yang lain maka data hasil proses itu langsung
dipindahkan ke register Z yang terletak di Output ALU. Data yang sudah berada di register Z
itu akan dapat dipindahkan ke register lain untuk di proses selanjutnya.
Register Y adalah sebuah register yang ditempatkan di salah satu input ALU (arithmatic
and Logic Unit) yang berguna untuk menahan salah satu data yang akan di proses ALU
tersebut. Misalnya ALU diperintahkan untuk menjumlahkan dua buah bilangan 1001 dengan
1100. Maka data operand pertama 1001 harus dimasukkan ke register Y untuk ditahan
sementara di input Y ALU. Setelah itu data operand kedua 1100 langsung dimasukkan ke input
X ALU bersama dengan sinyal control ADD. Hasil dari proses penjumlahan tersebut akan
dimasukkan ke register Z dan Carry out ke Co ALU. Jadi register Z berguna untuk menahan
data hasil proses ALU.
Selain register Y dan register Z ternyata ALU memerlukan register-register lain untuk
membantu tugasnya agar dapat melakukan proses yang benar. Diperlukan register serbaguna
untuk memasukkan data operan pertama ke register Y serta data operan kedua pada input X
dari ALU. Sebelum diproses oleh ALU maka kedua data harus ada secara bersama-sama pada
kedua input ALU tersebut.

BUS
ALAMAT
CU
Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 6 dari 54

IR

MPACR
Bus Internal
M
E
M
O
R
I

MDR

Register R0
BUS
DATA Serbaguna

Rn-1

Y X

ALU

Gambar 2. Arsitektur Prosesor Sistem Bus Tunggal

Keterangan Gambar :
CU = Control Unit (Kumpulan Perintah)
IR = Intruction Register ( Register Penunjuk Perintah)
MAR = Memory Address Register ( Register Penunjuk Alamat Memory)
MDR = Memory Data Register ( Register Pencatat Data Memory )
PC = Program Counter ( Register penunjuk Langkah Program yang akan
diproses).
R0 = Register Serbaguna nomor pertama
R1 = Register Serbaguna kedua
R n-1 = Register serbaguna terakhir.
Y = Register Pemegang operan pertama sebelum diproses ALU
Z = Register Pemegang hasil yang sudah diproses ALU
Bus Internal = Bus data yang terdapat di dalam prosesor
Bus Alamat = Bus yang menghubungkan PIN alamat prosesor dengan
PIN Alamat Memory, yang berguna untuk menunjuk
alamat memory.
Bus Data = Bus yang menghubungkan PIN data prosesor dengan PIN

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 7 dari 54
data Memory, yang berguna untuk baca/tulis data dari
prosesor ke Memory atau sebaliknya.

Misalnya ketika prosesor diinginkan untuk melakukan operasi penjumlahan (ADD) dari
dua buah bilangan 1001 dengan 1100 maka langkah-langkah yang dilakukan prosesor adalah
sebagai berikut :
1. Isi register serbaguna R0 dengan suatu angka yang sama dengan alamat data
operan pertama dalam memory. Misalnya operan pertama (angka 1001) terletak
pada alamat 500 maka isilah R0 dengan angka 500.
2. Pindahkan isi register serbaguna R0 ke MAR. Maka sekarang isi MAR adalah
angka 500, itu berarti sekarang prosesor menunjuk alamat memory 500.
3. Bila alamat memory sudah ditunjuk oleh MAR maka data yang ada di alamat itu
akan langsung pindah ke MDR.
4. Proses pemindahan data dari memory ke MDR memakan waktu, sehingga prosesor
harus menunggu sinyal MFC (Memory Function Complete) yang menandakan
semua data sudah pindah ke MDR. Dengan demikian sekarang MDR berisi data
1001 yang berasal dari memory alamat 500 tadi.
5. Pindahkan data yang sudah ada di MDR ke register Y untuk ditahan pada input Y
dari ALU. Dan data yang berada dalam regsiter Y itu berfungsi sebagai operan
pertama.
6. Ambil data operan kedua dengan cara menunjuk alamat lokasi memory dimana
data itu terletak. Misalnya data operan kedua yaitu angka 1100 terletak pada lokasi
501, maka langkah-langkahnya sama dengan langkah 1-4 ditambah dengan
perintah operasi (dalam contoh ini perintah itu adalah ADD).
7. Isi regiater serbaguna R0 kembali dengan bilangan 501, karena alamat yang akan
di tunjuk adalah 501.
8. Pindahkan isi register serbaguna R0 ke MAR. Menurut contoh ini maka isi MAR
sekarang adalah angka 501, sehingga lokasi memory 501 sekarang sedang
ditunjuk.
9. Data yang berada pada lokasi 501 sekarang pindah ke MDR.
10. Setelah sinyal MFC datang maka sekarang MDR berisi data yang berasal dari
memory 501. Menurut contoh ini maka MDR sekarang berisi angka 1100.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 8 dari 54
11. Berikan perintah ADD pada prosesor maka data yang di MDR akan langsung
masuk ke input X dari ALU dan langsung dijumlahkan dengan data operan
pertama yang sudah berada di input Y tadi.
12. Operasi memakan waktu beberapa saat setelah itu hasilnya akan keluar pada
output ALU dan langsung dipegang oleh register Z.
13. Hasil operasi ALU yang sudah berada di dalam register Z akan disimpan ke dalam
lokasi memory tertentu untuk diamankan ( sebab jika tetap berada di dalam
register Z data itu akan hilang jika ALU melakukan tugas berikutnya).
14. Proses penyimpanan data ke dalam memory dilakukan dengan cara menununjuk
lokasi memory tempat data akan disimpan, lalu data yang akan disimpan
dimasukkan ke MDR untuk diampaikan ke lokasi itu.
15. Misalnya data itu akan disimpan pada lokasi 502 maka pertama yang dilakukan
adalah mengisi register serbaguna R0 dengan angka 502.
16. Pindahkan isi register serbaguna R0 ke MAR, sehingga sekarang MAR akan
menunjuk lokasi memory 502.
17. Pindahkan isi reister Z ke MDR.
18. Berikan perintah tulis memory (Write) pada prosesor.
19. Tunggu sinyal MFC sebagai tanda bahwa seluruh data yang ada pada MDR sudah
selesai disimpan pada lokasi memory yang ditunjuk tadi.
20. Selesai satu siklus pekerjaan prosesor dalam operasi penjumlahan (ADD).
Walaupun langkah-langkahnya cukup panjang untuk dipaparkan tetapi
sesungguhnya waktu yang diperlukan oleh prosesor untuk pekerjaan itu adalah
sangat cepat yaitu dalam orde nano detik.

3. Kesimpulan
Sejak ditemukannya mikroprosesor pertama kali oleh Marcian E. Hoff, Jr seorang
insinyur pada perusahaan Intel Amerika Serikat pada tahun 1971 maka hampir seluruh sudut
kehidupan manusia disentuhnya. Hal itu disebabkan karena cara kerja prosesor relatif tidaklah
rumit jika diukur dari kemampuan kerja yang dipunyainya. Mulai dari kontrol pada alat-alat
rumah tangga seperti mesin cuci, kulkas, VCD, televisi, kontrol peralatan mobil, pesawat
telepon, handphone, pesawat terbang sampai pesawat ruang angkasa. Melihat kemampuan
kerja dan fleksibelitasnya program yang dapat dijalankan sebuah prosesor maka tidak ada hal

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 9 dari 54
yang tak mungkin yang dapat menggunakan teknologi prosesor. Kita dapat melihat lampu
reklame yang beranimasi bermacam-macam gaya, dunia entertaimen yang serba otomatis dan
lain-lain asesoris yang sangat mempesona tampilannya adalah berkat bantuan teknologi
prosesor ini. Suatu hal yang sangat mungkin untuk terwujud pada suatu saat nanti mobil dapat
berjalan tanpa sopir layaknya pesawat terbang fly by wire.

DAFTAR PUSTAKA

Haskell, E. Richard, 1993, Assembly Language Tutor For The IBM PC and
Compatibles, Rhochester, Michigan, Oakland University.
Mano, M. Morris, 1991, Computer System and Architecture, Los Angeles, Calofornia
State University.
Hamacher, V.Carl, 1990, Computer Organization, Toronto, Univeristy Of Toronto.
Miller, Alan R, 1998, DOS Assembly Language Programming, Soccoro, New
Mexico.
Rizkiawan, Rizal, 1997, Tutorial Perancangan Hardware II, Jakarta, PT Elex Media
Komputindo.
Hariyanto, Bambang, 2000, Sistem Operasi, Bandung, Informatika.
Pitowarno, Endra, 2005, Mikroprosesor & Interfacing, Yogyakarta, Andi

Mikrokontroler Arduino
A. Pengertian Arduino

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 10 dari 54
Arduino adalah papan rangkaian elektronika open source yang berisi mikrokontroler dan
rangkaian pendukungnya, yang dapat diprogram dan digunakan untuk mengendalikan alat-alat
kelisterikan (disebut juga beban) melalui port-port-nya. Arduino terdiri dari2 bagian yaitu: 1.
Board Arduino, 2. Software Arduino IDE. Arduino berwujud sebuah papan elektronik dengan
rangkaian sistem minimum mikrokontroller di dalamnya. Mikrokontroller yang digunakan
adalah AVR produk dari Intel. Beberapa mikrokontroller yang sering digunakan adalah
ATmega168, ATMega328 dan ATMega2560, tergantung dari tipe papan elektronik yang
digunakan. Contoh, Arduino Uno, Nano dan Pro Mini, menggunakan mikrokontroller
ATmega328, sedangkan Arduino Mega menggunakan mikrokontroller jenis ATMega2560.

B. Board Ardino Uno


Board Arduino Uno adalah sebuah minimum sistem yang telah dilenkapi dengan
rangakaian pendukung seperti Port I/O, USB dan Power Jack Input.

Gambar 2.1 Board Aduino Uno

Arduino UNO merupakan sebuah board sistem minimum mikrokontroler ATmega328.


Arduino UNO mempunyai:
1) 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output
PWM).
2) 6 input analog

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 11 dari 54
3) Sebuah osilator Kristal 16 MHz
4) sebuah koneksi USB
5) sebuah power jack
6) sebuah ICSP header
7) dan sebuat tombol reset
Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler,
mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau
mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk
memulainya. Spesifikasi board Arduino Uno adalah sebagai berikut:
1) Mikrokontroler: ATmega328
2) Tegangan Operasi: 5V
3) Tegangan Input (recommended): 7 - 12 V
4) Tegangan Input (limit): 6-20 V
5) Pin digital I/O: 14 (6 diantaranya pin PWM)
6) Pin Analog input: 6 input pin 21
7) Arus DC per pin I/O: 40 mA
8) Arus DC untuk pin 3.3 V: 150 mA
9) Flash Memory: 32 KB dengan 0.5 KB digunakan sebagai bootloader
10) SRAM: 2 KB
11) EEPROM: 1 KB
12) Clock Speed: 16 Mhz
Dalam bord Arduino Uno terdapat sebuah IC mikrokontroler ATMega 328 yang
merupakan pusat pengolah data dalam sistem minimum. Mikrokontroler tersebut
dikemas dalam paket DIL (dual in line) dengan jumlah pin sebanyak 28 buah, seperti
yang terlihat pada Gambar 2.2. Nama-nama pin mikrokokntroler ATMega 328 dengan
padanannnya dengan board Arduino Uno adalah seperti terlihat pada Gambar 2.3
dibawah ini. Pemrograman board Arduino dapat dilakukan dengan menggunakan
software Ardino IDE. Dalam pemrograman Arduino IDE port yang dirujuk oleh
program adlah port-port yang ada pada board Arduino Uno, namun dengan
memperhatikan padanan port antara board Aduino Uno dengan Mikrokontroler ATMega
328 maka dapat ditentukan port mikrokontroler yang mana yang dituju sebenaranya.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 12 dari 54
Gambar 2.2. Bentuk Phisik Mikrokontroler ATMega 328

Gambar 2.3 Diagram Pin Mikrokontroler Arduinon Uno

C. Software Ardino IDE (Integrated Development Environment)


Setelah mengenal hardware Arduino, kita harus menguasai software yang digunakan. Ada
dua macam ‘software’ yang berada dalam lingkup Arduino, yaitu Aplikasi Arduino IDE
(Integrated Development Environment) ‘sketch’ dalam bahasa pemrograman C. Aplikasi
Arduino IDE adalah aplikasi gratis dari arduino.cc yang digunakan untuk mengelola semua hal
yang berhubungan dengan Arduino. Termasuk di dalamnya adalah membuat, menyimpan,

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 13 dari 54
memanggil file program Arduino (disebut juga ‘sketch’ dengan ekstensin‘.ino’) dan meng-
upload file sketch ke mikrokontroller. Sedangkan ‘sketch’ adalah program Arduino dalam
bahasa C yang harus diisikan (di-upload menggunakan Arduino IDE) ke dalam IC
mikrokontroller, agar Arduino bekerja berdasarkan keinginginan kita Sebuah sketch, minimal
harus memiliki dua blok program, yakni:
void setup {} ; untuk menginisialisasi program dan atau variabel pendukung, dan
void loop {} ; yang berisikan program utama.

Arduino dapat di operasikan dengan cara menginstal terlebih dahulu software atau
aplikasi pendukung untuk memprogram mikrokontroler arduino berupa program Sederhana,
dengan programming environment turunan dari bahasa pemrograman C yang mudah
dimengerti. Software arduino untuk windows dapat di download langsung ke web arduino.cc
atau github. Jika menginginkan Software Arduino untuk dijalankan pada Operasi Sistem (OS)
lainnya, dapat diperoleh pada alamat situs web resminya, dimana tersedia untuk sistem operasi
Windows, Mac dan Linux: dapat diklik di Web Arduino.cc

D. Sketch Ardino
1. Contoh Sketch untuk membaca tombol pada port digital 2. Ditampilka pada LED 13

//PROGRAM BACA TOMBOL if(nilai == 1){


byte tombol= 2; digitalWrite(led, HIGH);
byte led= 13; }
int nilai; else{
void setup(){ digitalWrite(led, LOW);
pinMode(led, OUTPUT); }
pinMode(tombol, INPUT); }
}

void loop(){
nilai= digitalRead(tombol);
if(nilai == 1){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}
}

2. Contoh Sketch Baca LDR ditampilkan pada Serial Monitor

//PROGRAM BACA LDR Serial.println(nilai);


byte ldr= A2; if(nilai < 500){
byte led= 13; digitalWrite(led, HIGH);
int nilai; }
Ooleh Ds.Edidas,void
MT setup(){ else{ Masyarakat 2018
Bahan Ajar Program Kemitraan Halaman 14 dari 54
pinMode(led, OUTPUT); digitalWrite(led, LOW);
Serial.begin(9600); }
}
void loop(){
nilai= analogRead(ldr);
Serial.print("Nilai LDR: ");
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
} digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}
}

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 15 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH: Praktik Mikroprosesor pada PKM
PROGRAM STUDI : Pendudikan Teknik
TOPIK : Pemrograman Mikroprosesor
Elektronika
JENJANG PROGRAM / SEMESTER : S1/ JUDUL : Pemrograman Mikroprosesor
V Melalui Register dan Interupt
NOMOR : 01 / EIK.FT.UNP-PDG/S1 /
PERTEMUAN KE :1
19
A.Tujuan

1. Agar mahasiswa dapat membuat program untuk menampilkan sebuah

karakter di layar monitor menggunakan INT 21H service 2 dan nilai

ASCII ditempatkan pada register DL.

2. Agar mahasiswa dapat membuat program untuk menampilkan sebuah

kalimat di layar monitor menggunakan INT 21H service 2 dan nilai ASCII

ditempatkan pada register DL.

3. Agar mahasiswa dapat membuat program untuk menampilkan sebuah

karakter di layar monitor menggunakan INT 21H service 9 dengan

kalimat yang akan ditampilkan ditulis pada alamat lain.

4. Agar mahasiswa dapat membuat program untuk menampilkan kalimat

bergerak sepanjang layar monitor menggunakan INT 10 service 2 untuk

mengatur poisi kursor .

5. Agar mahasiswa dapat membuat program untuk membersihkan layar

monitor agar tampilan tampilan kalimat bersih dengan menggunakan INT

10 service 0 dengan format layar 3 ( Al=3).

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 16 dari 54
B. Teori Pendukung
Mikroprosesor dapat diprogram untuk menampilkan data ke layar monitor. Untuk
urusan monitor vendor mikroprosesor Intel telah menerbitkan program interupt sebagai
berikut :
1. INT 5 adalah perintah PRINT SCREEN. Untuk mencetak apa yang ada di layer.
2. INT 10 service 0H, adalah perintah format layer. Nilai 0H disimpan di register AH
sedang nilai yang yang ada pada register AL adalah nilai format layar. Ada 15 nilai
mulai dari 0 sampai F yang menyatakan format layar ( Lihat detailnya pada kamus
Interupt).
3. INT 10 service 01H, adalah perintah untuk menentukan bentuk kursor.
4. INT 10 service 02H, adalah perintah untuk menentukan posisi kursor.
5. INT 10 service 03H, adalah perintah untuk mencari posisi kursor.
6. INT 10 service 04H, adalah perintah untuk mencari posisi light pen.
7. INT 10 service 05H, adalah perintah untuk memilih halaman yang aktif.
8. INT 10 service 06H, adalah perintah untuk menggulung layar ke atas.
9. INT 10 service 07H, adalah perintah untuk mengguung layar ke bawah.
10. INT 10 service 08H, adalah perintah untuk membaca data ASCII dan atribut karakter.
11. INT 10 service 09H, adalah perintah untuk mencetak karakter ASCII dan atribut ke
layar.
12. INT 10 service 0AH, adalah perintah untuk mencetak karakter ASCII tanpa atribut le
layar.
13. INT 10 service 0BH, adalah perintah untuk mencetak warna background dan
foreground layar.
14. INT 10 service 0CH, adalah perintah untuk mencetak pixel pada posisi kursor.
15. INT 10 service 0DH, adalah perintah untuk membaca angka pixel.
16. INT 10 service 0EH, adalah perintah untuk mencetak karakter TTY (tele type) mode.
17. INT 10 service 0FH, adalah perintah untuk membaca modus video.
18. INT 21 service 02H, adalah perintah untuk menulis satu karakter le layar.
19. INT 21 service 09H, adalah perintah untuk menulis seuntai kalimat ke layar.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 17 dari 54
Untuk lebih jelasnya cara penggunaan INTn tersebut diatas dapat dilihat dalam kamus
interupt. Karakter yang dapat ditampilkan di layar adalah karakter yang sudah mempunyai kode
ASCII (American Standart Code for Interchage Information) atau kode perluasanya.

C. Langkah Kerja
1. Jalankan program DEBUG.exe (dapat dilakukan melalui tab RUN pada menu START

yang ada pada pojok kiri bawah layar Windows, sehingga layar debug dengan prompt –

(tanda kurang) seperti gambar berikut:

2. Ketik perintah r pada prompt – untuk melihat regsister-register yang ada di dalam

mikroprosesor Intel yang yang terpasang di dalam komputer anda, sehingga tampilah

nama-nama register beserta isinya seperti yang terlihat pada gambar berikut:

3. Selanjutnya catatlah isi 13 buah regsiter dan status 8 bit register flag yang terlihat di

layar debug anda, lalu cobalah memaknai setiap data yang anda catat itu !.

Hasil: (makna setiap isi register dan makna status register Flag) ……………………………

……………………………………………………………………………………………………………………

……………………………………………….…………

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 18 dari 54
4. Rakitlah program seperti disamping pada alamat
-a100
Xxxx:0100 MOV AH,02
offset 100 dengan perintah a[alamat].  MOV DL,45
INT 21
INT 20

5. Jika sudah selesai dirakit pastikan isi register IP apakah sama dengan alamat offset

ketika program ditulis tadi!

Cek 1: IP= ………………………………………………………….

6. Eksekusi program pada prompt debug (tanda kurang) dengan perintah g !

7. Amati apa yang terjadi ! Hasil 1 : ………………………………………………

-a100
8. Tambahkan tiga baris program berikut Xxxx:0100 MOV AH,00
MOV AL,03
ke program tadi pada baris 1 sampai 3 INT 10
MOV AH,02
sehingga program menjadi seperti :  MOV DL,45
INT 21
INT 20

9. Jika sudah selesai dirakit pastikan isi register IP apakah sama dengan alamat offset

ketika program ditulis tadi!

Cek 2: ………………….…………………………………………………………..

10. Eksekusi program pada prompt debug (tanda kurang) dengan perintah g !

11. Amati apa yang terjadi ! Hasil 2 : ………………………………………………

Catatan : Fungsi program 3 baris pertama adalah : ……………………………….

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 19 dari 54
12. Tambahkan program lagi untuk mencetak karakter
-a100
Xxxx:0100 MOV AH,00
lebih banyak. Misalnya seperti program disamping ! . MOV AL,03
INT 10
MOV AH,02
MOV DL,45
INT 21
13. Jika sudah selesai dirakit pastikan isi register IP
MOV AH,02
MOV DL,44
apakah sama dengan alamat offset ketika program
INT 21
MOV AH,02
ditulis tadi! MOV DL,49
INT 21
Cek 3: IP =………………………………….. INT 20

14. Eksekusi program pada prompt debug (tanda kurang) dengan perintah g !

15. Amati apa yang terjadi ! Hasil 3 : ………………………………………………

Catatan : Jika banyak karakter yang akan ditampilkan maka terjadi program yang

panjang sekali maka untuk itu dilakukan manipulasi dengan cara:

1. Mendifinisikan karakter yan akan ditulis pada alamat lain.

2. Tunjuk alamat awal karakter dengan salah register dengan cara pengalamatan

tidak langsung (indirect addressing mode ).

3. Isikan nilai register CX sebanyak karater yang akan ditampilkan

4. Berikan perintah loop ( pegulangan).

5. ………………………………………………………………………………………..

6. ………………………………………………………………………………………..

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 20 dari 54
16. Rakit program berikut pada alamat offset 100 dan dan program definisi karakter pada

alamat offset 300 sbb:

A300
xxxx: 0300 DB’ TERNYATA BELAJAR MIKROPROSESOR ITU MENYENANGKAN’

A100
xxxx:0100 MOV AH,00
MOV AL,03
INT 10
MOV CX,0030
MOV AH,02
MOV BX,0300
MOV DL,[BX]
INT 21
INC BX
LOOP 010E
INT 20

17. Jika sudah selesai dirakit pastikan isi register IP apakah sama dengan alamat offset

program utama (a100)! . Program pada alamat 300 adalah sub program yang dipanggil

melalui register BX.

Cek 4: …………………………………………………………..

18. Eksekusi program pada prompt debug (tanda kurang) dengan perintah g !

19. Amati apa yang terjadi ! Hasil 4 : ………………………………………………

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 21 dari 54
20. Tambah lagi baris program untuk memindahkan posisi
MOV AH,00
MOV AL,03
tampil karakter dengan menggunakan INT 10 sevice 2. INT 10
MOV AH,02
Rakit program pada alamat 100 seperti program MOV DX,0920
INT 10
disamping dan subprogram tetap pada alamat 300! MOV CX,0030
MOV AH,02
MOV BX,0300
MOV DL,[BX]
INT 21
INC BX
LOOP 0115
INT 20
21. Jika sudah selesai dirakit pastikan isi register IP

apakah sama dengan alamat offset program utama (a100)! . Cek 5: …………………………

………………………………..

22. Eksekusi program pada prompt debug (tanda kurang) dengan perintah g !

23. Amati apa yang terjadi ! Hasil 5 : ………………………………………………

24. Lanjutkan merancang dan merakit program pada layar debug untuk menampilkan huruf

abjad dari A sampai Z ! (kode ASCII dari A=41), seperti listing program pada kotak

sebelah kiri. Selanjutnya modifikasi program untuk menampilkan huruf abjad kecil a

sampai z jika kode ASCII a=61.. Hasil 6 : ( berupa Listing Program pada kotak

sebelah kanan)

A100 A100
MOV AH,00
MOV AL,03
INT 10
Mov CX,1A
Mov AH,2
Mov DL,41
INT 21
INC DL
LOOP 10D
INT 20

25. Rancang dan rakit program untuk menampilkan huruf abjad dari z sampai a dimana

nilai ASCII dari z=7a !. Hasil 7: ( Listing Program)

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 22 dari 54
26. Rancang dan rakit program untuk menampilkan huruf angka 9 sampai 5 pada posisi

ditengah-tengah layar ! nilai ASCII dari 9=39 !. Hasil 8: ( Listing Program)

27. Untuk program berikut anda mencatat kode ASCII nama anda sendiri pada layar debug

dengan cara memasukkan nama anda pada alamat tertentu dengan perintah A[alamat]

lalu melihat hasilnya dengan perintah d[alamat], seperti contoh E=45, D=44, I=49,

D=44, A=41 dan S=53.

Hasil 9: (catatan kode ASCII nama anda masing-masing)…………………………….

-a100
1358:0100 db'EDIDAS'
1358:0106
-d100
1358:0100 45 44 49 44 41 53 00 00-00 00 00 00 00 00 00 00 EDIDAS.....
1358:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 47 13 ...........
1358:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ...........
1358:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ...........
1358:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ...........

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 23 dari 54
Tambahkan program delay seperti disamping
A200
untuk menampilkan huruf nama anda ditampilkan xxxx: 0200 PUSH BP
PUSH CX
secara berurutan karakter demi karakter. Rakit MOV BP,100
MOV CX,4000
LOOP 208
program delay pada alamat offset 200. Hasil10: DEC BP
JNZ 205
(listing program nama anda digabung dengan POP CX
POP BP
program delay)………………………………….. RET

28. Eksekusi program diatas lalu amatilah tampilan pada layar !

Hasil 11: ………………………………………………………………………………

29. Praktikum selesai.

D.Tugas Dan Pengayaan

1. Analisa data yang telah anda kumpulkan lalu buat kesimpulannya!.


2. Kembangkan program tampilan layar untuk membuat nama berjalan:
a. dari kiri ke kanan pada layar monitor !
b. dari kanan ke kiri pada layar monitor !
c. bolak baik kanan kiri pada layar monitor !
d. dari atas ke bawah pada layar monitor !
e. dari bawah ke atas pada layar monitor !
f. bolak balik bawah atas pada layar monitor !
g. dan lain lain animasi sesuai dengan tingkat pemahaman anda

XXXX SEMOGA SUKSES XXXX

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 24 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik Mikroprosesor pada PKM
PTOGRAM STUDI: Pendidikan Teknik TOPIK : Memprogram Input Output (I/O)
Elektronika Mikroprpsesor
TOPIK : Memprogram Mikroprosesor Untuk
JENJANG/SEMESTER : S1/ V
Mengganti Halaman Layar Monitor
PERTEMUAN.KE :2 NOMOR : 02 / EIK.FT.UNP-PDG/ S1 /19
A. Tujuan :

1. Agar mahasiswa dapat menggunakan int 10h service 5h untuk mengganti


halaman layar monitor yang aktif.

2. Agar mahasiswa dapat menggunakan int 10h service bh untuk mengganti


backgroud layar monitor .

3. Agar mahasiswa dapat menggunakan int 10h service 0h untuk mengganti


format layar monitor .

4. Agar mahasiswa dapat menggunakan int 21h service 9h untuk menampilkan


teks kalimat (string) ke layar monitor.

5. Agar mahasiswa dapat menggunakan int 21h service 1h untuk menerima


inputan karakter dari keyboard.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 25 dari 54
6. Agar mahasiswa dapat menggabungkan program ganti halaman layar
menjadi satu program com saja

7. Agar mahasiswa dapat menerapkan perintah assembley CMP, JE, JNE dan
JMP untuk mengarahkan program.

8. Agar mahasiswa dapat meng-compiler program asm sehingga menjadi


program com dan mengeksekusi program ganti halaman layar secara terpadu.

B. Teori Pendukung

Layar monitor mempunyai beberapa halaman layar. Jumlah halaman tergantung dari
jumlah memori kartu monitor dan format layar. Jika format layar adalah 80 x 25 hitam putih,
maka gambar layar itu akan menampilkan 80 x 25 = 2000 karakter. Satu karakter memakai 2
byte memory, dimana 1 byte pertama untuk menyimpan kode ASCII dan satu byte yang lain
untuk menyimpan atribut dari karakter itu. Dengan demikian untuk menampilkan satu halaman
layar format 80 x 25 memakai memory kartu sebanyak 2 X 2000 byte= 4000 byte atau 4 KB.
Kalau memory kartu monitor 16 KB maka ada 4 halaman layar dan kalau memory kartu
monitor 8 MB maka jumlah halaman adalah 8 . 10 6 : 4.103 = 2000 halaman. Begitu juga kalau
memakai monitor warna untuk menampilkan satu karakter membutuhkan 4 byte memory. Satu
byte untuk kode ASCII-nya dan tiga byte yang lain untuk menyimpan kode warna R(red),
G(green), B(blue). Jumlah memory yang dibutuhkan untuk satu layar dapat dihitung sendiri.

Untuk mengamati halaman layar yang aktif dipakai int 10h layanan 5h. Prosedur
ganti halaman adalah dengan mengeset register AH  05h. dan register AL dengan nilai nomor
halaman yang diaktifkan .Nilai AL maksimum adalah FFh (255 desimal) sehingga jumlah
halaman yang dapat diaktifkan sebanyak 256 halaman layar.

Untuk memperingkas program ganti halaman layar namun dapat dipakai untuk
mengaktifkan halaman nomor tertentu maka program-program itu digabung dengan
menggunakan logika ‘pilih’ dengan cara menerima inputan keyboard lalu mengarahkan
peogram dengan statemen CMP, JMP, JE, JNE . Program-program ganti layar akan disatukan
dengan satu program, dengan ketentuan setiap nomor layar yang diinginkan akan di inputkan
dari keyboard. Untuk menerima inputan dari keyboard dapat memakai int 16h service 0h.
Interup ini akan menunggu samapai ada input karakter dari keyboard. Secara default kode

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 26 dari 54
ASCII karakter yang di inputkan dari keyboard akan masuk ke register AL . Didalam program
ganti halaman layar dapat dibuat program filter dengan cara membandingkan isi AL dengan
angka-angka nomor halaman layar yang baku. Jika angka nomor halaman layar yang
dimasukan benar, maka akan di teruskan ke program ganti nomor halaman layar . Jika inputan
tidak ada yang benar maka program akan meminta inputan baru sampai cocok dengan ganti
halaman layar yang telah ditetapkan. Untuk membandingkan isi AL adalah sbb:

Ulang : mov Ah.01


Int 21h
cmp AL,0 ; apakah AL= 0 ?
Je hal0 ; jika sama teruskan, ke ganti halaman 0
Jne ulang ; jika tidak minta inputlagi
Hal0: Program ganti halaman ke 0 dst.

C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah

2. Software MASM.EXE ………………………………………………….. 1 paket

3. Software LINK.EXE ………………………………….……………….. 1 paket

4. Software EXE2BIN.EXE ……………………………………………….. 1 paket

5. Software EDIT.COM (biasanya bawaan windows) …………………….. 1 paket

D. Listing Program : GTHAL.asm

ghal segment
assume cs:ghal
org 100h
start: jmp mulai
ket db,13,10,' MENGGANTI HALAMAM LAYAR YANG AKTIF',13,10,
db ,13,10,,13,10, 'Masukkan Nomor Halaman :',13,10,'$'

hal0 db,13,10,' ████████'


db,13,10,' ███'
db,13,10,' █████ INI ADALAH HALAMAN PERTAMA'
db,13,10,' ███'
db,13,10,' ████████','$'

hal1 db,13,10,' ███████'


db,13,10,' ███ ██'
db,13,10,' ███ ██ INI ADALAH HALAMAN KEDUA'
db,13,10,' ███ ██'
db,13,10,' ███████','$'

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 27 dari 54
HAL2 db,13,10,' ███'
db,13,10,' ███'
db,13,10,' ███ INI ADALAH HALAMAN KETIGA'
db,13,10,' ███'
db,13,10,' ███','$'

HAL3 db,13,10,' ███████'


db,13,10,' ███ ██'
db,13,10,' ███ ██ INI ADALAH HALAMAN KEEMPAT'
db,13,10,' ███ ██'
db,13,10,' ███████','$'

HAL4 db,13,10,' █████'


db,13,10,' ██ ██ '
db,13,10,' █████████ INI ADALAH HALAMAN KELIMA'
db,13,10,' ███ ███'
db,13,10,' ███ ███','$'

HAL5 db,13,10,' ████████'


db,13,10,' ███'
db,13,10,' ████████ INI ADALAH HALAMAN KEENAM'
db,13,10,' ███'
db,13,10,' ████████','$'

mulai : mov ah,06h ; menggulung layar


mov cx,000h ; koordinat kursor awal ch=0 dan cl=0
mov dh,24 ; baris kursor akhir dh=24
mov dl,80 ; kolom kursor akhir dl=80
mov bh,1 ; halaman layar = 1
mov al,0h ; hapus seluruhnya
int 10h ; jalan int 10h

mov ah,0 ; perintah format layar


mov al,6 ; format layar 6
int 10h ; format layar ke format diatas

mov ah,9 ; tulis kata dalam dx


mov dx,offset ket ; isi dx dg kata ket
int 21h

ulang: mov ah,1 ; Tunggu Input dari keyboard


int 21h

cmp al,'0' ; bandingkan Input dg 0


je H0 ; jika sama lompat ke m0

cmp al,'1'
je H1

cmp al,'2'
je H2

cmp al,'3'

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 28 dari 54
je H3

cmp al,'4'
jne t5
jmp H4

t5 : cmp al,'5'
jne keluar
jmp H5

keluar: cmp al,'q'


jne ulang
jmp selesai

H0: mov ah,05h ; perintah ganti halaman layar


mov al,00 ; halaman 0
int 10h ; ganti ke halaman 0

mov ah,0 ; perintah format layar


mov al,2 ; format layar 2
int 10h ; format layar ke format diatas

mov ah,09h ; perintah menulis kata yang ada di dx


mov dx,offset hal0 ; isi dx dengan kata hal0
int 21h ; jalankan perintah tulis diatas

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,6 ; coklat
int 10h
jmp ulang

h1: mov ah,05h ; perintah ganti layar


mov al,01h ; layar halaman 1
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal1
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,5 ; megenta
int 10h
jmp ulang

h2: mov ah,05h ; perintah ganti layar


mov al,02h ; layar halaman 2
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 29 dari 54
mov ah,09h
mov dx,offset hal2
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,1 ; biru
int 10h
jmp ulang

h3: mov ah,05h ; perintah ganti layar


mov al,03h ; layar halaman 3
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal3
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,4 ; merah
int 10h
jmp ulang

h4: mov ah,05h ; perintah ganti layar


mov al,04h ; layar halaman 4
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal4
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,2 ; hijau
int 10h
jmp ulang

h5: mov ah,05h ; perintah ganti layar


mov al,05h ; layar halaman 5
int 10h ; ganti layar dengan halaman diatas

mov ah,0
mov al,6 ;format laya ke 6
int 10h

mov ah,09h
mov dx,offset hal5

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 30 dari 54
int 21h

mov ah,0bh
mov bh,0 ; warna latar belakang
mov bl,6 ; coklat
int 10h
jmp ulang
selesai: int 20h
ghal ends
end start

E. Langkah kerja.

1. Siapkan komputer dalam sistem operasi DOS (command prompt), dapat dilakukan

mengetikkan perintah cmd pada menu RUN melalui menu menu START yang berada

pada pojok kiri layar windows. Cek 1 :………………………………………………….

2. Jalankan program EDIT.COM (dapat juga dilakukan melalui menu RUN dalam menu

START yang berada pada pojok kiri layar windows. Sehingga tampil layar kerja EDIT

seperti gambar berikut:

3. Ketiklah program GTHAL.ASM, seperti listing program diatas !

4. Jika telah selesai mengetik program simpanlah file itu dengan nama GTHAL.asm dalam

folder yang sama dengan software compilernya (MASM, LINK, EXE2BIN).

5. Compile program GTHAL.asm agar menjadi GTHAL.obj dengan cara mengetikkan

perintahnya pada prompt folder dimana program tadi disimpan, misalnya jika program

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 31 dari 54
dan compilernya disimpan dalam folder MASM pada Drive D maka perintahnya adalah

seperti: D:// MASM/ masm.gthal.asm

6. Abaikan permintaan nama file selama proses kompilasi dengan cara menekan enter

sebanyak 4 kali, sehingga kursor kembali berada pada prompt kembali. Lalu catalah

pesan kesalahan (error)yang ditampilkan. Jika yang tampil pesan no errors found maka

sintag program anda tidak ada yang salah.

7. Jika terdapat pesan kesalahan silahkan perbaiki setiap kesalahan sesuai dengan nomor

baris yang ditampilkan. Lalu simpan kembali hasil perbaikan yang telah dilakukan !

8. Compilasi ulang program yang sudah diperbaiki itu dan catat lagi pesan kesalahan yang

ditampilkan jika masih ada errors.

9. Ulang langkah 7-8 sampai melihat tampilan pesan kesalahan no errsors found.

10. Jika tidak ada lagi pesan kesalahan lagi maka kompilasi telah berhasil membuat

program GTHAL.asm menjadi GTHAL.obj

11. Lanjutkan dengan me-link-kan program GTHAL.obj sehingga menjadi GTHAL.exe

dengan perintah: D://MASM? link gthal.obj

12. Perhatikan pesan setelah menjalankan perintah diatas apakah kompilasi kedua ini

berhasil atau belum. Kalau pesan file don’t exist itu menandakan belum berhasil

13. Rubah GTHAL.exe menjadi GTHAL.com perintahnya : exe2bin gthal.exe gthal.com

8. Jalankan program GTHAL.com dan amatilah tampilan pertama program ini

9. Jika program anda sudah jalan (running) panggil pilihan layar anda dengan cara

mengetikkan angka 0-5 untuk mengamati informasi pada halaman ke 0 sampai ke

halamam ke 5, kemudian tuliskan hasil pengamatan anda ke dalam tabel pengamatan

dibawah ini.

10. Praktik selesai, lakukan analisis dan buatlah laporan praktek dan kesimpulannya.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 32 dari 54
TABEL PENGAMATAN

Keterangan Sintag program Nomor


Atribut Layar yang membuat halaman Format layar
Input Key-
Yang Tampil warna Layar dan dan sintag Keterangan
Board
Sim- Back- background sintag programnya
bol ground layar itu programnya
Mov ah,0bh Hal no: 00 Format no 2 bl=6=coklat
Mov bh,0 Mov ah,05h Mov ah,0 al=00= no.5
0 E Coklat Mov bl,6 Mov al, 00 Mov al,2h al=2=format
Int 10h Int 10h Int 10h no 2
1

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 33 dari 54
4

F. Tugas Dan Pengayaan


1. Revisi program diatas sehingga dapat menampilkan sebuah halaman layar masing-

masing dengan atribut yang berbeda !.

2. Hubungkan semua program ganti halaman ini sehingga setelah halaman berganti akan

meminta inputan lagi, kecuali kalau inputannya karakter ‘k’ maka program akan

berhenti !.

3. Jelaskan kegunaan kenapa halaman layar perlu di buat banyak ?

4. Pada register mana terletak nilai nomor halaman pada int 10h layanan 5h ?

5. Jelaskan apa fungsi program mov ah,0

Mov al,2

Int 10h

6. Untuk apa format layar ditentukan sesudah mengganti halaman layar ?

7. Jelaskan mengapa memory monitor semakin diperbesar saja ?

8. Buat program sederhana untuk menampilkan seluruh kode ASCII ke layar montor

dengan menggunkan int 21 service 2. ( ingat ! DL diisi mulai dari 00 – FF ) !

***** SELAMAT BEKERJA SEMOGA SUKSES *****

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 34 dari 54
Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 35 dari 54
LAMPIRAN :

LISTING PROGRAM DENGAN DEBUG

Program Ganti Latar belakang layar monitor


a150 a190
mov ah,0 mov ah,0
mov al,6 mov al,6
int 10h int 10h
mov ah,0b mov ah,0b
mov bh,0 mov bh,0
mov bl,1 mov bl,5
int 10h int 10h
jmp 100 jmp 100

a160 a100
mov ah,0 mov ah,1
mov al,6 int 21
int 10h cmp al,30
mov ah,0b jz 150
mov bh,0 cmp al,31
mov bl,2 jz 160
int 10h cmp al,32
jmp 100 jz 170
cmp al,33
a170 jz 180
mov ah,0 cmp al,34
mov al,6 jz 190
int 10h cmp al,6b
jz 11e
mov ah,0b
jmp 100
mov bh,0
mov ah,0
mov bl,3
mov al,3
int 10h
int 10
jmp 100
int 20
a180
mov ah,0
mov al,6
int 10h
mov ah,0b
mov bh,0
mov bl,4
int 10h
jmp 100

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 36 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik pada PKM
Program Studi : Pend. Teknik Elekronika TOPIK : Membuat Rangkaian Beban Arduino

PERTEMUAN.KE :3 NOMOR : 03 / PEIK /19


A. Tujuan :

1. Agar peserta dapat membuat rangkaian beban LED 8 bit untuk board Arduino
terakit pada PCB dengan baik dan rapi.

2. Agar peserta dapat membuat rangkaian beban SEVEN SEGMEN 2 digit


untuk board Arduino terakit pada PCB dengan baik dan rapi.

3. Agar peserta dapat membuat rangkaian beban DOT MATRIX 8x8 untuk
board Arduino terakit pada PCB dengan baik dan rapi.

4. Agar peserta dapat membuat rangkaian beban SAKLAR 8 bit untuk board
Arduino terakit pada PCB dengan baik dan rapi.

5. Agar peserta dapat membuat rangkaian beban SENSOR LDR untuk board
Arduino terakit pada PCB dengan baik dan rapi.

6. Agar peserta dapat membuat rangkaian beban SENSOR ULTRASONIC


untuk board Arduino terakit pada PCB dengan baik dan rapi.

7. Agar peserta dapat membuat rangkaian beban SENSOR INFRA RED untuk
board Arduino terakit pada PCB dengan baik dan rapi.

8. Agar peserta dapat membuat rangkaian beban MOTOR DC untuk board


Arduino terakit pada PCB dengan baik dan rapi.

9. Agar peserta dapat membuat rangkaian beban MOTOR SERVO untuk board
Arduino terakit pada PCB dengan baik dan rapi.

10. Agar peserta dapat membuat rangkaian beban STEPPER untuk board
Arduino terakit pada PCB dengan baik dan rapi.

11. Agar peserta dapat membuat rangkaian beban LCD 2X16 untuk board
Arduino terakit pada PCB dengan baik dan rapi.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 37 dari 54
B. Teori Pendukung

Beban Arduino dikeluarkan melalui port Input Output (I/O). Ada beberapa port
I/O yang perlu diakses bagi pemula adalah I/O analog sebanyak 6 buah (A0, A1,
A2, A3, A4, A5) dan I/O digital sebanyak 14 buah (1,2,3....13). Untuk tingkat
lanjut belajar arduino akan dipelajari I/O serial,I2C dan lain-lain.

C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah

2. Software Electronic Design (Eagle, Proteus, Circuit Maker, ect) ..…….. 1 paket

3. Printer Laser .............………………………………….……………….. 1 unit

4. Kertas PCB Duplicator ...……………………………………………….. 1 buah

5. Sterika listrik …..................................................…………………….. 1 buah

6. Papan PCB polos 10 x 20 cm ................................................................ 1 buah

7. Bor PCB ................................................................................................... 1 buah

8. Solder listrik ............................................................................................ 1 buah

9. Tang potong ............................................................................................. 1 buah

10. Komponen ............................................................................................. 1 set

11. Timah secukupnya

12. Pelarut feryclorida (FeCl3) secukupnya.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 38 dari 54
D. Gambar Rangkaian

J4
CONN-SIL10

1
2
3
4
5
6
7
8
9
10
J1
150
1
2 SW5 SW6 SW7 SW8
3 SW1 SW2 SW3 SW4
4
5
6
7

DOTMATRIX2

DOTMATRIX1
8
J8 J7 J10 J9 J6 J5
1 1 1 1 1 1
soket SIP8 F 2 2 2 2 2 2
3 3 3 3 3 3
4 4 4 4 4 4
5 5 5 5 5 5

J14 J13
1 1
2 2
3 3

VCC SENSOR LDR

J2
12
11
10
9
150 J12 J11
8 1 1
7 2 2
6 3 3
5 4 4
4
3
2
1 SENSOR SR04

Gambar 1. Rangkaian Beban Arduino

E. Langkah kerja.

1. Siapkan komputer dalam sistem operasi windows yang punya sistaem aplikasi pembuat

rangakaian elektronika ! Cek 1 :.........................................................................

2. Rancanglah lay out PCB sesuai skema rangkaian diatas !

Cek 2 :.........................................................................

3. Cetaklah lay out PCB ke kertas duplikator PCB dengan printer laser !

Cek 3 :.........................................................................

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 39 dari 54
4. Bersihkan permukaan PCB polos dengan ampelas halus lalu tempel kertas lay out ke

permukaan PCB polos tersebut dengan baik dan rapi !

Cek 4 :.........................................................................

5. Gosoklah kertas duplikator sampai kelihatan jalur sudah pindah ke permukaan PCB !

Cek 5 :.........................................................................

6. Lepaskan kertas duplikator dari permukaan PCB dengan hati-hati, jaga jangan sampai

ada jalur terangkat dari permukaan PCB !

Cek 6 :.........................................................................

7. Larutkan PCB dengan larutan FeCL3 sehingga jalur tercetak dengan jelas dan rapi !

Cek 7 :.........................................................................

8. Lakukan pengeboran pada setiap titik pengeboran lubang kaki komponen !

Cek 8 :.........................................................................

9. Rakitlah semua komponen pada PCB sesuai skema rangkaian di atas !

Cek 9 :.........................................................................

10. Periksa rangkaian anda apakah semua komponen sudah selesai dirakit !

Cek 10 :.........................................................................

12. Praktik selesai, rapikan kembali semua peralatan sudah dipakai.

***** SELAMAT BEKERJA SEMOGA SUKSES *****

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 40 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik Mikrokontroler pada PKM
Program Studi : Pend. Teknik Elekronika TOPIK : Memprogram Beban LED dengan Arduino

PERTEMUAN.KE :4 NOMOR : 04/ PEIK /18


A. Tujuan :
1. Agar peserta didik dapat memasang software Arduino IDE pada PC atau laptop
dengan baik dan benar.

2. Agar peserta didik dapat mengetes software Arduino IDE sudah terpasang pada PC
atau laptop bisa terkoneksi ke board board Arduino dengan baik dan benar.

3. Agar peserta didik dapat membuat program animasi LED flip-flop pada beban LED
8 bit pada board Arduino dengan baik dan benar.

4. Agar peserta didik dapat membuat program animasi LED berjalan pada beban LED
8 bit pada board Arduino dengan baik dan benar.

5. Agar peserta didik dapat membuat program animasi LED wiper pada beban LED 8
bit pada board Arduino dengan baik dan benar.

6. Agar peserta didik dapat membuat program animasi LED kembang-kempis pada
beban LED 8 bit pada board Arduino dengan baik dan benar.

7. Agar peserta didik dapat membuat program animasi LED kura-kura lapar pada
beban LED 8 bit pada board Arduino dengan baik dan benar.

8. Agar peserta didik dapat membuat program animasi LED tertentu pada beban LED
8 bit pada board Arduino, sesuai kreatifitas masing-masing dengan baik dan benar.

B. Teori Pendukung

Board sistem minimum Arduino Uno memepunyai 14 pin input-output digital dimana 6
pin input tersebut dapat digunakan sebagai output PWM (Pulse Width Modulation) dan 6 pin
input analog, 2 pin sebagai komunilasi serial. Board Arduino menggunakan catudaya 5VDC
melalui USB atau melaui jack input DC 9 V.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 41 dari 54
C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah


2. Software Arduino IDE ..................................................................…….. 1 paket
3. Board Arduino UNO ……………………………….……………….. 1 unit
4. Kit Beban untuk Arduino …………………………………………….. 1 Set
5. Jumper set (Male-Male, Male-Female, Female-Female) .....……….. 1 buah

D. Gambar Rangkaian

VCC
Design by Edidas
microcontrolandos.blogspot.com

150

ARDUINO UNO R3 AREF


13
PB5/SCK
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121

DIGITAL (~PWM)

7
ANALOG IN

PD7/AIN1
6
A0 ~PD6/AIN0
PC0/ADC0 5
A1
PC1/ADC1
~ PD5/T1
4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD

Gambar 1.
Rangakaian Beban LED Arduino

E. Listing Program
//PROGRAM : MENAMPILKAN ANIMASI void loop() {
// put your main code here, to run
LED FLIP-FLOP repeatedly:
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
//Deklarasi Variable dan Pin digitalWrite(LED3, LOW);
int LED1 = 2; digitalWrite(LED4, LOW);
int LED2 = 3; digitalWrite(LED5, HIGH);
int LED3 = 4; digitalWrite(LED6, HIGH);
int LED4 = 5; digitalWrite(LED7, HIGH);
int LED5 = 6; digitalWrite(LED8, HIGH);
int LED6 = 7; delay(500);
int LED7 = 8; digitalWrite(LED1, HIGH);
int LED8 = 9; digitalWrite(LED2, HIGH);
void setup() { digitalWrite(LED3, HIGH);
pinMode(LED1, OUTPUT); digitalWrite(LED4, HIGH);
pinMode(LED2, OUTPUT); digitalWrite(LED5, LOW);
pinMode(LED3, OUTPUT); digitalWrite(LED6, LOW);
pinMode(LED4, OUTPUT); digitalWrite(LED7, LOW);
pinMode(LED5, OUTPUT); digitalWrite(LED8, LOW);
pinMode(LED6, OUTPUT); delay(500);
pinMode(LED7, OUTPUT); }
pinMode(LED8, OUTPUT);
}

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 42 dari 54
//PROGRAM 2 : MENAMPILKAN //PROGRAM 3 : MENAMPILKAN
ANIMASILED JALAN ANIMASILED WIPER
KANAN void setup()
void setup() {
//Deklarasi Variable dan Pin int pinLED;
menggunakan FOR for(pinLED = 2; pinLED < 10; pinLED +
{ +)
int pinLED; {pinMode(pinLED, OUTPUT);}
for(pinLED = 2; pinLED < 10; pinLED ++) }
{pinMode(pinLED, OUTPUT);}
} void loop()
{
void loop() int LED;
// for(LED = 2; LED <10; LED ++)
{perulangan menggunakan FOR {digitalWrite(LED,0);
delay(10);
int LED; digitalWrite(LED,1);
for(LED = 9; LED >1; LED --) delay(10);}
{digitalWrite(LED,0); for(LED = 9; LED >1; LED --)
delay(500); {digitalWrite(LED,0);
digitalWrite(LED,1); delay(30);
delay(500);} digitalWrite(LED,1);
} delay(30);}
}

F. Langkah kerja.

1. Siapkan komputer dengan sistem operasi windows yang punya sistem aplikasi Arduino
IDE (Versi 1.8.5 atau last vesion) ! Cek 1 :................

2. Buka jendala kerja Arduino IDE sehingga tampil seperti


berikut !
Cek 2 :.........................................................................

3. Sambungkan USB dari Board Arduino ke USB komputer !


Cek 3 :.........................................................................
3. Cek dan pastikan software Aduino IDE terkoneksi dengan board Arduino !
Cek 4 :.........................................................................

4. Tulis “Program 1: LED flip-flop” dari baris pertama sampai baris terakhir !
Cek 5:.........................................................................

5. Simpan file yang sudah ditulis dengan nama “Led Flip-flop” atau boleh juga nama lain !
Cek 6 :.........................................................................

6. Klik ikon “” atau verify, untuk mencek penulisan program yang baru saja selesai
ditulis ! Cek 7 :.........................................................................

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 43 dari 54
7. Jika tidak pesan errors yang tampil berarti penulisan program telah benar, sehingga
dapat dilanjutkan meng-upload program ke board arduino dengan cara meng-klik ikon
“ “ atau upload, sehingga dengan demikian program akan tersimpan dalam memri
board arduino.
Cek 8 :.........................................................................

8. Setelah program selesai di-upload ke board arduino maka board arduino akan
menjalankan program sesuai yang ditulis di jendela arduino IDE tadi!
Cek 9 :.........................................................................

11. Dengan jalannya program 1 secara baik berati Satu seksi program telah selesai !
Cek 10 :.........................................................................

12. Lakukan dengan cara yang sama untuk program ke 2 dan seterusnya, sehingga
SEMUA program yang ada dalam listing program, berhasil dengan baik dan benar !
Cek 12 :.........................................................................

12. Praktik selesai, rapikan kembali semua peralatan sudah dipakai.

F. Tugas dan Pengayaan


1. Rancang dan Tulislah Program LED pada Arduino dengan berbagai variasi, seperti:
1). Animasi LED bergerak bolak-balik
2). Animasi LED bergerak kembang-kempis
3). Animasi LED bergerak kura-kura lapar
4). dan lain-lain sesuai kreatifitas anda.

2. Rencanakan sebuah program aplikasi sesuai dengan pengalaman belajar yang telah
anda peroleh selama belajar dalam seksi ini !.

***** SELAMAT BEKERJA SEMOGA SUKSES *****

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 44 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik Mikrokontoler pada PKM
TOPIK : Memprogram Beban Seven Segmen dengan
Program Studi : Pend. Teknik Elekronika
Arduino
PERTEMUAN.KE :5 NOMOR : 05 / PEIK /18
A. Tujuan :
1. Agar peserta didik dapat memasang software Arduino IDE pada PC atau laptop
dengan baik dan benar.

2. Agar peserta didik dapat mengetes software Arduino IDE sudah terpasang pada PC
atau laptop bisa terkoneksi ke board board Arduino dengan baik dan benar.

3. Agar peserta didik dapat membuat program animasi tampilan sebuah angka dengan
beban Seven Segmen pada board Arduino dengan baik dan benar.

4. Agar peserta didik dapat membuat program animasi tampilan 10 angka desimal urut
naik dengan beban Seven Segmen pada board Arduino dengan baik dan benar.

5. Agar peserta didik dapat membuat program animasi tampilan 10 angka desimal urut
turun dengan beban Seven Segmen pada board Arduino dengan baik dan benar.

6. Agar peserta didik dapat membuat program animasi tampilan 100 angka desimal urut
naik dengan beban Seven Segmen pada board Arduino dengan baik dan benar.

7. Agar peserta didik dapat membuat program animasi tampilan 100 angka desimal urut
turun dengan beban Seven Segmen pada board Arduino dengan baik dan benar.

8. Agar peserta didik dapat membuat program animasi tampilan simbol-simbol tertentu
dengan beban Seven Segmen pada board Arduino dengan baik dan benar.

B. Teori Pendukung

a b c
Gambar 1. Seven Segmen (a. Bentuk Phisik, b. Nama Segmen, c. Pin Segmen )

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 45 dari 54
Ada dua jenis seven segmen yaitu : Common Katoda dan Common Anoda. Common Katoda
adalah seven segmen yang setiap katoda LED-nya disambung bersama sehingga hanya yang
keluar hanya stau pin saja yang keluar yang diberi nama Common. Data untuk seven segmen
common katoda dimasukkan pada setiap anoda LED. Begitu juga untuk Common Anoda,
semua anoda LED-nya disambungkan bersama, sehingga data akan dimasukan pada masing-
masing kotoda.
C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah


2. Software Arduino IDE ..................................................................…….. 1 paket
3. Board Arduino UNO ……………………………….……………….... 1 unit
4. Kit Beban untuk Arduino ……………………………………………..... 1 Set
5. Jumper set (Male-Male, Male-Female, Female-Female) .....………....... secukupnya

D. Gambar Rangkaian

0 VCC
A5 RX PD0/RXD
PC5/ADC5/SCL 1
A4 TX PD1/TXD
DIGITAL (~PWM)

PC4/ADC4/SDA 2
A3 PD2/INT0
PC3/ADC3 3
ANALOG IN

A2 ~ PD3/INT1 150
PC2/ADC2 4
A1 PD4/T0/XCK
PC1/ADC1 5
ATMEGA328P-PU

A0 ~ PD5/T1
PC0/ADC0 6
~ PD6/AIN0
7
PD7/AIN1
1121

8
microcontrolandos.blogspot.com

PB0/ICP1/CLKO
9
~ PB1/OC1A
10
~ PB2/SS/OC1B
11
~PB3/MOSI/OC2A
RESET 12
PB4/MISO
13
PB5/SCK Design by Edidas

AREF
ARDUINO UNO R3

Gambar 2.
Rangkain Beban 7Segment Arduino

E. Listing Program
//PROGRAM 1 MENAMPILKAN DIGIT void loop() {
ANGKA 3 PADA SEVEN SEGMEN // put your main code here, to run
int a = 0,b = 1,c = 2,d = 3,e = 4,f = 5,g = 6; tiga();
}
void setup() { void tiga()
// put your setup code here, to run on {
pinMode(a,OUTPUT); digitalWrite(a,LOW);
pinMode(b,OUTPUT); digitalWrite(b,LOW);
pinMode(c,OUTPUT); digitalWrite(c,LOW);
pinMode(d,OUTPUT); digitalWrite(d,LOW);
pinMode(e,OUTPUT); digitalWrite(e,HIGH);
pinMode(f,OUTPUT); digitalWrite(f,HIGH);
pinMode(g,OUTPUT); digitalWrite(g,LOW);
} }

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 46 dari 54
//PROGRAM 2 MENAMPILKAN void nol() void lima()
DIGIT ANGKA 0-9 PADA SEVEN { {
SEGMEN digitalWrite(a,LOW); digitalWrite(a,LOW);
int a = 0,b = 1,c = 2,d = 3,e = 4,f = digitalWrite(b,LOW); digitalWrite(b,HIGH);
5,g = 6; digitalWrite(c,LOW); digitalWrite(c,LOW);
digitalWrite(d,LOW); digitalWrite(d,LOW);
void setup() { digitalWrite(e,LOW); digitalWrite(e,HIGH);
// put your setup code here, to run on digitalWrite(f,LOW); digitalWrite(f,LOW);
pinMode(a,OUTPUT); digitalWrite(g,HIGH); digitalWrite(g,LOW);
pinMode(b,OUTPUT); } }
pinMode(c,OUTPUT); void satu() void enam()
pinMode(d,OUTPUT); {
pinMode(e,OUTPUT); digitalWrite(a,HIGH); void enam()
pinMode(f,OUTPUT); digitalWrite(b,LOW); {
pinMode(g,OUTPUT); digitalWrite(c,LOW); digitalWrite(a,LOW);
digitalWrite(d,HIGH); digitalWrite(b,HIGH);
digitalWrite(a,HIGH); digitalWrite(e,HIGH); digitalWrite(c,LOW);
digitalWrite(b,HIGH); digitalWrite(f,HIGH); digitalWrite(d,LOW);
digitalWrite(c,HIGH); digitalWrite(g,HIGH); digitalWrite(e,LOW);
digitalWrite(d,HIGH); } digitalWrite(f,LOW);
digitalWrite(e,HIGH); void dua() digitalWrite(g,LOW);
digitalWrite(f,HIGH); { }
digitalWrite(g,HIGH); digitalWrite(a,LOW); void tujuh()
digitalWrite(b,LOW); {
} digitalWrite(c,HIGH); digitalWrite(a,LOW);
digitalWrite(d,LOW); digitalWrite(b,LOW);
void loop() { digitalWrite(e,LOW); digitalWrite(c,LOW);
// put your main code here, to run digitalWrite(f,HIGH); digitalWrite(d,HIGH);
repeatedly: digitalWrite(g,LOW); digitalWrite(e,HIGH);
nol(); } digitalWrite(f,HIGH);
delay(500); void tiga() digitalWrite(g,HIGH);
satu(); { }
delay(500); digitalWrite(a,LOW); void lapan()
dua(); digitalWrite(b,LOW); {
delay(500); digitalWrite(c,LOW); digitalWrite(a,LOW);
tiga(); digitalWrite(d,LOW); digitalWrite(b,LOW);
delay(500); digitalWrite(e,HIGH); digitalWrite(c,LOW);
empat(); digitalWrite(f,HIGH); digitalWrite(d,LOW);
delay(500); digitalWrite(g,LOW); digitalWrite(e,LOW);
lima(); } digitalWrite(f,LOW);
delay(500); void empat() digitalWrite(g,LOW);
enam(); { }
delay(500); digitalWrite(a,HIGH); void sambilan()
tujuh(); digitalWrite(b,LOW); {
delay(500); digitalWrite(c,LOW); digitalWrite(a,LOW);
lapan(); digitalWrite(d,HIGH); digitalWrite(b,LOW);
delay(500); digitalWrite(e,HIGH); digitalWrite(c,LOW);
sambilan(); digitalWrite(f,LOW); digitalWrite(d,LOW);
delay(500); digitalWrite(g,LOW); digitalWrite(e,HIGH);
} } digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 47 dari 54
F. Langkah kerja.
1. Siapkan komputer dengan sistem operasi windows yang
punya sistem aplikasi Arduino IDE (Versi 1.8.5 atau last
vesion) ! Cek 1 :................

2. Buka jendala kerja Arduino IDE sehingga tampil seperti


berikut !
Cek 2 :.........................................................................
//PROGRAM 3 MENAMPILKAN
DIGIT ANGKA 0-9 PADA SEVEN
SEGMEN Versi 2.
int a = 0,b = 1,c = 2,d = 3,e = 4,f =
5,g = 6;
3. Sambungkan USB dari Board Arduino ke USB
komputer ! void setup() {
// put your setup code here, to run on
Cek 3 :......................................................................... pinMode(a,OUTPUT);
3. Cek dan pastikan software Aduino IDE terkoneksi pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
dengan board Arduino ! pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
Cek 4 :......................................................................... pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
4. Tulis “Program 1: satuangka” dari baris pertama sampai digitalWrite(a,HIGH);
baris terakhir ! digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
Cek 5:......................................................................... digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
5. Simpan file yang sudah ditulis dengan nama digitalWrite(g,HIGH);
“satuangka” atau boleh juga nama lain !
}
Cek 6 :.........................................................................
void loop() {
// put your main code here, to run
6. Klik ikon “” atau verify, untuk mencek penulisan repeatedly:
program yang baru saja selesai ditulis ! Cek nol();
delay(500);
7 :......................................................................... satu();
delay(500);
dua();
7. Jika tidak pesan errors yang tampil berarti penulisan delay(500);
tiga();
program telah benar, sehingga dapat dilanjutkan meng- delay(500);
upload program ke board arduino dengan cara meng- empat();
delay(500);
klik ikon “ “ atau upload, sehingga dengan lima();
demikian program akan tersimpan dalam memri board delay(500);
enam();
arduino. delay(500);
Cek 8 :......................................................................... tujuh();
delay(500);
lapan();
delay(500);
sambilan();
delay(500);
}

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 48 dari 54
8. Setelah program1 selesai di-upload ke board arduino maka board arduino akan
menjalankan program sesuai yang ditulis di jendela arduino IDE tadi, deskripsikan hasil
program yang anda amati!
Cek 9 :.........................................................................

13. Dengan jalannya program 1 secara baik berati satu seksi program telah selesai !
Cek 10 :.........................................................................

14. Lakukan dengan cara yang sama untuk program ke 2 dan seterusnya, sehingga
SEMUA program yang ada dalam listing program, berhasil dengan baik dan benar !
Cek 12 :.........................................................................

12. Praktik selesai, rapikan kembali semua peralatan sudah dipakai.

F. Tugas dan Pengayaan


1. Rancang dan Tulislah Program SEVEN SEGMEN pada Arduino dengan berbagai
variasi, seperti:
1). Tampilan angka desimal urut turun pada beban seven segmen
2). Tampilan angka desimal urut naik 00-99 pada beban seven segmen
3). Tampilan angka desimal pada beban seven segmen sesuai dengan tombol yang
ditekan.
4). dan lain-lain sesuai kreatifitas anda.

2. Rencanakan sebuah program aplikasi sesuai dengan pengalaman belajar yang telah
anda peroleh selama belajar dalam seksi ini !.

***** SELAMAT BEKERJA SEMOGA SUKSES *****

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 49 dari 54
UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik Mikrokontroler pada PKM
TOPIK : Memprogram Beban Dot Matrix dengan
Program Studi : Pend. Teknik Elekronika
Arduino
PERTEMUAN.KE :6 NOMOR : 06/ PEIK /18
A. Tujuan :
1. Agar peserta didik dapat memasang software Arduino IDE pada PC atau laptop dengan
baik dan benar.

2. Agar peserta didik dapat mengetes software Arduino IDE sudah terpasang pada PC atau
laptop bisa terkoneksi ke board board Arduino dengan baik dan benar.

3. Agar peserta didik dapat membuat program animasi tampilan nyala semua titik dengan
beban dot Matrix pada board Arduino dengan baik dan benar.

4. Agar peserta didik dapat membuat program animasi tampilan nyala semua titik dengan
beban dot Matrix pada board Arduino dengan baik dan benar.
5. Agar peserta didik dapat membuat program animasi tampilan nyala satu baris titik
dengan beban dot Matrix pada board Arduino dengan baik dan benar.
6. Agar peserta didik dapat membuat program animasi tampilan nyala satu kolom titik
dengan beban dot Matrix pada board Arduino dengan baik dan benar.
7. Agar peserta didik dapat membuat program animasi tampilan nyala satu kolom titik
berjalan dengan beban dot Matrix pada board Arduino dengan baik dan benar.
8. Agar peserta didik dapat membuat program animasi tampilan nyala satu baris titik
berjalan dengan beban dot Matrix pada board Arduino dengan baik dan benar.
9. Agar peserta didik dapat membuat program animasi tampilan nyala satu buah karakter
dengan beban dot Matrix pada board Arduino dengan baik dan benar.
10. Agar peserta didik dapat membuat program animasi tampilan nyala satu buah karakter
berganti-ganti dengan beban dot Matrix pada board Arduino dengan baik dan benar.
11. Agar peserta didik dapat membuat program animasi tampilan nama dengan beban dot
Matrix pada board Arduino dengan baik dan benar.
12. Agar peserta didik dapat membuat program animasi tampilan nama berjalan dengan
beban dot Matrix pada board Arduino dengan baik dan benar.

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 50 dari 54
13. Agar peserta didik dapat membuat program berbagai animasi tampilan nama dengan
beban dot Matrix sesuai kreativitas sendiri pada board Arduino dengan baik dan benar.
B. Teori Pendukung

a b

Gambar 1. Phisik Dot Matrix b. Rangkiaian Dotmatrix dengan Driver Max7219

Dot Matrix adalah rangkaian LED yang dirangkai dalam bentuk format 8x8 atau format
yang lain. Penampil dot matrix digunakan untuk menampilkan berbagai karakter yang dibentuk
oleh cahaya LED pada titik tertentu sehingga membetuk angka, huruf atau simbol-simbol
tertentu. Menampilkan sebuah karakter pada dot matrix diperlukan program untuk memberikan
asupan tegangan listrik positif (+ Volt )pada anoda dan negatif (0 Volt) pada katoda LED yang
dinyalakan. Pemrograman tampilan dot matrix melalui Arduino IDE karena rangkaian dot
matrix dikontrol mennggunakan Arduino Uno.

C. Alat dan Bahan

1. Komputer PC dengan Sistem Operasi Windows………………………… 1 buah


2. Software Arduino IDE ..................................................................…….. 1 paket
3. Board Arduino UNO ……………………………….……………….... 1 unit
4. Kit Beban untuk Arduino ……………………………………………..... 1 Set
5. Jumper set (Male-Male, Male-Female, Female-Female) .....………....... secukupnya

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 51 dari 54
D. Gambar Rangkaian

Gambar 2.
Rangkaian Beban Dot Matrix Arduino

E. Listing Program
// PROGRAM 1: NYALA 1 TITIK //PROGRAM 2 : MENAMPILKAN 1 BARIS
#include <MaxMatrix.h> PADA DOT MATRIX
#include <avr/pgmspace.h>
#define DIN 2 #include <MaxMatrix.h>
#define CLK 3 #include <avr/pgmspace.h>
#define CS 4 #define DIN 2
#define CLK 3
byte DOT [] = {8, 8, B10000000,B00000000, #define CS 4
B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000}; byte BARIS [] = {8, 8,
B11111111,B00000000,B00000000,B00000000,
MaxMatrix m(DIN, CS, CLK, 1); B00000000,B00000000,B00000000, B00000000};
void setup() {
// put your setup code here, to run once: MaxMatrix m(DIN, CS, CLK, 1);
m.init(); void setup() {
m.setIntensity (15); // 0 - 15 // put your setup code here, to run once:
m.writeSprite ( 0, 0, DOT); m.init();
} m.setIntensity (15); // 0 - 15
m.writeSprite ( 0, 0, BARIS);
void loop() { }
// put your main code here, to run repeatedly: void loop() {
} // put your main code here, to run repeatedly:
}

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 52 dari 54
// PROGRAM 3: TAMPILAN NAMA void loop(){
#include <LedControl.h>
#include "MaxMatrix.h" cetak(E);
delay(1000);
int DIN =8; cetak(D);
int CS =9; delay(1000);
int CLK =10; cetak(I);
delay(1000);
byte E[8]= {0x1F,0x10,0x10,0x1F,0x10,0x10,0x1F,0x00}; cetak(D);
byte D[8]= {0x1E,0x11,0x11,0x11,0x11,0x11,0x1E,0x00}; delay(1000);
byte I[8] = {0x1F,0x04,0x04,0x04,0x04,0x04,0x1F,0x00}; cetak(A);
byte A[8]= {0x04,0x0A,0x11,0x1F,0x11,0x11,0x11,0x00}; delay(1000);
byte S[8]= {0x0F,0x10,0x10,0x0E,0x01,0x01,0x1E,0x00}; cetak(S);
delay(1000);
byte all[8]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; cetak(none);
byte none[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; delay(1000);

LedControl lc=LedControl(DIN,CLK,CS,0); cetak(none);


delay(1000);
void setup(){ }
lc.shutdown(0,false); //The MAX72XX is in power-
saving mode on startup void cetak (byte character [])
lc.setIntensity(0,5); {
lc.clearDisplay(0); // and clear the display int i = 0;
} for(i=0;i<8;i++)
{
lc.setRow(0,i,character[i]);
}
}

F. Langkah kerja.
1. Siapkan komputer dengan sistem operasi windows yang punya sistem aplikasi Arduino
IDE (Versi 1.8.5 atau last vesion) ! Cek 1 :................

2. Buka jendala kerja Arduino IDE sehingga tampil seperti


berikut !
Cek 2 :.........................................................................

3. Sambungkan USB dari Board Arduino ke USB komputer !


Cek 3 :.........................................................................
3. Cek dan pastikan software Aduino IDE terkoneksi dengan board Arduino !
Cek 4 :.........................................................................

4. Tulis “Program 1: NYALA 1 TITIK daaari i baris pertama sampai baris terakhir !
Cek 5:.........................................................................

5. Simpan file yang sudah ditulis dengan nama “nyala1titik” atau boleh juga nama lain !
Cek 6 :.........................................................................

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 53 dari 54
6. Klik ikon “” atau verify, untuk mencek penulisan program yang baru saja selesai
ditulis ! Cek 7 :.........................................................................

7. Jika tidak pesan errors yang tampil berarti penulisan program telah benar, sehingga
dapat dilanjutkan meng-upload program ke board arduino dengan cara meng-klik ikon
“ “ atau upload, sehingga dengan demikian program akan tersimpan dalam memri
board arduino.
Cek 8 :.........................................................................

8. Setelah program1 selesai di-upload ke board arduino maka board arduino akan
menjalankan program sesuai yang ditulis di jendela arduino IDE tadi, deskripsikan hasil
program yang anda amati!
Cek 9 :.........................................................................

15. Dengan jalannya program 1 secara baik berati satu seksi program telah selesai !
Cek 10 :.........................................................................

16. Lakukan dengan cara yang sama untuk program ke 2 dan seterusnya, sehingga
SEMUA program yang ada dalam listing program, berhasil dengan baik dan benar !
Cek 12 :.........................................................................

12. Praktik selesai, rapikan kembali semua peralatan sudah dipakai.

F. Tugas dan Pengayaan


1. Rancang dan Tulislah Program TAMPILAN DOT MATRIX pada Arduino dengan
berbagai variasi, seperti:
a. Tampilan NAMA BERJALAN pada beban DOT MATRIX
b. Tampilan NAMA BERANIMASI LAINNYA pada beban DOT MATRIX .

2. Rencanakan sebuah program aplikasi sesuai dengan pengalaman belajar yang


telah anda peroleh selama belajar dalam seksi ini. Program-program aplikasi
arduino dapat anda download pada web resmi arduino.cc dan github.com !.

***** SELAMAT BEKERJA SEMOGA SUKSES *****

Ooleh Ds.Edidas, MT Bahan Ajar Program Kemitraan Masyarakat 2018 Halaman 54 dari 54

You might also like