PENERAPAN MIKROKONTROLER MC 6870503 SEBAGAI TIMER DAN JAM DIGITAL TERPROGRAM NIKAM SURBAKTI Program Studi Fisika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara PENDAHULUAN I.1 Latar Belakang Masalah Melihat kemajuan teknologi dan ilmu pengetahuan khususnya semikonduktor yang berhubungan erat dengan bidang elektronika digital, maka segala yang berhubungan dengan masalah digital dapat diselesaikan dengan mudah. Mikrokontroler adalah single chip microkomputer ( SCM ) yang merupakan sebuah komputer lengkap yang dipaket dalam sebuah chip ( IC ). Di mana di dalamnya telah terdapat RAM, ROM, atau EPROM, timer, osilator, ADC, buffer I/Oport, saluran alamat dan saluran data sehingga dapat bekerja dan mampu melakukan yang rumit walaupun rangkaian sangat sederhana. Dengan keserhanaan alat yang menggunakan mikrokontroler ini penulis mencoba merancang dan membuat suatu alat “ jam Digital Terprogram menggunakan Mikrokontroler MC 68705U3 “. Adapun alasan pemilihan jenis MC 68705U3 iniadalah sebagai berikut : ¾ Mikrokontroler MC 68705U3 dan buku manualnya tersedia di pasaran. ¾ Mirokontroler mempunyai 3 port yang dapat diprogram sebagai masukan atau keluaran sehingga dapat dihubungkan dengan display dan unit memasukkan waktu. ¾ Mikrokontroler mempunyai taimer yang terdiri dari pembagi awal dan down counter sehingga cocok digunakan sebagai penanda waktu. DASAR TEORI II. 1. Mikrokontroler MC 68705U3 Mikrokontroler merupakan chip digital yang terdiri dari microprosesor, ROM/EPROM, RAM dan komponen I/0 yang dipaketka didalam sutu chip. Diagram blok dari MC 68705U3 ini ditunjukkan pada gambar 2.1 dan gambar fhisik beserta pinnya ditunjukkan seperti pada gambar 2.2. Mikrokontroler MC 68705U3 memiliki spesifikasi sebagai berikut : - Mempunyai CPU 8 bit - Memiliki memori RAM sebesar 112 byte - Memiliki memory EPROM intern swbanyak 3777 byte yang merupakan tempat untuk progra aplikasi. - Memiliki 3 buah port 8-bit (Port A, B, dan C) yang dapat diatur sebagai masukan ataupun keluaran dan satu buah port 8- bit yang berfungsinya sebagai masukan. - Memiliki timer (penanda waktu) yang terdiri dari pembagi awal (prescaler) 7- bit dan TDR 8-bit yang dapat diprogram. - Memiliki 4 sumber interupsi, di mana 2 diantaranyan merupakan interupsi luar yakni INT dan TDR 8-bit yang dapat diprogram
©2004 Digitized by USU digital library
1
-
Memiliki clock (clock generator) di mana sumber clock dapat menggunakan kristal, resistor, atau kawat. Pemetaan I/0 merupakan pemetaan memory (memory map) Memiliki masukan riset Beroperasi dengan satu daya tunggal +5 volt. Memiliki program bootstrap pada ROM sebagai penggali pengisian EPROM-nya.
II. 2 Diagram Blok Gambar 2.1 menunjukkan diagram blok fungsionil perangkat keras dari MC 68705U3. CPU mengandung ALU (Arithmatic Logic Unit) 8-bit, akumulator, pencacah progra, register indeks, penunjuk tumpukan, register kode keadaa, pendekode instruksi, pewaktuan dan logika pengendalian. MC 68705U3 memiliki RAM intern sehingga mikrokontroler ini beroperasi tanpa memory ekstren. MC 68705U3 mempunyai I/0 paralel di mana fungsinya dapat diprogram sebagai masukan atau keluaran. Dengan adanya timer yang terdapat chip memberikan kemampuan yang lebih unggul. Pencacah 8-bit dan pembagi awalnya dapat diprogram untuk fungsi-fungsi tertentu.
Gambar 2.1 Diagram Blok Perangkat Keras MC 68705U3 II. 2.1 Saluran Alamat Saluran alamat ada 12-bit, sehingga jumlahnya lokasi alamat yang dapat dialamati ada 4096 lokasi, yakni dari alamat 0 hingga 4096 (0000Hs/d OFFF). Unit I/0 memakai prinsip pemetaan memory yang berarti tidak alamat khusus untuk I/O, dengan demikian alamat I/0 memakai sebagaian jatah alamat memory atau dengan kata lain alamat memory tertentu merupakan alamat I/O. Semua alamat telah dipakai sehingga tidak ada yang keluar dari mikrokontroker.
©2004 Digitized by USU digital library
2
II.2.2 Saluran Data MC 68705U3 adalah mikrokomputer 8-bit, dimana ukuran data dan CPU adalah 8-bit. Pin I/O yang terdiri dari 32 buah dikelompokkan menjadi 4 port masing-masing 8-bit. Tomer dari MC 68705U3 ini, juga 8-bit. Oleh karena jalur data telah dipakai keseluruhannya di dalam IC, maka pin data pun (saluran data eksternal) tidak ada. Hubungan mikrokontroler dengan dunia luarnya dilakukaan melalui I/0 dan pengendalai. II. 2.3 Memory Mikrokontroler MC 68705U3 mempunyai 4096 lokasi memory (000H s/d FFH). Alamat ini pada MC 68705U3 dibagi-bagi untuk alamat I/0, REGISTER, Stack, RAM, EPROM dan ROM. Pembagian alamat ini (memory map) ditunjukkan pada gambar berikut :
©2004 Digitized by USU digital library
3
II 2.4 Osilator Osilator ini terdapat pada MC 68705U3 yang pada dasarnya membangkitkan clock yang dipergunakan oleh sistem mikrokontroler. Osilator yang digunaka seperti yang diperlihatkan di dalam gambar 2.4
II. 2.5 Unit timer Timer ini terdiri dari register MOR (Mask Option Register) 7-bit pembagi awal (pre–sceler) 8-bit, register pengendali timer (Timer Contol Register ), dan 8-bit register data timer (Timer Data Register). MOR mnegizinkan pembagi awal disulut langsung dari pin timer eksternal atau dari clock dalamn 12. Bilamana sinyal 12 digunakan bila pin timer berlogika tinggi.
PERANCANGAN III.1 Diagram blok Jam alarm yang akan direncanakan ini berbasis mikrokontroler MC 68705U3 seperti yang ditunjukkan pada gambar 3.1
©2004 Digitized by USU digital library
4
III.2 Unit Displai Unit peragam direncanakan terdiri dari 6 buah 7- segment yaitu untuk detik, menit, jam masing-masing 2 buah. Susunan segment dari displai ditunjukkan pada gambar 3.2 dan hubunga satu displai dengan port B ditunjukkan pada gambar 3.3.
Gambar 3.2 Susunan 7-segment yang digunakan
Gambar 3.3 Onterface MC 68705U3 dengan 1 display Untuk menampilkan data pada keena displai diperlukan suatu rangkaian pemultiplex yaitu dekoder 3 ke 8 seperti yang ditunjukkan pada gambar 3.4
©2004 Digitized by USU digital library
5
III.3 Referensi Waktu Jenis osilator yang digunakan adalah jenis kristal karena mempunyai frekuensi keluaran yang stabil.
Pada perencanaan ini sebagai frekuensi 1 detik untuk jam berasal dari clock eksterna yaitu osilator yang terdiri rangkaian R-C dan inverter schmitt-trigger. III. 4 Interupsi 1 detik Rangkain timer terdapat dalam MC 68705U3. Pada rangkaian timert, TDR berkurang 1 seriap mendapat clock dimana clock TDDR diambil dari pembagian keluaran awal. Untuk menghitung besarnya frekuensi osilator eksternal yang diperlukan untuk mendapatkan satu detik ini dapat dibuat dengan cara memilih pembagi dan TDR diset pada 225. III. 5 Unit Set Waktu Unit ini berfungsi untuk mengubah waktu yang telah pada memory dengan waktu yang diinginkan.Pengesetan ini dilakukan dengan memberi logika yang sesuai dengan port D seperti pada tabel 3.1. Unit pengesahan waktu ini ditunjukkan pada gambar 3.6. Pemberian tahanan pull-up berguna agar masukan port D benar-benar logika 0 tergantung pada saklar. III. 6 Unit Alatm Unit alarm dikendalikan oleh port A (PA7) dimana alarm akan bekerja jika keluaran PA7 logika 1 dan akan padam jika PA7 logika 0. Sumber sinyal untuk menghidupkan alarm diambil dari osilator (gambar 3.5.b). III.7 Program Inisialisasi Program jam alarm iani dimulai dari IF8(h), maka alamat FFE diisi dengan F8 dan alamat FFF berisi 01. Sesuai dengan rangkaian port dari MC 68705U3 diset sebagai berikut : port A, port B sebagai keluaran. Dengan demikian DDR A, DDR B dan DDR C diisi dengan logika 1. Program pengesetan port ini dilakukan dengan program berikut :
©2004 Digitized by USU digital library
6
Routine Inisialisasi
III. 8 Routine Timer Jam Setiap interupsitimer terjadi, detik akan bertambah satu 1 (satu). Jika nilai satuan detik (alamat 20) telah 03 maka satuan detik diset kembali ke 00 dan puluhan detik (alamat 21) bertambah 1. Jika puluhan detik telah 06 maka puluhan deti diset ke 00 dan satuan menit (alamat 23) bertambah 1 (satu). Jika puluhan menit telah 06 maka puluhan menit diset ke 00 dan satuan jam telah 04, nilai puluhan jam perlu diperiksa apakah telah 02. Jika puluhan jam telah 02 satuan jam dan puluhan jam (alamat 25) diset 00. III. 9 Program Utama Program utama berisikan inisialisasi, mengambil penampilan waktu pada display, memanggil pembanding set alaram, mendeteksi apakah apakah data pengesetan waktu. Program Utama.
©2004 Digitized by USU digital library
7
PENGUJIAN DAN ANALISA IV.1 Pengisian Program Pengendalian pengisian ini dilakukan oleh progra Bootstrap yang terdapat kaki 8 mendapat tegangan 12 volt (minimum 9 volt dan maksimum 15 volt). Rangkaian pengisi MC 68705U3 terdapat pada lampiran. IV.2 Pengujian Display Pengujian displai dilakukan dengan cara hardware dan software. Pengujian hardware terdiri dari beberaapa tahapan yaitu pengujian multiplexing, pengujian secara software dilakukan dengan menjalankan proram displai. IV.3 Pengujian Unit Alarm Pengujian ini terdiri dari pengujian dari osilator dan rangkain alarm. Untuk mendapatkan frekuensi bunyi yang yang diinginkan dilakukan dengan mengatur Trimpot, sedangkan untuk mendapat level bunyi yang lebih kuat dilakukan dengan menaikkan tegangan colector transistor. IV.4 Pengujian Timer Pengujian Timer 1 detik ini dilaksanaka menghidup-padamkan segment a dari 7-Segment digit 0 (nol). Segment akan hidup hidup 1 detik dan padam 1 detik. Program Pengujian Timer 1 Detik
IV.5 Pengujian Jam Alarm Program Pengujian jam alarm Alamat Kode 170 CD01F8 173 CD0234 176 9A 177 BDD0 179 CC0176
Mnemonic JSR INITIAL JSR SET WAKTU CLI JSR TAMPIL JMP 176
; ; ; ; ;
Komentar Inisialisasi Set waktu Enable interupsi Tampilkan waktu Ulangi
Jika program ini dijalankan maka setiap detik tampilan pada displai, detik akan bertambah dan setiap 60 detik, menit bertambah 1, dan setiap 60 menit, jam akan bertambah 1. IV. 6 Pengujian Sistem Pengujian meliputi program jam digital dan pembandingan waktu pada jam dengan waktu yang diset untuk menghidupkan alarm. Waktu pengesetan alarm terdapat pada alamat 90 sampai 9B seperti yang ditunjukan pada tabel berikut dimana waktu ini diisi bersamaan saat mengisi program.
©2004 Digitized by USU digital library
8
Tabel No 1 2 3 4 5 6
Set Waktu Waktu Set 08.00 10.30 10.45 12.30 13.30 16.60
Isi Memory 90=08 91=00 92=10 93=30 94=10 95=45 96=12 97=30 98=13 99=30 9A=16 9B=00
Kegiatan Masuk Istirahat Masuk Istirahat Masuk Pulang
KESIMPULAN Setelah merencanakan dan membuat jam digital ini dapat diambil beberapa kesimpulan sebagai berikut : 1. Dengan menggunakan mikrokontroler MC 68705U3 rangkaian jam digital lebih sederhana dibanding dengan menggunakan komponen digital biasa. 2. Dengan memprogram unit timer mikrokontroler MC 68705U3 sebagai pembagi frekensi tertuntu waktu 1 detik dapat ditandai. 3. Dengan adanya interupsi timer pada MC 687055U3 maka sinyal timer 1 detik akan secara otomatis mengakibatkan CPU menambah waktu 1 detik. 4. Adanya bandar yang diset sebagai masukan waktu pada jam digital dapat disesuaikan dengan waktu sebenarnya atau waktu yang diinginkan. 5. Dengan menggunakan mikrokontroler MC 68705U3 ini waktu alarm bunyi dapat ditentukan dimana waktu ini disimpan pada memory EPROM. 6. Dengan menggunakan teknik multipexing, data waktu yang terdiri dari 6 digit dapat kelihatan secara serempak pada peraga walaupun bandar keluarannya terdiri dai 8-bit. Dimana peragaan ini dilakukan secara bergantian digit demi digit. 7. Agar penampilan tidak terjadi kedipan maka data waktu harus ditampilkan minimum setiap 20 mn (50 Hz). 8. Alat ini telah bekerja sesuai dengan yang direncanakan. DAFTAR PUSTAKA Panduan Pembuatan Program dan Rangkaian Mikrokontroler MC 68705U3 oleh Ir. Busono, 1992 Circuit Design for Elektronic Instrumentation by Wobschall, 1987 Microcomputer/ microprocessor User’s Manual by Motorolla Inc., 1983 Microcomputer Interfacing by Harold S.Stone, 1982 Design with Microcontroler by Peatman, 1987 Elektronic Principles and Application by Malvino/Leach, 1986 Digital Technology with MOS Integrated Circuit by Ronald J.Webb, 1988 Micoprocessor and Interpacing Programming and hardware by Douglas V.Hall, 1986
©2004 Digitized by USU digital library
9