Anda di halaman 1dari 41

TUGAS RESUME

MATA KULIAH MIKROKONTROLER

DISUSUN OLEH :
ABDULLAH MASULILI
F55115203

PROGRAM STUDI S1 TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS TADULAKO
2017/2018
BAB 1
PENDAHULUAN
1.1 Sejarah Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam
sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah
kecil RAM, memori program, atau keduanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa
ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya
membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai
belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu
Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya,
dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda
sudah mahir membaca dan menulis data maka Anda dapat membuat program
untuk membuat suatu sistem pengaturan otomatik menggunakan
mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer
didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang
menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut
pengendali kecil dimana sebuah sistem elektronik yang sebelumnya banyak
memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS
dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh
mikrokontroler ini.
Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan
secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor,
peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran,
biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosesor memori, dan alat input output yang terpisah, kehadiran
mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi
lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :
- Sistem elektronik akan menjadi lebih ringkas
- Rancang bangun sistem elektronik akan lebih cepat karena sebagian
besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
- Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang
kompak
Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi
komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk
aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan
dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau
mikro dari sebuah komputer karena mikrokontroler sudah mengandung
beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel,
port serial, komparator, konversi digital ke analog (DAC), konversi analog ke
digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit
atau kompleks.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut
memerlukan komponen eksternal yang kemudian disebut dengan sistem
minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem
clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan
sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler
sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan
perangkat keras dan perangkat lunak, yaitu:
- Sistem minimal mikrokontroler
- Software pemrograman dan kompiler, serta downloader

Yang dimaksud dengan sistem minimal adalah sebuah rangkaian


mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah
aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri
sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki
prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
- Prosesor, yaitu mikrokontroler itu sendiri
- Rangkaian reset agar mikrokontroler dapat menjalankan program mulai
dari awal
- Rangkaian clock, yang digunakan untuk memberi detak pada CPU
- Rangkaian catu daya, yang digunakan untuk memberi sumberdaya
Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2
,3 sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang
sudah diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz),
sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun bila
ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi
dengan PC atau handphone), maka pengguna harus menggunakan rangkaian
clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya
menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang
sesuai dengan baud rate PC atau HP tersebut.
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan
seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit
pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan
mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM.
Kemudian, pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak
menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit,
yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran
banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit,
sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis.
Masing2 vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas2
yang cenderung memudahkan user untuk merancang sebuah sistem dengan
komponen luar yang relatif lebih sedikit.
Saat ini mikrokontroler yang banyak beredar dipasaran adalah
mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh
Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan
mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari
mikrokontroler AVR sangatlah banyak, dengan masing2 memiliki fitur yang
berbeda2). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa
membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali
peralatan rumah tangga jarak jauh yang menggunakan remote control televisi,
radio frekuensi, maupun menggunakan ponsel, membuat jam digital,
termometer digital dan sebagainya.
1.2 Jenis-jenis Mikrokontroler
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan
pada kompleksitas instruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
- RISC merupakan kependekan dari Reduced Instruction Set Computer.
Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih
banyak.
- Sebaliknya, CISC kependekan dari Complex Instruction Set Computer.
Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.

a. Keluarga MCS51
Mikrokontroler ini termasuk dalam keluarga mikrokontroler
CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock.
Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun
awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah
mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM
luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang
terpisah untuk akses program dan memori data. Salah satu kemampuan
dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses
boolean yang mengijikan operasi logika boolean tingkatan-bit dapat
dilakukan secara langsung dan secara efisien dalam register internal dan
RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC
(programmable Logic Control).

b. AVR
Mikrokontroler Alv and Vegards Risc processor atau sering
disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC
inilah sebagian besar kode instruksinya dikemas dalam satu siklus
clock. AVR adalah jenis mikrokontroler yang paling sering dipakai
dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat
dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan
masing-masing kelas adalah memori, peripheral dan fungsinya.
Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx,
keluarga ATMega dan AT86RFxx.

c. PIC
Pada awalnya, PIC merupakan kependekan dari Programmable
Interface Controller. Tetapi pada perkembangannya berubah menjadi
Programmable Intelligent Computer. PIC termasuk keluarga
mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip
Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik
General Instruments dengan nama PIC1640. Sekarang Microhip telah
mengumumkan pembuatan PIC-nya yang keenam PIC cukup popular
digunakan oleh para developer dan para penghobi ngoprek karena
biayanya yang rendah, ktersediaan dan penggunaan yang luas, database
aplikasi yang besar, serta pemrograman (dan pemrograman ulang)
melalui hubungan serial pada komputer.

1.3 Mikrokontroler vs Mikroprosesor


Sebuah mikrokontroler berbeda dengan sebuah mikroprosesor dalam
beberapa hal. Pertama dan yang terpenting adalah fungsionalitasnya. Agar
mikroprosesor dapat bekerja, masih dibutuhkan komponen lain seperti
memori. Walaupun mikroprosesor dianggap sebagai piranti canggih untuk

komputasi, titik kelemahannya ada pada tidak dirancangnya kemampuan


komunikasi (antarmuka) dengan piranti-piranti periferal (memori, I/O da lain
sebagainya) secara khusus.
Mikrokontroler dirancang sebagai satu kesatuan utuh gambar tersebut.
Tidak memerlukan komponen-komponen eksternal seperti ditunjukkan
dalam gabar untuk perancangan aplikasi, dengan demikian waktu dan biaya
bisa dihemat.

Tidak seperti sistem komputer, yang mampu menangani berbagai


macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain
sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi
tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya
terletak pada perbandingan RAM dan ROM. Pada sistem komputer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna
disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin
antarmuka perangkat keras disimpan dalam ruang ROM yang kecil.
Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang
besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM
atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM
digunakan sebagai tempat penyimpan sementara, termasuk register-register
yang digunakan pada mikrokontroler yang bersangkutan.

