Tujuan Penulisan Batasan Masalah Mikrokontroler AT89S52

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