Aplikasi dari program Mikroprosesor Bab ini akan menunjukkan bagaimana sistem Mikroprosesor dapat digunakan dalam berbagai aplikasi. Contoh-contoh disajikan dengan cara yang sederhana sehingga tekniknya dapat diperlihatkan secara langsung. Semua teknik ditunjukkan untuk Mikroprosesor tambahan (embedded), yaitu komputer diprogram untuk tugas tertentu. Seperti biasa, bab ini juga menggunakan set perintah dan perangkat keras 8085 untuk semua contohnya. Hal ini tidak berarti bahwa 8085 merupakan pilihan terbaik untuk aplikasi tertentu. Saat ini microcontroller chip tunggal merupakan komponen yang paling populer untuk aplikasi tersebut. Tiga contoh pertama berhubungan dengan bidang kendali, bidang instrumentasi dan bidang komunikasi. NEXT
Dibagian permulaan telah diperkenalkan beberapa perintah yang Bidang Kendali : Dibagian permulaan telah diperkenalkan beberapa perintah yang disediakan oleh Mikroprosesor yang memungkinkan pemindahan data antara CPU dan port I/O. Datanya dapat berupa penyajian bilangan biner atau huruf. Selain itu, data logika juga dapat dipindahkan. Data logika menentukan kondisi beberapa peralatan, atau perintah peralatan ke kondisi yang diinginkan. Data logika umumnya berpeta bit. Keluaran logika tersebut berbentuk perintah untuk lampu peringatan. Pengurutan perintah keluaran merupakan salah satu contoh paling sederhana dari pemakaian data logika. Umumnya pengurut mengaktifkan sejumlah peralatan dalam pola dan waktu tunda antara setiap kondisi peralatan baru yang sudah diatur sebelumnya. Sebagai contoh, pengurut lampu lalu-lintas mengubah setiap kondisi setiap lampu dalam suatu perangkat lalu-lintas dalam pola yang sudah diatur. Waktu tunda tertentu diperlukan antara setiap kondisi. Mikroprosesor digunakan sebagai pengatur urutan dengan mengarahkan port keluaran yang diperlukan ke kondisi nyala atau mati. Hal ini dilakukan dalam urutan dan dengan tundaan yang diperlukan. Karena Mikroprosesor dapat dengan mudah dikendalikan dengan kristal, pewaktuan akan dapat diulangi selang beberapa lama dan dari satu sistem ke sistem berikutnya. NEXT
Pengurut lampu lalu-lintas yang sederhana tidak memerlukan masukan. Sistem tersebut hanya mengarahkan beberapa lampu untuk menyala dalam urutan yang sudah ditentukan. Urutan yang umum di Amerika adalah merah, tanda panah ke kiri, hijau, kuning, merah lagi dan seterusnya. Perempatan jalan diperlihatkan dalam gambar berikut, terdapat dua jalan yang diberi nama N/S dan E/W. Lampu- lampu diberi label RYGL, masing-masing untuk merah, kuning, hijau dan belok kiri. Semua lampu bekerja secara serempak. Urutan yang harus disediakan pengatur diperlihatkan dalam tabel urutan lampu lalu-lintas di bawah ini. Perhatikan bahwa terdapat tiga tundaan waktu yang berbeda, yang digunakan selama menyelesaikan satu siklus, dan tundaan tersebut bersesuaian dengan lampu tertentu. Tundaan 1 sesuai dengan lampu hijau, tundaan 2 sesuai dengan lampu kuning, tundaan 3 sesuai dengan lampu belok kiri. NEXT
Perempatan jalan NEXT
Urutan lampu lalu-lintas NEXT
Tabel berikut disebut tabel kondisi, yang memperlihatkan urutan kondisi lampu yang diperlihatkan. Hal ini penggunaannya untuk menetapkan perintah keluaran terpeta bit. Disini dianggap bahwa perangkat keras akan menyebabkan lampu merah N/S menyala bila MSB byte keluaran adalah 1. Bila bit keluaran berikutnya satu (bit 6 dari jangka nol sampai 7), lampu kuning N/S akan menyala. Untuk itu, satu byte sudah cukup untuk menentukan kondisi lampu. NEXT
Kita membangun pengurut dengan menyimpan tabel kondisi ini dalam lokasi memori yang berurutan. Program akan melangkah dari satu kondisi ke kondisi selanjutnya. Pada setiap langkah byte kondisi akan dikirim ke lampu. Satu tundaan akan dimulai berdasarkan kehadiran bit tertentu sesuai kondisi byte. Jika program tiba pada saat lampu kuning menyala pada kedua arah, tundaan waktu kedua akan diminta. Pada akhir suatu tundaan, kondisi urutan berikutnya akan dipanggil. Proses ini akan diulangi sampai program mencapai bagian bawah tabel kondisi. Selanjutnya, kondisi pertama akan dipilih kembali dan proses dimulai kembali. Gambar dibawah memperlihatkan diagram alir pengurut lampu lalu-lintas ini. Program assembly disertakan selanjutnya. Perhatikan bahwa permintaan tundaan menggunakan rutin tundaan yang sama. Program memindahkan parameter untuk menentukan waktu tundaan yang diperlukan. Program berjalan pada alamat pertama 200H. Tumpukan sebanyak 32 byte diletakkan pada akhir kode. Equalite diletakkan dekat bagian atas kode sumber. Hal ini memerlukan perintah JMP MAIN agar prosesor tidak langsung melaksanakan tabel kondisi seperti suatu daftar kode operasi. NEXT
Diagram alir pengurut lampu lalu-lintas NEXT
NEXT
NEXT
Kode objek untuk program ini panjangnya 83 byte, dengan tumpukan 32 byte sehingga totalnya 105 byte. Agar aplikasi pengurut lampu lalu-lintas dapat berjalan dengan baik di lapangan, program perlu dimodifikasi. Tumpukan memerlukan RAM, tetapi program dapat disimpan dalam ROM. Dalam program ini program dialamati dalam jangka memori yang sama. Cara yang paling langsung untuk memecahkan masalah ini adalah dengan menyediakan petunjuk stack ke dalam RAM ini, menggunakan perintah-perintah LXI. Karena RAM hanya digunakan untuk tumpukan pada pemanggilan subrutin, dapat dihilangkan sebuah RAM dengan menulis program tanpa subrutin. Hal ini bersifat langsung jika menghilangkan semua operasi berhenti pada permulaan program. Kode yang dihasilkan diberikan di bawah ini. Kode tersebut lebih sulit dipahami tanpa subrutin, namun memerlukan lokasi yang lebih sedikit. Di sini awal kode dipasang pada alamat reset biasa untuk 8085. NEXT
NEXT
NEXT
Program ini dirakit menjadi 64 byte, tidak diperlukan RAM. Gambar di bawah ini merupakan rangkaian lengkap untuk aplikasi ini. Lampu 220 volt dikemudikan oleh relay zat padat (Solid State Relay-SSR) NEXT
NEXT
Soal 1. Gambarkan rangkaian lengkap dari pengurut lampu lalu lintas! 2. Buatlah program dalam bahasa assembly untuk menjalankan pengurut lampu lalu-lintas! NEXT
TUTUP Terima Kasih