1.4 Tipe dan Aplikasi Mikrokontroler


a. Mikrokontroler ATMEL
Mikrokontroler keluaran ATMEL dapat dikatakan sebagai
mikrokontroler terlaris dan termurah saat ini. Chip mikrokontroler ini
dapat diprogram menggunakan port paralel atau serial. Selain itu, dapat
beroperasi hanya dengan satu chip dan beberapa komponen dasar
seperti kristal, resistor, dan kapasitor.
b. Mikrokontroler PIC
PIC merupakan keluarga mikrokontroler tipe RISC buatan
Microchip Technology yang bersumber dari PIC1650 yang dibuat oleh
Divisi Mikroelektronika General Instruments. Teknologi Microchip
tidak menggunakan PIC sebagai akronim, melainkan nama brandnya,
yaitu PICmicro. Hal ini karena PIC singkatan dari Peripheral Interface
Controller sedangkan General Instruments mempunyai akronim
PIC1650 sebagai Programmable Intelligent Computer.
PIC pada awalnya dibuat menggunakan teknologi General
Instruments 16 bit CPU, yaitu CP1600. PIC dibuat pertama kali pada
tahun 1975 untuk meningkatkan perfoma sistem pada I/O. Saat ini PIC
telah dilengkapi dengan EPROM dan komunikasi serial, UAT, kernel,
control motor, dan lain lain serta memori program dari 512 word
hingga 32 word. Satu word dalam hal ini sama dengan satu instruksi
bahasa assembly yang bervariasi dari 12 hingga 16 bit, tergantung dari
tipe PICmicro tersebut.
c. Mikrokontroler Maxim
Maxim merupakan salah satu produsen chip yang fokus pada
komponen digital dan komunikasi, seperti mikrokontroler, akuisisi
data, dan komponen RF (Radio Frekuensi). Maxim cukup inovatif
dengan meluncurkan mikrokontroler yang mendukung jaringan
komputer antara lain, 80C400 dengan kecepatan tinggi.
Mikrokontroler dan prosesor sering digunakan sebagai
penngendalli oven microwave, kulkas, televise dan VCR, radio tape
stereo, komputer dan perlengkapan komputer, seperti laser printer,
modem dan disk drive. Penerapan lainnya, antara lain pada automobile,
pengendali lingkungan, instrumentasi, robotika, aerospace, dan climate
control. Mikrokontroler pada umumnya digunakan dimana kemampuan
prosesnya tidak begitu penting (tidak dibutuhkan kecepatan yang sangat
tinggi) dibandingkan mikroprosesor yang mampu bekerja dengan
kecepatan tinggi.
BAB 2
Clock dan CPU Timing
2.1 Arsitektur Mikrokontroler
a. Arsitektur Von Neumann
Arsitektur Von Neumann adalah arsitektur komputer yang
menempatkan program (ROM=Read Only Memory) dan data
(RAM=Random Access Memory) dalam peta memori yang sama.
Arsitektur ini memiliki address dan data bus tunggal untuk mengalamati

program (instruksi) dan data. Contoh dari mikrokontroler yang


memakai arsitektur Von Neumann adalah keluarga 68HC05 dan
68HC11 dari Motorola.

b. Arsitektur Harvard
Arsitektur Harvard memiliki dua memori yang terpisah satu untuk
program (ROM) dan satu untuk data (RAM). Intel 80C51, keluarga
Microchip PIC16XX, Philips P87CLXX dan Atmel AT89LSXX adalah
contoh dari mikroprosesor yang mengadopsi arsitektur Harvard.

2.2 Fungsi Pin-pin pada Mikrokontroler


a. Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada
desain yang minimum (sederhana) digunakan sebagai port I/O
(Input/Output).Port 0 terdapat pada pin 32-39.
b. Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC
89S52 yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk
timer ketiga (T3). Port 1 terdapat pada pin 1-8.
c. Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan
sebagai port I/O. Pada desain lebih lanjut Port ini digunakan untuk
mengirim byte alamat bila pengaksesan dilakukan pada memori
eksternal. Port 2 terdapat pada pin 21-28.
d. Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai
fungsi khusus yang ditunjukkan pada tabel berikut.
e. PSEN (Program Store Enable)
PSEN atau Program Store Enable adalah sinyal baca pada saat
menjalankan program dari memori eksternal. Di dalam aplikasi, PSEN
akan dihubungkan dengan sinyal RD memori program eksternal
(EEPROM).PSEN terdapat pada pin 29.
f. ALE (Address Latch Enable)
ALE atau Addres Latch Enable adalah pulsa keluaran latch pada proses
pengaksesan memori eksternal (program maupun data). Di dalam
aplikasi, ALE biasanya dihubungkan dengan masukan latch enable dari
IC latch, misalnya 74373.. ALE terdapat pada pin 30.
g. EA (External Access)
EA atau External Access Enable menentukan apakah alamat awal
memori program berada di memori eksternal atau internal. Bila
dihubungkan dengan GND, alamat awal program memori akan berada
di memori eksternal, sebaliknya bila dihubungkan dengan VCC, maka
alamat awal memori program AT89S52 akan berada di memori
internal. EA terdapat pada pin 31.
h. RST (Reset)
RST pada pin 9 merupakan pin reset. Jika pada pin ini diberi masukan
1 selama minimal 2 machine cycle maka system akan di-reset dan
register-register internal akan berisi nilai default tertentu dan program
kembali mengeksekusi dari alamat paling awal.
i. XTAL2 dan XTAL1
XTAL2 merupakan keluaran dari rangkaian penguat osilator internal.
Sedangkan XTAL1 merupakan masukan ke penguat osilator internal.
Sebuah kristal dan dua buah kapasitor yang dihubungkan ke pin ini
sudah cukup untuk menyediakan sinyal detak (clock) untuk
mikrokontroler.
j. Koneksi Power
VCC dan GND merupakan pin untuk tegangan DC. Mikrokontroler
AT89S52 membutuhkan tegangan DC sebesar 5 volt agar bisa bekerja
dengan baik (standar TTL). Pin Vcc terdapat pada pin 40 sedangkan
ground terdapat pada pin 20.

