Pada alat ini akan digunakan beberapa sensor yang diletakkan pada pintu masuk dan keluar, sehingga ketika ada orang yang masuk, maka sensor tersebut dapat
mendeteksinya. Untuk dapat mengolah sinyal yang dikirimkan oleh sensor, maka digunakan sebuah mikrokontroler, dalam hal ini mikrokontroler yang digunakan
adalah mikrokontroler AT89S52.
1.3 Tujuan Penulisan
Tujuan dilakukan Laporan Proyek ini adalah sebagai berikut: 1.
Memanfaatkan mikrokontroller sebagai alat pengolah sinyal yang dikirimkan oleh sensor dan menampilkannya dalam bentuk bilanganangka.
2. Memanfaatkan LED infra merah dan potodioda sebagai sensor penghitung
proximity sensor. 3.
Merancang display penampil jumlah orang yang berada dala suatu ruangan.
1.4 Batasan Masalah
Universitas Sumatera Utara
Mengacu pada hal diatas, saya akan merancang display papan skor bola basket berbasis mikrokontroler AT89S52, dengan batasan-batasan sebagai berikut :
1. Mikrokontroler yang digunakan adalah jenis AT89S52.
2. Sensor yang digunakan adalah LED infra merah dan fotodioda.
3. Untuk menampilkan angka digunakan beberapa seven segmen.
I.5 Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja penghitung jumlah orang
yang masuk dan keluar berbasis mikrokontroler AT89S52, maka penulis menulis laporan ini sebagai berikut:
BAB I. PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
BAB II. LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori
Universitas Sumatera Utara
pendukung itu antara lain tentang mikrokontroler AT89S52 hardware dan software, bahasa program yang digunakan. serta karekteristik dari
komponen-komponen pendukung.
BAB III. PERANCANGAN ALAT DAN PROGRAM
Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram
alir dari program yang akan diisikan ke mikrokontroler AT89S52.
BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk
mengaktipkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S52.
BAB V. KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah
Universitas Sumatera Utara
rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja
yang sama.
Universitas Sumatera Utara
BAB II
TINJAUAN TEORITIS
2.1. Mikrokontroler AT89S52
Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer, hadir memenuhi kebutuhan pasar market need dan teknologi baru.
Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi
secara massal dalam jumlah banyak sehingga harga menjadi lebih murah dibandingkan microprocessor. Sebagai kebutuhan pasar, mikrokontroler hadir untuk
memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi misalnya pengolah kata, pengolah angka, dan lain sebagainya,
Universitas Sumatera Utara
Microkontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program
control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-
register yang digunakan pada microkontroler yang bersangkutan. Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB Flash Programmable dan
Erasable Read Only Memory PEROM. Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar
industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah. Oleh karena itu, sangatlah tepat jika kita mempelajari mikrokontroler jenis ini.
Anda juga diharapkan mempelajari versi lainnya yang berdasarkan pengalaman penulis lebih cepat di dalam pengisian program yaitu AT89S8252.
Spesifikasi penting AT89S52 :
a.
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
Universitas Sumatera Utara
b.
8 K Bytes 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 diprogram
g.
3 buah 16 bit TimerCounter
h.
8 sumber interrupt
i.
saluran full dupleks serial UART
j.
watchdog timer
k.
dual data pointer
l.
Mode pemrograman ISP yang fleksibel Byte dan Page Mode
2.1.1 Kontruksi AT89S52
Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm
dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan
frekuensi maksimum 24 MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi
Universitas Sumatera Utara
rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Mikrokontroler.
Memori merupakan bagian yang sangat penting pada Mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. Read Only
Memory ROM yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini
dinamakan sebagai memori program. Random Access Memory RAM isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat
program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Ada berbagai jenis ROM. Untuk Mikrokontroler dengan program yang sudah baku dan diproduksi secara masal, program diisikan kedalam ROM pada saat IC
Mikrokontroler dicetak dipabrik IC. Untuk keperluan tertentu Mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang
disingkat menjadi PROM PEROM. Dulu banyak UV-EPROM Ultra Violet Eraseable Programble ROM yang kemudian dinilai mahal dan ditinggalkan setelah
ada flash PEROM yang harganya jauh lebih murah.
Universitas Sumatera Utara
Jenis memori yang dipakai untuk memori program AT89S52 adalah flash PEROM, program untuk mengendalikan Mikrokontroler diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89s52 sebesar 128 kilo byte meskipun
hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.
AT89S52 dilengkapi UART Universal Asyncronous ReceiverTransmiter yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri
RXD dan TXD diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana inputoutput bekerja menurut fungsi waktu. Clock
penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1T0 dan T1 berhimpitan dengan P3.4 dan P3.5,
sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur inputoutput paralel kalau T0 dan T1 dipakai.
AT89S52 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini
berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur inputoutput paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Universitas Sumatera Utara
Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register
SFR.
2.1.2. Pin-Pin pada Microcontroller AT89S52
Mikrokontroler tersebut mempunyai 40 kaki, 32 kaki di antaranya adalah kaki untuk keperluan port paralel. Tiap port paralel terdiri dari 8 kaki, dengan demikian 32 kaki
tersebut membentuk 4 buah port paralel, yang masing–masing dikenal sebagai Port 0, Port 1, Port 2 dan Port 3. Nomor dari masing–masing jalur kaki dari port paralel
mulai dari dari 0 sampai 7, jalur kaki pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7.
Universitas Sumatera Utara
Gambar 2.1 Pinout AT89S52
Fungsi-fungsi pin AT89S52 adalah:
a. VCC : Sumber tegangan
b. GND : Ground atau pentanahan
c. RST : Masukan reset. Kondisi 1 selama 2 siklus mesin selama osilator bekerja akan mereset mikrokontroler yang bersangkutan
Universitas Sumatera Utara
d. ALE PROG : Keluaran ALE atau Adreess Latch Enable menghasilkan pulsa– pulsa untuk mengancing byte rendah low byte alamat selama mengakses memori
eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program the program pulse input atau PROG selama pemrograman flash . Pada operasi normal, ALE akan
berpulsa dengan laju 16 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan timing atau pendetakan clocking rangkaian eksternal. Catatan, ada satu pulsa yang
dilompati selama selama pengaksesan memori data eksternal. Jika dikehendaki, operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika
isinya 1, ALE hanya akan aktif selama dijumpai instruksi MOVX atau MOVC. Selain itu, kaki ini akan secara lemah di-pulled high . Mematikan bit ALE tidak akan
ada efeknya jika mikrokontroler mengeksekusi program secara eksternal.
e. PSEN : Program Store Enable merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler menjalankan program dari memori eksternal, PSEN
akan diaktifkan dua kali per siklus mesin, kecuali dua aktivasi PSEN dilompati diabaikan saat mengakses memori data eksternal.
f. EAVPP : External Access Enable . EA harus selalu dihubungkan ke- ground , jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h
hingga FFFFh. Selain dari itu, EA harus dihubungkan ke VCC agar mikrokontroler mengakses program secara internal, yaitu pada lokasi 0000h sampai 1FFFh sedangkan
Universitas Sumatera Utara
lokasi 2000h sampai FFFFh pada memori eksternal. Kaki ini juga berfungsi menerima tegangan 12 Volt VPP selama pemrograman flash, khususnya untuk tipe
mikrokontroler 12 Volt VPP.
Spesifikasi Masing-masing Port
Keempat port pada mikrokontroler bersifat dwi-arah dan masing-masing memiliki sebuah pengancing latch, yang diacu dalam program sebagai Register Fungsi
Khusus RFK atau SFR sebagai P0, P1, P2 dan P3. Selain itu juga memiliki sebuah penggerak keluaran output driver dan sebuah penyangga masukan input buffer
pada masing-masing kaki port.
Penggerak–penggerak keluaran Port 0 dan 2 serta penyangga masukan dari Port 0 digunakan dalam pengaksesan memori eksternal. Pada aplikasi semacam ini, Port 0
mengeluarkan byte rendah alamat memori eksternal, dimultipleks secara waktu dengan byte yang akan dituliskan atau dibaca kedari memori eksternal. Port 2
mengeluarkan byte tinggi dari alamat memori eksternal jika lebar alamatnya 16-bit, selain itu kaki–kaki Port 2 tetap meneruskan menghasilkan isi SFR dari P2. Berikut ini
akan dijelaskan masing–masing port pada mikrokontroler.
Port 0
Universitas Sumatera Utara
Port 0 merupakan keluaranmasukan IO bertipe open drain bidirectional . Sebagai port keluaran, masing–masing kaki dapat menyerap arus sink delapan masukan TTL
sekitar 3,8 mA. Pada saat 1 dituliskan ke kaki– kaki Port 0 ini, maka kaki–kaki Port 0 dapat digunakan sebagai masukan– masukan berimpedansi tinggi.
Jika Port 0 dapat dikonfigurasikan sebagai bus alamatdata bagian rendah low byte selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam
mode ini Port 0 memiliki pullup internal.
Port 0 juga menerima kode–kode yang dikirim kepadanya selama proses pemrograman dan mengeluarkan kode–kode selama proses varifikasi program yang
telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program.
Port 1
Port 1 merupakan IO dwi–arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 1 mampu memberikanmenyerap arus empat masukan TTL sekitar 1,6
mA.
Universitas Sumatera Utara
Jika 1dituliskan ke kaki–kaki Port 1, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,
jika kaki–kaki Port 1 dihubungkan ke ground di-low pulled, maka masing–masing kaki akan memberikan arus source karena di-pulled high secara internal. Port 1 juga
menerima alamat bagian rendah low byte selama pemrograman dan verifikasi flash.
Port 2
Port 2 merupakan IO dwi–arah yang dilengkapi dengan pullup internal. Penyangga keluaran port 1 mampu memberikanmenyerap arus empat masukan TTL sekitar 1,6
mA.
Jika 1 dituliskan ke kaki–kaki Port 2, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,
jika kaki–kaki Port 2 dihubungkan ke ground di-pulled low, maka masing–masing kaki akan memberikan arus source karena di-pulled high secara internal.
Port 2 akan memberikan byte alamat bagian tinggi high byte selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data
eksternal yang menggunakan perintah dengan alamat 16-bit. Dalam aplikasi ini, jika
Universitas Sumatera Utara
ingin mengirimkan 1, maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit,
Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash.
Port 3
Port 3 merupakan port IO dwi–arah dengan dilengkapi pullup internal. Penyangga keluaran Port 3 mampu memberikanmenyerap arus empat masukan TTL sekitar 1,6
mA.
Jika 1 dituliskan ke kaki–kaki port 3, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,
jika kaki–kaki port 3 dihubungkan ke ground di-pulled low, maka masing–masing kaki akan memberikan arus source karena di-pulled high secara internal.
Port 3, sebagaimana Port 1, memiliki fungsi–fungsi alternatif antara lain menerima sinyal–sinyal kontrol P3.6 dan P3.7, bersama–sama dengan port 2 P2.6 dan P2.7
selama pemrograman dan verifikasi flash.
TimerCounter
Universitas Sumatera Utara
Keluarga mikrokontroler MCS51 dilengkapi dengan tiga perangkat TimerCounter, masing-masing dinamakan sebagai TimerCounter 0, TimerCounter 1, dan Timer 2.
Untuk mengakses TimerCounter tersebut digunakan register khusus yang tersimpan dalam Special Function Register SFR. Pencacah biner Timer 0 diakses melalui
register TL0 Timer 0 Low Byte , memori internal alamat 6Ah dan register TH0 Timer 0 High Byte , memori internal alamat 6Ch. Pencacah biner Timer 1 diakses
melalui register TL1 Timer 1 Low Byte , memori internal alamat 6Bh dan register TH1 Timer 1 High Byte , memori internal alamat 6Dh.
Pencacah biner TimerCounter pada MCS51 merupakan pencacah biner 16 bit naik count up binary counter yang mencacah 0000h sampai FFFFh, saat kondisi
pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal berlebihan overflow .
Untuk mengatur kerja TimerCounter tersebut digunakan 2 register tambahan, yaitu register TCON Timer Control Register, memori data internal alamat 88h, bisa diberi
alamat per bit. Dan register TMOD Timer Mode Register , memori data internal alamat 89h, tidak bisa diberi alamat per bit.
Universitas Sumatera Utara
Bit 7 Bit 6
Bit 5 Bit 4
Bit 3 Bit 2
Bit 1 Bit 0
TF1 TR1 TF0 TR0 1E1 1T1 1E0 1T0
Tabel 2.1. Susunan bit dalam register TCON
a. TF1 : overflow flag Timer 1Counter 1 1 = overflow
b. TR1 : Enable Timer 1Counter 1
c. TF0 : overflow flag Timer 0Counter 0 1 = overflow
d. TR0 : Enable Timer 0Counter 0
e. IE1 : External Interrupt 1 edge flag
f. IT1 : Interrupt 1 type control bit . Setclear oleh program untuk menspesifikasi
sisi turunlevel rendah trigger dari interupsi eksternal. g.
IE0 : External Interrupt 0 edge flag h.
IT0 : Interrupt 0 type control bit . Setclear oleh program untuk menspesifikasi sisi turunlevel rendah trigger dari interupsi eksternal.
Bit 7 Bit 6
Bit 5 Bit 4
Bit 3 Bit 2
Bit 1 Bit 0
GATE CT M1 M0 GATE CT M1 M0
Tabel 2.2 Susunan bit dalam register TMOD
Universitas Sumatera Utara
a. GATE : merupakan bit pengatur sinyal detak. Jika GATE = 0, TimerCounter
akan berjalan saat TR0 atau TR1 pada register TCON TRx = 1. Jika GATE = 1, TimerCounter akan berjalan saat TRx = 1 atau INT1 untuk Timer 1 dan INT0
untuk Timer 0 INTx = 1. b.
CT : dipakai untuk mengatur sumber sinyal detak yang diberikan kepada pencacah biner. Jika CT = 0, maka Timer akan aktif dengan sinyal detak
diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12. Jika CT = 1, maka Counter akan aktif dengan sinyal detak diperoleh dari kaki T0 untuk
Timer 0 dan kaki T1 untuk Timer 1. c.
M0 dan M1 : dipakai untuk menentukan Mode TimerCounter.
MI M0 Mode Operasi
Timer Counter 13 bit 1
1 Timer Counter 16 bit
1 2
Timer auto reload 8 bit 1
1 3
TL0 adalah timer Counter 8 bit yang dikontrol oleh control bit
Timer 0 TF0
TH0 adalah timer counter 8 bit yang dikontrol oleh control bit
Universitas Sumatera Utara
timer 1 TF1
Tabel 2.3 Mode Operasi TimerCounter
Untuk menghitung clock frequency adalah menggunakan perhitungan berikut :
Sehingga, dengan menggunakan Mode 1 dapat dihitung waktu tunda yang diperlukan dengan perhitungan berikut :
Delay = 65536 - n x T
2.2 Bahasa Assembly MCS-51