2.3 Perangkat Keras Sistem
2.3.1 Mikrokontroler
Dalam merancang aplikasi elektronika digital dibutuhkan sebuah alatkomponen yang dapat menghitung, mengingat, dan mengambil pilihan dan
digunakan sebagai otaknya. Kemampuan ini dimiliki oleh sebuah komputer, namun tidaklah efisien jika harus menggunakan komputer hanya untuk keperluan tersebut.
Untuk itu komputer dapat digantikan dengan sebuah mikrokontroler. Mikrokontroler sebenarnya adalah pengembangan dari mikroprosesor, namun dirancang khusus untuk
keperluan instrumentasi sederhana. Mikrokontroler seri MCS-51 termasuk sederhana, murah dan mudah didapat dipasaran. Salah satu mikrokontroler seri MCS-51 adalah
mikrokontroler AT89S51.
2.3.2 Arsitektur Mikrokontroler AT89S51
Mikrokontroler AT89S51 adalah mikrokontroler keluaran ATMEL.Inc. Mikrokontroler ini kompatibel dengan keluaran mikrokontroler 80C51.
Mikrokontroller AT89S51 terdiri dari 40 pin dan sudah memiliki memory flash didalamnya, sehingga sangat praktis untuk digunakan. Beberapa kemampuan fitur
yang dimiliki adalah sebagai berikut : •
Memiliki 4K Flash EPROM yang digunakan untuk menyimpan program. Flash EPROMErasable Programmable Read Only Memory dapat
ditulis dan dihapus sebanyak 1000 kali menurut manual. •
Memiliki internal RAM 128 byte.
Universitas Sumatera Utara
RAM Random Access Memory, suatu memori yang datanya akan hilang bila catu padam, diakses secara random, tidak sekuensial, artinya dialamat mana saja dapat
dicapai secara langsung dengan cepat. •
4 buah 8-bit IO InputOutput port Port ini berfungsi sebagai terminal input dan output. Selain itu, dapat digunakan
sebagai terminal komunikasi paralel, serta komunikasi serial pin10 dan 11. •
Dua buah timercounter 16 bit. •
Tegangan operasi dinamis dari 2,7 volt hingga 6 volt. •
Operasi clock dari 0 hingga 24 MHz •
Program bisa diproteksi, sehingga tidak dapat dibaca oleh orang lain. •
Menangani 6 sumber interupsi. •
Ada kemampuan Idle mode dan Down mode
2.3.2.1 Spesifikasi penting AT89S51 :
a.
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
b.
8 KBytes In system Programmable ISP flash memori dengan kemampuan 1000 kali bacatulis
c.
tegangan kerja 4-5.0V
d.
Bekerja dengan rentang 0 – 33MHz
e.
256x8 bit RAM internal
f.
32 jalur I0 dapat deprogram
g.
3 buah 16 bit TimerCounter
h.
8 sumber interrupt
i.
saluran full dupleks serial UART
Universitas Sumatera Utara
j.
watchdog timer
k.
dua data pointer
l.
Mode pemrograman ISP yang fleksibel Byte dan Page Model. Berikut adalah gambar susunan pin pada Mikrokontroller AT89S51:
Gambar 2.9 Susunan Pin pada Mikrokontroller AT89S51
Keterangan fungsi-fungsi masing-masing pin adalah sebagai berikut : Pin 40
Vcc, Masukan catu daya +5 volt DC Pin 20
Gnd, Masukan catu daya 0 volt DC Pin 32-39
P0.0-P0.7, Port inputoutput delapan bit dua arah yang juga dapat berfungsi sebagai bus data dan bus alamat bila
mikrokontroler menggunakan memori luar eksternal.
Universitas Sumatera Utara
Pin 1-8 P1.0-P1.7, Port inputoutput dua arah delapan bit dengan
internal pull up. Pin 10-17
P3.0-P3.7Port inputoutput delapan bit dua arah, selain itu Port 3 juga memiliki alternativef fungsi sebagai :
RXD pin 10 Port komunikasi input serial
TXD pin 11 Port komuikasi output serial
INT0 pin 12 Saluran Interupsi eksternal 0 aktif rendah
INT1 pin 13 Saluran Interupsi eksternal 1 aktif rendah
T0 pin 14 Input Timer 0
T1 pin 15 Input Timer 1
WR pin 16 Berfungsi sebagai sinyal kendali tulis, saat
prosesor akan menulis data ke memori IO luar.
RD pin 17 Berfungsi sebagai sinyal kendali baca, saat
prosesor akan membaca data dari memori IO luar.
Pin 9 RESET, Pin yang berfungsi untuk mereset mikrokontroller
AT89S51 ke keadaan awal. Pin 30
ALE Address Latch Enable, berfungsi menahan sementara alamat byte rendah pada proses pengalamatan ke memori
eksternal.
Universitas Sumatera Utara
Pin 29 PSEN Program Store Enable, Sinyal pengontrol yang
berfungsi untuk membaca program dari memori eksternal. Pin 31
EA, Pin untuk pilihan program, menggunakan program internal atau eksternal. Bila ‘0’, maka digunakan program eksternal.
Pin 19 X1, Masukan ke rangkaian osilator internal. Sumber osilator
eksternal atau quartz crystal kristal dapat digunakan. Pin 18
X2, Masukan ke rangkaian osilator internal, koneksi quartz crystal atau tidak dikoneksikan apabila digunakan eksternal
osilator.
2.3.2.2 Struktur Pengoperasian Port
Struktur pengoperasian port terdiri atas :
1. Port InputOutput
One chip mikrokontroller ini memiliki 32 jalur port yang dibagi menjadi 4 buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat
digunakan sebagai input port atau output port. Pada bok diagram AT89C51 dapat dilihat latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing
jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan
port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang
dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port 2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16 bit.
Universitas Sumatera Utara
Khusus untuk port 3 mempunyai fungsi yang lain diluar sebagai port. Fungsi ini akan berbeda untuk tiap-tiap kaki dengan urutan sebagi berikut :
- Port 3.0 : port input serial, RXD.
- Port 3.1 : port output serial, TXD.
- Port 3.2 : input interupsi eksternal, INT0.
- Port 3.3 : input interupsi internal, INT1.
- Port 3.4 : input eksternal untuk timer counter 0, T0.
- Port 3.5 : input eksternal untuk timer counter 1, T1.
- Port 3.6 : sinyal tulis memori eksternal, WR.
- Port 3.7 : sinyal baca memori eksternal, RD.
Latch yang digunakan dapat dipresentasikan dengan D-FlipFlop. Data dari bus internal di-latch saat CPU memberi sinyal tulis ke latch dan output latch diberikan
ke bus internal sebagai respon dari sinyal baca pin dari CPU. Beberapa instruksi yang berfungsi membaca port mengaktifkan sinyal baca latch dan yang lain mengaktifkan
sinyal baca pin. Port 1, port 2, dan port 3 mempunyai pull-up internal, sedangkan port 0 dengan open drain. Masing-masing jalur IO dapat digunakan sebagai input atau
output. Bila digunakan sebagai input, port latch harus 1. Untuk port 1, 2 dan 3, pin-pin akan di pull-up tinggi oleh pull-up internal, dan bisa juga di pull-up rendah dengan
sumber eksternal. Port 0 tidak mempunyai pull-up internal. Pull-up fet hanya akan digunakan
saat akses memori eksternal. Jika isi latch diatur pada keadaan 1 maka port ini akan berfungsi sebagai impedansi tinggi dan jika sebagai output akan bersifat open drain.
Demikian halnya dengan port 2 yang digunakan untuk multipleks data dan alamat 16 bit sebesar 16 Kbyte mempunyai konfigurasi yang sama dengan yang dimiliki port 0.
Universitas Sumatera Utara
Sedangkan pada port 3 yang bisa dimanfaatkan untuk kaki kontrol mempunyai pengaturan fungsi output saja. Pada port ini dilengkapi dengan rangkaian pull-up
internal. Penggunaan port 3 dapat dialamati langsung sebagai kontrol langsung pada suatu tugas yang dilakukan oleh fungsi yang dimiliki oleh port ini.
2. TimerCounter
One chip mikrokontroller ini memilik dua timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer
ditambah 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin input eksternal.
Pada pemanfaatan sebagai counter, sinyal input yang dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan mencacah setiap masukan
yang ada sesuai inisialisasi harga awal dari counter pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai preset negatif counter yang diatur
sebelum counter dijalankan. Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi
awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clock
dari sistem penentu waktu sampling dari counter untuk mencacah suatu pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta pengaturan
program. Sebagai tambahan pada pemilihan countrtimer, timer 0 dan timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan pasangan bit M0
dan M1 pada register TMOD. Untuk pemilihan timercounter dikontrol dengan bit CT di TMOD.
Universitas Sumatera Utara
Mode 0
Pada mode ini timer register dikonfigurasikan sebagai register 13 bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama perhitungan roll
over dari semua 1 ke semua 0, TF1 Timer Interrupt Flag di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.
Mode 1
Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan mode 0.
Mode 2
Mode 2 adalah timer register dengan konfigurasi 8 bit counter TL1 auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga mereload
TL1 dengan isi TH1. Setelah reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timercounter 0.
Mode 3
Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0 menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk timer 0; CT,
GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.
2.3.2.3 Reset
Input reset dilakukan melalui pin RST. Reset dilakukan selama 2 siklus mesin dan pin RST tinggi. Dalam hal ini CPU akan mengaktifkan internal reset,
rangkaian reset dapat dilihat 2.1.1.6.
Universitas Sumatera Utara
Karena sinyal reset eksternal tidak sinkron dengan clock internal maka pin RST diambil pada state 5 SS dan fas setiap siklus mesin. Aktifis port tetap
dipertahankan selama 19 priode osilator sesudah logika 1 diambil pada kaki RST.
10uF
8.2kohm
VCC
RST
Gambar 2.10 Power On Reset
2.3.3 ADC Analog to Digital Converter
ADC Analog to Digital Converter adalah suatu angkaian pengubah informasi dari tegangan analog ke digital. AD Converter ini dapat dipasang sebagai
pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum.
Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu: 1.
Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi.
2. Rangkaian Konversi AD plus rangkaian kontrolnya.
Universitas Sumatera Utara
Gambar berikut menggambarkan bagaimana aliran sinyal analog diubah ke sinyal digital.
Konversi AD
Kontrol
01 Ke
INT CPU
PB7-PB0
Ke parallel Input port
SH Input
analog 01
START Konversi, SOC
Chip Select, CE
END Konversi, EOC
Gambar 2.11 Diagram ADC secara umum
Rangkaian di atas dioperasikan sebagai berikut. Pertama, kontroler, dalam hal
ini mikroprosesor mikrokontroller menghubungi ADC dengan mengirim sinyal CE. Artinya, ADC diaktifkan. Kemudian SOC start of conversion dikirimkan sehingga
ADC mulai melakukan sampling sinyal dan diikuti dengan konversi ke digital.
Bila konversi selesai maka ADC akan mengirimkan tanda selesai EOC end of
conversion yang artinya hasil konversi telah siap dibaca di PB7-PB0. . Program yang sesuai harus dibuat mengikuti prosedur seperti di atas. Artinya, program utama
mikroprosesor harus dimuati dengan suatu program loop tertutup dan menunggu tanda untuk membaca data dari ADC. Meski tanda ini tidak harus diperhatikan, tetapi
berakibat data yang dipaksa dibaca akan sering invalid karena CPU tidak dapat membedakan keadaan ambang ketika ADC tengah melakukan konversi dengan
keadaan data siap valid. Agar lebih efektif, fungsi interrupt harus diaktifkan untuk
Universitas Sumatera Utara
menghindari terjebaknya CPU dalam loop saat menunggu ADC siap. Dengan demikian CPU hanya akan membaca data bila mendapatkan interrupt.
Secara singkat, ADC memerlukan bantuan sekuensi system untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai
sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka
karakteristik ADC yang paling penting adalah waktu konversi conversion time. Namun demikian, kemampuan riil ADC dalam system loop tertutup dalam sebuah
ystem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas
ADC-nya.
2.3.4 LDR Light Depent Resistor