2.3 Clock
Peran clock bagi mikrokontroler ibarat jantung bagi manusia. Manusia
tanpa detak jantung tidak akan hidup. Mikrokontroler tanpa detak clock juga

tidak akan berfungsi. Pulsa clock mengambil peran penting dalam


menentukan kecepatan dan sikronisasi kerja Central Processing Unit (CPU)
mikrokontroler.

2.4 Reset
Proses Reset merupakan proses untuk mengembalikan sistem ke
kondisi semula. Reset tidak mempengaruhi internal program memory. Reset
terjadi jika pin RST bernilai high selama minimal 2 machine cycle lalu
kembali bernilai low.
Power-on reset merupakan proses reset yang berlangsung secara
otomatis pada saat sistem pertama kali diberi daya. Proses ini mempengaruhi
semua register dan internal data memory.
Rangkaian reset sama fungsinya dengan rangkaian reset pada
komputer. Fungsi reset di mikrokontroler yaitu untuk merestart program,
sehingga kembali ke program awal. Penggunaan reset pada mikrokontroler
opsional, bisa di pake atau nggak tergantung si pengguna.
BAB 3
ARSITEKTUR MIKROKONTROLER
3.1 Arsitektur
Arsitektur mikrokontroler MCS-51 diotaki oleh CPU 8 bit yang terhubung
melalui satu jalur bus dengan memori penyimpanan berupa RAM dan ROM
serta jalur I/O berupa port bit I/O dan port serial. Selain itu terdapat fasilitas
timer/counter internal dan jalur interface address dan data ke memori
eksternal.

3.2 Blok Diagram

Gambar Blok Diagram MCS-51

3.3 Peta Memori


Memori program hanya bisa dibaca saja karena bersifat sebagai ROM.
Memori ini disimpan dalam Flash PEROM. Memori program yang bisa
diakses langsung hingga 64 Kbyte. Pada gambar memori program terdapat
strobe (tanda) untuk akses memori program eksternal melalui sinyal PSEN
(Program Strobe Enable).
Memori data menempati ruang alamat terpisah. Memori eksternalnya
dapat diakses secara langsung hingga 64 Kbyte. CPU akan memberikan
sinyal baca RD dan tulis WR selama mengakses memori data eksternal.
BAB 4
INTERRUPT PADA
MIKROKONTROLER
Interrupt adalah suatu kejadian atau peristiwa yang menyebabkan
mikrokontroler berhenti sejenak untuk melayani interrupt tersebut. Program yang
dijalankan pada saat melayani interrupt disebut Interrupt Service Routine.
Analoginya adalah sebagai berikut, seseorang sedang mengetik laporan, mendadak
telephone berdering dan menginterrupsi orang tersebut sehingga menghentikan
pekerjaan mengetik dan mengangkat telephone. Setelah pembicaraan telephone
yang dalam hal ini adalah merupakan analogi dari Interrupt Service Routine selesai
maka orang tersebut kembali meneruskan pekerjaanya mengetik.

MCS-51 mengenal lima sumber interrupt, yaitu :


- External Interrupt 0
- Timer/Counter 0
- External Interrupt 1
- Timer/Counter 1
- Serial Port
User dapat mengaktifkan interrupt melalui SFR Interrupt Enable (IE)

Berikut ini adalah penjelasan masing-masing bit IE:


- EA
bernilai 0 untuk mematikan semua interrupt. Jika EA bernilai 1,
aktivasi interrupt akan diatur oleh bit masing-masing.
- ES
bernilai 1 untuk mengaktifkan interrupt dari komunikasi serial.
- ET1
bernilai 1 untuk mengaktifkan interrupt dari Timer/counter 1.
- EX1
bernilai 1 untuk mengaktifkan interrupt dari External Interrupt 1.
- ET0
bernilai 1 untuk mengaktifkan interrupt dari Timer/Counter 0
- EX0
bernilai 1 untuk mengaktifkan interrupt dari External Interrupt 0.
BAB 5
KENDALI PEWAKTUAN DAN PENCACAHAN
Pada dasarnya timer dan counter merupakan sistem yang sama-sama
menambahkan diri hingga overflow. Timer dapat digunakan untuk menghitung
suatu periode waktu antara kejadian, sebagai jarak waktu antara kejadian, dan
menghasilkan baud rate untuk komunikasi serial. Counter dapat digunakan untuk
menghitung jumlah munculnya suatu kejadian.
Misalkan terdapat sebuah ban berjalan yang memasukkan sejumlah permen
ke dalam masing-masing kantung plastik. Jika diinginkan sebuah kantung diisi
dengan permen sebanyak 100 buah, maka sistem tersebut dapat menggunakan
counter untuk menghitung banyaknya permen. Jika diinginkan sebuah kantung diisi
dengan permen selama dua detik tanpa mempedulikan jumlah permen yang diisikan
ke dalam kantung, maka sistem tersebut dapat menggunakan timer untuk
menghitung waktu pengisian kantung.
Register yang digunakan untuk mengatur timer/counter terdapat pada Timer
Mode (TMOD) dan Timer Control (TCON).

Berikut ini adalah penjelasan masing-masing bit TMOD:


- GATE
Jika GATE dan TRx (TR0 atau TR1 pada TCON) diberi nilai 1 oleh
user, maka Timer/Counter hanya beroperasi jika pin INTx bernilai high.
Jika GATE bernilai 0, maka Timer/Counter hanya beroperasi jika
TRx bernilai 1
- C/T
C/T harus diberi nilai 1 oleh program user untuk menjalankan mode
counter dan diberi nilai 0 untuk menjalankan mode timer.
- M1 & M0
Ml dan MO merupakan dua bit pemilih mode operasi timer/counter,

Berikut ini adalah penjelasan masing-masing bit TCON yang berkaitan


dengan timer/counter:
- TF1
Diberi nilai 1 secara hardware saat nilai Timer/Counter 1 (TH1 dan
TLI) mengalami overflow. TF1 akan diberi nilai 0 secara hardware
saat mikrokontroler melompat ke Interrupt Service Routine.
- TR1
Harus diberi nilai 1 oleh program user untuk menjalankan Timer 1.
- TF0
Diberi nilai 1 secara hardware saat nilai Timer/Counter 0 (TH0 dan
TL0) mengalami overflow. TF0 akan diberi nilai 0 secara hardware
saat mikrokontroler melompat ke Interrupt Service Routine.
- TR0
Harus diberi nilai 1 oleh program user untuk menjalankan Timer 0.
Timer/Counter memiliki 4 mode operasi. Setiap mode memiliki karakteristik
tersendiri. User harus benar-benar memahami masing-masing mode agar dapat
memilih mode yang tepat dalam program yang dibuat.
- MODE 0.
Mode 0 adalah timer/counter 13 bit. Mode ini disediakan terutama
untuk menjaga kompatibilitas dengan prosesor 8048. Pada mode 0,
register TLx (TL0 atau TL1) hanya digunakan 5 bit terendah saja
sedangkan register THx (TH0 atau TH1) tetap selebar 8 bit. TLx akan
bertambah hingga bernilai 1Fh. Saat ada perubahan nilai TLx dari 1Fh
ke 00h, THx akan bertambah 1. Nilai maksimal THx dan TLx adalah
FF1Fh (THx = FFh dan TLx = 1Fh). Overflow akan terjadi jika ada
perubahan dari FF1Fh ke 0000h. Nilai THx dan TLx dapat diubah oleh
user setiap saat dalam program.

Gambar Timer/Counter mode 0


- MODE 1
Mode 1 pada dasarnya serupa dengan mode 0. Namun pada mode
1 semua bit TLx digunakan, sehingga mode 1 merupakan timer/counter
16 bit. TLx akan bertambah hingga bernilai FFh. Saat ada perubahan
nilai TLx dari FFh ke 00h, THx akan bertambah 1. Nilai maksimal THx
dan TLx adalah FFFFh (THx = FFh dan TLx = FFh). Overflow akan
terjadi jika ada perubahan dari FFFFh ke 0000h. Nilai THx dan TLx
dapat diubah oleh user setiap saat dalam program.

Gambar Timer/Counter mode 1


- MODE 2
Mode 2 adalah timer/counter 8 bit dengan fasilitas auto reload.
TLx bertindak sebagai timer/counter 8 bit. Sedangkan THx berisi suatu
nilai tertentu. Auto reload adalah fasilitas dimana nilai TLx setelah
overflow tidak kembali ke 00h namun nilai TLx akan diambil dari nilai
THx.
Misalkan THx berisi 47h dan TLx berisi FFh. Jika ada overflow pada
TLx, nilai TLx akan berubah dari FFh ke 47h, sesuai dengan nilai THx.
Proses tersebut dikerjakan secara otomatis secara hardware sehingga
user tidak perlu memeriksa apakah nilai TLx sudah overflow dan tidak
perlu mengisi ulang dengan nilai yang baru. Mode 2 ini juga digunakan
untuk menghasilkan baud rate.

Gambar Timer/Counter mode 2


- MODE 3
Pada mode 3, Timer/Counter 0 akan menjadi dua timer/counter 8
bit, sedangkan Timer/Counter 1 akan berhenti. TL0 akan menjadi
timer/counter 8 bit yang dikendalikan oleh bit kontrol Timer/Counter 0
(meliputi GATE, C/T , TR0, INT0, dan TF0). TH0 akan menjadi timer
8 bit (bukan counter) yang dikendalikan oleh bit kontrol Timer/Counter
1 (meliputi TR1 dan TF1). Jadi TR1 mengendalikan TH0 dan
Timer/Counter 1 secara bersamaan.

Gambar Timer/Counter mode 3


Timer/Counter 1 masih dapat dioperasikan dalam mode selain
mode 3. Umumnya Timer/counter 1 dioperasikan dalam mode 2 dan
berfungsi sebagai penghasil baud rate. Jika user ingin menghentikan
Timer/Counter 1 tanpa menghentikan TH0, user dapat memindahkan
Timer/Counter 1 ke dalam mode 3.

Proses inisialisasi adalah proses menentukan nilai semua register yang


berkaitan dengan Timer/Counter yang akan digunakan agar Timer/Counter dapat
berfungsi sebagaimana yang dikehendaki. Register yang harus diatur terlebih
dahulu meliputi :

a. TMOD dan TCON


Langkah pertama adalah menentukan mode yang akan digunakan
(mode 0, 1, 2, atau 3) fungsi yang dipilih (sebagai timer atau counter),
dan jenis kontrol (external control melalui pin INTx atau internal
control melalui TRx). Pengaturan TCON dilakukan untuk menjalankan
timer. Misalnya Timer/Counter 0 digunakan sebagai timer dalam mode
2 dengan external control dan Timer/Counter 1 digunakan sebagai
counter dalam mode 1 dengan internal control, maka instruksinya
adalah sebagai berikut :
MOV TMOD, #01011010b
atau
MOV TMOD, #5Ah

Sedangkan untuk menjalankan kedua timer, instruksinya adalah


sebagai beikut :
MOV TCON, #01010000b
atau
MOV TCON, #50h
atau
SETB TR0
SETB TR1
b. THx dan/atau TLx
Jika diperlukan, inisialisasi atau perubahan terhadap nilai THx
dan/ atau TLx dapat dilakukan denga cara mengisikan nilai tertentu ke
dalam register tersebut. Misalnya register Timer/Counter 0 diisi dengan
nilai 814Ah dan register Timer/Counter 1 diisi dengan nilai 0CF32h,
maka instruksinya adalah sebagai berikut :
MOV TH0, #81h
MOV TL0, #4Ah
MOV TH1, #0CFh
MOV TL1, #32h

c. IE dan/atau IP
Jika Timer/Counter yang diprogram akan digunakan sebagai
sumber interrupt, maka IE dan/atau IP juga harus diatur. Misalnya
kedua Timer/Counter digunakan sebagai sumber interrupt dengan
prioritas Timer/Counter 1, maka instruksinya adalah sebagai berikut :
MOV IP, #00001000b
MOV IE, #10002020b
atau
MOV IP, #08h
MOV IE, #8Ah
atau
SETB PT1
SETB ET1
SETB ET0
SETB EA

Pembacaan nilai Timer/Counter dapat dilakukan dengan dua cara, pembacaan


register Timer/Counter (THx dan/atau TLx) secara langsung dan mendeteksi
overflow.
Cara ini dilakukan dengan membaca register THx dan/atau TLx secara
langsung. Jika Timer/Counter dioperasikan dalam mode 2 atau mode 3, cara ini
cukup mudah karena register yang dibaca hanya TLx dan/atau THx yang masing-
masing selebar 8 bit. Karena register MCS-51 secaraumum juga selebar 8 bit, maka
proses pembacaan satu nilai dapat dilakukan dalam satu instruksi.
Masalah mulai muncul jika Timer/Counter dioperasikan dalam mode 0 atau
mode 1. Dalam kedua mode tersebut THx dan TLx bersama-sama membentuk satu
nilai selebar 13 bit atau 16 bit dan keduanya tidak dapat dibaca sekaligus.
Jika TLx dibaca pada saat TLx bernilai 255 atau FFh lalu THx yang dibaca
pada instruksi selanjutnya bernilai 8, maka user akan mendapat nilai THx dan TLx
sebesar 08FFh. Padahal yang terjadi sesungguhnya adalah pada pembacaan pertama
(pembacaan TLx), nilai THx dan TLx adalah 07FFh dan pada pembacaan kedua
(pembacaan THx), nilai THx dan TLx adalah 0800h (jika diasumsikan jarak antara
kedua instruksi adalah 1
Machine cycle dan Timer/Counter difungsikan sebagai timer). Pada kasus
yang sama, jika dilakukan pembacaan terhadap THx terlebih dahulu sebelum
pembacaan TLx, maka user akan mendapat nilai akhir 0700h (sebelum TLx
overflow, THx bernilai 07h dan setelah TLx overflow, TLx bernilai 00h).
Hal ini dapat diatasi dengan cara melakukan pembacaan THx sebanyak dua
kali, yaitu sebelum dan sesudah pembacaan TLx. Dengan cara ini user dapat
mengetahui apakah pembacaan register THx dan TLx dilakukan pada saat TLx
overflow atau tidak. Jika pembacaan pertama THx bernilai 07h, pembacaan TLx
bernilai 00h, dan pembacaan kedua THx bernilai 08h, maka user akan mengetahui
bahwa kondisi yang dibaca adalah pada saat THx dan TLx bernilai 07FFh, 0800h,
dan 0801h (jika diasumsikan jarak antara instruksi pembacaan adalah 1 machine
cycle dan Timer/Counter difungsikan sebagai timer).
Cara yang lebih sering digunakan adalah dengan mendeteksi overflow. Cara
ini digunakan jika user tidak perlu mengetahui nilai sebenarnya dari THx dan TLx
namun lebih membutuhkan saat terjadinya overflow. Adanya overflow ditandai
oleh nilai 1 pada TFx (TCON.7 dan/atau TCON.5). Cara ini digunakan jika user
ingin menggunakan timer sebagai sebuah delay yang berdurasi tetap. Misalnya
delay yang dibutuhkan adalah 0,05 detik atau 50 milidetik dan diasumsikan 1
machine cycle membutuhkan waktu 1 mikrodetik (dengan menggunakan frekuensi
kristal 12 MHz). Hal ini berarti timer harus bertambah dari 0 hingga 50000 untuk
satu durasi delay. Karena overflow tidak terjadi pada nilai 50000 melainkan pada
saat nilai THx dan TLx kembali ke 0000h atau 65536 machine cycle dari nilai
0000h sebelumnya (dalam mode 1,16 bit), maka nilai awal THx dan TLx yang harus
dimasukkan adalah 65536 - 50000 - 15536 atau 3CB0h.
Timer/Counter yang dioperasikan sebagai timer dapat digunakan untuk
menghitung waktu dari sebuah kejadian. Nilai timer bertambah tiap machine cycle
(12 pulsa clock) sehingga kecepatan bertambahnya adalah 1/12 dari frekuensi
osilator.
Untuk mengukur durasi sebuah kejadian, user hanya pcrlu mengaktifkan
timer pada saat kejadian tersebut dimulai. Jika kejadian tersebut berakhir, user dapat
menghentikan timer. Dengan cara ini user mendapatkan sebuah nilai timer yang
dapat digunakan sebagai dasar untuk menghitung lama waktu yang sesungguhnya.
Timer/Counter yang dioperasikan sebagai counter dapat digunakan untuk
menghitung jumlah kejadian yang muncul. Karena counter membutuhkan transisi
dari 1 ke 0 sebagai trigger, maka counter membutuhkan waktu 2 machine cycle
(24 pulsa clock) sebelum nilainya bertambah. Jadi counter mampu membaca trigger
dengan frekuensi 1/24 dari frekuensi osilator.
Counter sebenarnya dapat diaplikasikan dengan menggunakan general
purpose I/O seperti port 1, namun program harus terus-menerus memeriksa kondisi
port 1. Jika kondisi port 1 tidak diperiksa terus-menerus, pasti ada kejadian yang
terlewat.
Dengan menggunakan Timer/Counter sebagai counter, maka MCS-51 akan
selalu menghitung munculnya kejadian yang ditandai dengan adanya trigger. User
hanya perlu memeriksa nilai counter pada saat yang ditentukan.
BAB 6
KOMUNIKASI SERIAL
PADA MIKROKONTROLER
6.1 Komunikasi Serial
MCS-51 memiliki kemampuan untuk berkomunikasi secara serial melalui pin
RXD dan TXD. Satu hal yang perlu diingat adalah tingkat tegangan
komunikasi kedua pin serial menggunakan tingkat tegangan TTL. Pada
prinsipnya, komunikasi serial adalah komunikasi dimana transmisi data
dilakukan per bit. Interface serial hanya membutuhkan jalur yang sedikit
(umumnya hanya 2 jalur), sehingga lebih menghemat pin jika dibandingkan
dengan interface paralel.
Komunikasi serial ada dua macam, asynchronous serial dan synchronous
serial.

a. Synchronous serial adalah komunikasi dimana hanya ada satu pihak


pengirim atau penerima) yang menghasilkan clock dan mengirimkan
clock tersebut bersama-sama dengan data. Contoh pengunaan
synchronous serial terdapat pada transmisi data keyboard.
b. Asynchronous serial adalah komunikasi dimana kedua pihak
(pengirim dan penerima) masing-masing menghasilkan clock namun
hanya data yang ditransmisikan, tanpa clock. Agar data yang dikirim
sama dengan data yang diterima, maka kedua frekuensi clock harus
sama dan harus terdapat sinkronisasi. Setelah adanya sinkronisasi,
pengirim akan mengirimkan datanya sesuai dengan frekuensi clock
pengirim dan penerima akan membaca data sesuai dengan frekuensi
clock penerima. Contoh penggunaan asynchronous serial adalah pada
Universal Asynchronous Receiver Transmitter (UART) yang
digunakan pada serial port (COM) komputer. MCS-51 mendukung
komunikasi secara asinkron, bahkan tiga dari empat serial mode yang
dimiliki MCS-51 kompatibel dengan UART.

MCS-51 memiliki 4 mode komunikasi serial. Mode 0 berupa synchronous


serial (shift register), sedangkan tiga mode yang lain berupa asynchronous
serial (UART). Pada semua mode, pengiriman dilakukan jika ada instruksi
yang mengisi nilai register SBUF. Sedangkan pada saat penerimaan, data
yang diterima akan disimpan pada register SBUF.

a. MODE 0
Mode 0 adalah 8 bit shift register dimana data dikirimkan dan diterima
melalui pin RXD sedangkan clock dikirimkan dan diterima melalui pin
TXD. Pengiriman data 8 bit dilakukan dengan mengirimkan Least
Significant Bit (LSB) terlebih dahulu. Pada mode 0, baud rate yang
gunakan adalah sebesar 1/12 dari frekuensi osilator.
b. MODE 1
Pada mode 1, jumlah data yang dikirimkan sebanyak 10 bit yang terdiri
dari start bit, 8 bit data (LSB terlebih dahulu), dan stop bit. Ada proses
penerimaan, nilai stop bit akan dimasukkan ke RB8 secara otomatis.
Pada proses pengiriman, stop bit akan diberi nilai 1 secara otomatis.
Pada mode 1, baud rate yang digunakan dapat diatur melalui Timer 1.

c. MODE 2
Pada mode 2, jumlah data yang dikirimkan sebanyak 11 bit yang terdiri
dari start bit, 8 bit data (LSB terlebih dahulu), bit ke-9, dan stop bit.
Pada proses pengiriman, nilai bit ke 9 dapat diatur dengan mengisi nilai
TB8. Pada proses penerimaan, bit ke 9 akan dimasukkan ke RB8 secara
otomatis.
Pada mode 2, baud rate yang dapat digunakan adalah sebesar 1/64
frekuensi osilator atau 1/32 frekuensi osilator jika SMOD bernilai 1.

d. MODE 3
Mode 3 hampir sama dengan mode 2. Perbedaannya terdapat pada baud
rate yang digunakan. Jika mode 2 menggunakan baud rate yang pasti,
mode 3 menggunakan baud rate yang dihasilkan oleh Timer 1.
6.2 Aplikasi Komunikasi Serial
Komunikasi serial merupakan komunikasi data dengan pengiriman data
secara satu per satu dengan menggunakan satu jalur kabel data. Sehingga
komunikasi serial hanya menggunakan 2 kabel data yaitu kabel data untuk
pengiriman yang disebut transmit dan kabel data untuk penerimaan yang
disebut receive.
Kelebihan dari komunikasi serial adalah jarak pengiriman dan
penerimaan dapat dilakukan dalam jarak yang cukup jauh dibandingkan
dengan komunikasi secara parallel. Tetapi kekurangannya adalah kecepatan
yang lebih lambat bila dibandingkan komunikasi parallel.
Untuk saat ini sedang dikembangkan teknologi serial baru yang
dinamakan USB atau Universal Serial Bus. USB ini memiliki kecepatan
pengiriman dan penerimaan data lebih cepat disbanding serial biasa. Contoh
jenis komunikasi serial yang terkenal adalah RS-232 dan RS-489.
BAB 7
INTERFACING MIKROKONTROLER
7.1 ADC, DAC, Dan Analog Comparator
a. ADC
Fungsi ADC adalah merubah besaran analog (biasanya tegangan)
ke bilangan digital. Mikrokontroler dengan fasilitas ini dapat digunakan
untuk aplikasi-aplikasi yang memerlukan informasi analog (misalnya
voltmeter, pengukur suhu dll).
Terdapat beberapa tipe dari ADC sbb:

Succesive Approximation A/D converters.


Single Slope A/D converters.
Delta-Sigma A/Ds converters.
Flash A/D.

b. DAC
Fungsi DAC adalah merubah besaran digital (biasanya tegangan)
ke bilangan analog. Kebalikan dari ADC seperti diatas

c. Analog Comparator
Komparator analog atau komparator tegangan adalah suatu devais
yang dapat membandingkan dua tegangan input. Komparator analog
dapat digunakan sebagai alarm angin puting beliung/tornado jika salah
satu inputnya dihubungkan dengan anemometer. Komparator analog
juga dapat digunakan sebagai pengukur waktu pengisian muatan pada
kapasitor jika dihubungkan dengan sebuah mikrokontroler.
Komparator analog pada dasarnya adalah suatu Op-Amp
(Operational Amplifier). Sepertihalnya Op-Amp, komparator analog
memiliki pin input tak membalik (non-inverting input), input membalik
(inverting input), output, voltase sumber positif (V+) dan sumber
negatif (V-). Input tak membalik (+) berfungsi sebagai voltase referensi
(Vref), sedangkan voltase input (Vin) dihubungkan dengan pin input
membalik (-). Jika (+) > (-), voltase output (Vo) akan mendekati V+.
Dan sebaliknya jika (+) < (-), Vo bernilai di sekitar V.
Eksperimen ini menggunakan LF353P (Texas Instrument) yang
merupakan dua buah unit Op-Am yang dikemas dalam sebuah chip.
Menurut datasheet, voltase sumber positif (V+) yang dibutuhkan adalah
3.5V-18V. Sedangkan V- dihubungkan dengan 0 V (ground).
Eksperimen inibertujuan untuk mengetahui karakteristik komparator
analog LF353P pada tegangan kerja, yaitu V+.

7.2 Minimum Sistem


Proses perancangan minimum system merupakan tahap yang harus dikuasai
agar sistem yang dirancang dapat berfungsi sebagaimana mestinya.
Langkah pertama dalam merancang sistem adalah menentukan
mikrokontroler yang akan digunakan. Varian yang sering digunakan dalam
minimum system adalah 89C51. IC 89C51 memiliki kemampuan dan fasilitas
yang cukup lengkap untuk aplikasi sederhana dan umum. Namun tidak
menutup kemungkinan 89C51 digunakan untuk aplikasi yang jauh lebih rumit
asalkan sistem yang digunakan memiliki komponen pendukung yang
lengkap.
Setelah menentukan mikrokontroler yang akan digunakan, IC tersebut harus
dilengkapi dengan komponen dasar seperti sumber clock dan rangkaian reset.
Minimum system yang sering digunakan untuk berkomunikasi secara serial
dangan protokol UART umumnya menggunakan crystal oscillator dengan
frekunesi 11,0592 MHz. Rangkaian reset pada pembahasan tentang reset
dapat diaplikasikan. Namun rangkaian tersebut dapat digantikan dengan
sebuah IC reset. IC reset yang sering digunakan adalah DS1812.
Jumper pada.rangkaian gambar diatas digunakan untuk memilih sumber
reset. Jika jumper menghubungkan pin 1 dan 2, maka minimum system
berada pada mode download dimana sumber reset bukan dari DS 1812
melainkan dari sumber di luar minimum system. Jika jumper menghubungkan
pin 2 dan 3, maka minimum system berada dalam mode stand alone dimana
proses reset akan dilakukan oleh DS 1812 dan minimum system akan
langsung mengeksekusi program yang telah di-download.
Minimum system yang baik memiliki kemampuan untuk mengakses external
memory. Untuk menghubungkan antara mikrokontroler dan memori
dibutuhkan sebuah IC latch. Komponen yang sering digunakan sebagai latch
adalah 74L5573.
Selain itu, minimum system juga memiliki rangkaian overlap. Hal ini
bertujuan untuk mempermudah proses pengembangan program dan
menghemat waktu karena program lebih mudah dituliskan ke external
memory daripada dituliskan ke dalam 89C51. Untuk menuliskan program ke
dalam 89C51 user masih harus melepas IC tersebut. Sedangkan untuk
menuliskan program ke external memory, user tidak perlu melepas IC
apapun. Komponen yang sering digunakan sebagai overlap adalah 74LS08.

Address decoding menentukan berapa pembagian ruang external memory dan


berapa kapasitas masing-masing ruang. Sistem address decoding yang sering
digunakan adalah membagi 64 KB external memory menjadi 8 ruang yang
masing-masing berkapasitas 8 KB. Komponen yang sering digunakan untuk
membagi external memory menjadi 8 bagian adalah 74LS138.

Address decoding berkaitan erat dengan memory mapping. Memory Mapping


adalah pemetaan semua external memory yang digunakan dalam minimum
system. Hal ini penting karena berkaitan dengan proses pemrograman, alokasi
program memori dan data memori, serta penambahan peripheral. Peripheral
dasar yang dibutuhkan minimum system adalah memori sebagai penyimpan
program dan data, serta Programmable Peripheral Interface. (PPI). Memori
yang sering digunakan adalah EEPROM 28C64B. Sedangkan PPI 82C55
dibutuhkan sebagai jalur input/output untuk menggantikan port 0 dan port 2
89C51 yang digunakan sebagai address dan data bus.
BAB 8
PROGRAM MIKROKONTROLER
8.1 Led / Jam Digital / Seven Segmen
Seven Segment adalah tujuh segmen-segmen yang digunakan
menampilkan angka. Seven segment merupakan display visual yang umum
digunakan dalam dunia digital. Seven segment sering dijumpai pada jam
digital, penujuk antrian, diplay angka digital dan termometer digital.
Penggunaan secara umum adalah untuk menampilkan informasi secara visual
mengenai data-data yang sedang diolah oleh suatu rangkaian digital.
Seven segmen ini tersusun atas 7 bbuah LED yang disusun membentuk
angka 8 yang penyusunnya menggunakan diberikan lebel dari a sampai g
dan satu lagi untuk dot point (DP). Setiap segmen ini terdiri dari 1 atau 2 Light
Emitting Diode ( LED ). salah satu terminal LED dihubungkan menjadi satu
sebagai kaki common.

Jenis-jenis Seven Segment :


a. Common Anoda
Semua anoda dari LED dalam seven segmen disatukan secara parallel
dan semua itu dihubungkan ke VCC, dan kemudian LED dihubungkan
melalui tahanan pembatas arus keluar dari penggerak LED. Karena
dihubungkan ke VCC, maka COMMON ANODA ini berada pada
kondisi AKTIF LOW (led akan menyala/aktif bila diberi logika 0).

b. Common Katoda
Merupakan kebalikan dari Common Anoda. Disini semua katoda
disatukan secara parallel dan dihubungkan ke GROUND. Karena
seluruh katoda dihubungkan ke GROUND, maka COMMON
KATODA ini berada pada kondisi AKTIF HIGH (led akan
menyala/aktif bila diberi logika 1).

Prinsip Kerja :
Prinsip kerja seven segmen ialah input biner pada switch dikonversikan
masuk ke dalam decoder, baru kemudian decoder mengkonversi bilangan
biner tersebut menjadi decimal, yang nantinya akan ditampilkan pada seven
segment.
Seven segment dapat menampilkan angka-angka desimal dan beberapa
karakter tertentu melalui kombinasi aktif atau tidaknya LED penyusunan
dalam seven segment. Untuk memudahkan penggunaan seven segment,
umumnya digunakan sebuah decoder( mengubah/ mengkoversi input
bilangan biner menjadi decimal) atau seven segment driver yang akan
mengatur aktif tidaknya led-led dalam seven segment sesuai dengan nilai
biner yang diberikan.
Dekoder BCD ke seven segment digunakan untuk menerima masukan BCD
4-bit dan memberikan keluaran yang melewatkan arus melalui segmen untuk
menampilkan angka desimal. Jenis dekoder BCD ke seven segment ada dua
macam yaitu dekoder yang berfungsi untuk menyalakan seven segment mode
common anoda dan dekoder yang berfungsi untuk menyalakan seven segment
mode common katoda. Contoh IC converter BCD to Seven Segment untuk 7-
segment Common Anoda pake decoder IC TTL 7447 untuk Common Katoda
pakai IC TTL 7448.

8.2 PWM (Pulse Width Modulation)


PWM adalah singkatan dari Pulse Width Modulation, merupakan suatu
metode yang digunakan untuk mengontrol daya yang berkaitan dengan power
supply, contohnya pada power supply PC. Selain fungsi PWM yang
digunakan untuk mengontrol daya power supply, PWM juga dapat
difungsikan sebagai pengatur gerak perangkat elektronika, misalnya pada
motor servo.

Sesuai dengan namanya Pulse Width Modulation, maka dalam


penerapannya sinyal tegangan-lah yang di rubah lebarnya. Sistem
pengontrolan dengan PWM ini merupakan sistem digital, yang jauh lebih
efisien jika dibandingkan dengan sistem konfensional.
Komponen yang biasa digunakan untuk membangkitkan sinyal PWM
adalah sejenis IC digital yaitu IC 555 atau mikrokontroler.

Aplikasi PWM berbasis mikrokontroler biasanya berupa, pengendalian


kecepatan motor DC, Pengendalian Motor Servo, Pengaturan nyala terang
LED. Oleh karena itu diperlukan pemahaman terhadap konsep PWM itu
sendiri.

Konsep Dasar
Sinyal PWM pada umumnya memiliki amplitudo dan frekuensi dasar
yang tetap, namun memiliki lebar pulsa yang bervariasi. Lebar Pulsa PWM
berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi.
Artinya, Sinyal PWM memiliki frekuensi gelombang yang tetap namun duty
cycle bervariasi (antara 0% hingga 100%)

Pulse Width Modulation (PWM) merupakan salah satu teknik untuk


mendapatkan signal analog dari sebuah piranti digital. Sebenarnya Sinyal
PWM dapat dibangkitkan dengan banyak cara, dapat menggunakan metode
analog dengan menggunakan rankaian op-amp atau dengan menggunakan
metode digital.
Dengan metode analog setiap perubahan PWM-nya sangat halus,
sedangkan menggunakan metode digital setiap perubahan PWM dipengaruhi
oleh resolusi dari PWM itu sendiri. Resolusi adalah jumlah variasi perubahan
nilai dalam PWM tersebut. Misalkan suatu PWM memiliki resolusi 8 bit
berarti PWM ini memiliki variasi perubahan nilai sebanyak 2 pangkat 8 = 256
variasi mulai dari 0 255 perubahan nilai yang mewakili duty cycle 0 100%
dari keluaran PWM tersebut.

Anda mungkin juga menyukai