buku praktboard baru-pens

123
  1 Pengantar Disain Rangkaian  Aplikasi yang banyak kita temukan dalam kehidupan keseharian kita adalah aplikasi yang menggunakan teknologi digital sebagai salah satu solusi untuk membuat proses lebih cepat, tepat, ringkas dan lebih mudah untuk mengembangkan sistem secara keseluruhan. Pada kesempatan ini kami mengenalkan penggunaan mikrokontroler sebagai pengontrol pada sebuah sistem yang ingin kita bangun dengan memberikan dasar-dasar pengaksesan terhadap beberapa perangkat keras seperti pengaksesan port masukan dan keluaran, Lyquid Crystal Display (LCD), Seven Segment, Dot Matrik, Analog To Digital Converter (ADC), Digital To Analog Converter (DAC), dan bagaimana melakukan pengkontrolan pada motor stepper menggunakan fasilitas yang dimiliki oleh mikrokontroler keluarga 8051, yaitu 89S51/52. Adapun fasilitas yang dapat diaplikasikan juga adalah Timer, Interupsi, Serial. Bahasa yang kita gunakan adalah bahasa C dengan menggunakan compiler Small Device C Compiler  atau lebih dikenal dengan SDCC. Dimana pemrogram diberikan kemudahan untuk mendekati perangkat keras dengan menggunakan bahasa aras menengah. Kemudahan yang akan dirasakan adalah apabila pengguna telah terbiasa menggunakan bahasa C sebagai bahasa pemrograman dan dapat lebih mudah untuk mengembangkan beberapa sistem dasar menjadi sistem yang lebih rumit. Disain sistem yang kita bangun adalah penggabungan beberapa modul menjadi satu modul yang kita sebut sebagai ” compact board”, dimana didalamnya sudah terdapat berberapa perangkat keras yang berbeda yang akan menjadi obyek, dimana masing – masing perangkat keras yang akan dikontrol mempunyai alamat – alamat unik yang diperoleh dari disain perangkat keras itu sendiri, yang telah kami buat sebelumnya.  Adapun disain dari sistem yan g kami buat adalah sebagai be rikut :

Upload: hendra-antomy

Post on 21-Jul-2015

260 views

Category:

Documents


0 download

TRANSCRIPT

Pengantar

Disain RangkaianAplikasi yang banyak kita temukan dalam kehidupan keseharian kita adalah aplikasi yang menggunakan teknologi digital sebagai salah satu solusi untuk membuat proses lebih cepat, tepat, ringkas dan lebih mudah untuk mengembangkan sistem secara keseluruhan. Pada kesempatan ini kami mengenalkan penggunaan mikrokontroler sebagai pengontrol pada sebuah sistem yang ingin kita bangun dengan memberikan dasar-dasar pengaksesan terhadap beberapa perangkat keras seperti pengaksesan port masukan dan keluaran, Lyquid Crystal Display (LCD), Seven Segment, Dot Matrik, Analog To Digital Converter (ADC), Digital To Analog Converter (DAC), dan bagaimana melakukan pengkontrolan pada motor stepper menggunakan fasilitas yang dimiliki oleh mikrokontroler keluarga 8051, yaitu 89S51/52. Adapun fasilitas yang dapat diaplikasikan juga adalah Timer, Interupsi, Serial. Bahasa yang kita gunakan adalah bahasa C dengan menggunakan compiler Small Device C Compiler atau lebih dikenal dengan SDCC. Dimana pemrogram diberikan kemudahan untuk mendekati perangkat keras dengan menggunakan bahasa aras menengah. Kemudahan yang akan dirasakan adalah apabila pengguna telah terbiasa menggunakan bahasa C sebagai bahasa pemrograman dan dapat lebih mudah untuk mengembangkan beberapa sistem dasar menjadi sistem yang lebih rumit. Disain sistem yang kita bangun adalah penggabungan beberapa modul menjadi satu modul yang kita sebut sebagai compact board, dimana didalamnya sudah terdapat berberapa perangkat keras yang berbeda yang akan menjadi obyek, dimana masing masing perangkat keras yang akan dikontrol mempunyai alamat alamat unik yang diperoleh dari disain perangkat keras itu sendiri, yang telah kami buat sebelumnya. Adapun disain dari sistem yang kami buat adalah sebagai berikut :

1

Port 0 LCD Port 1 8 bit LED Port 2 Kontrol Data Port 3 DipSwitch Tombol Dot Matrik 5 x 8 ADC 7segmen Stepper DAC

89S51/52

Gambar 1. Blok Diagram Sistem Keseluruhan

Rancang bangun sistem yang berupa skematik adalah :

Gambar 2. Skema Rangkaian Kontrol dan pengalamatan

2

Gambar 3. Tombol Masukan

Gambar 4. DipSwitch 8 bit

Gambar 5. Seven Segment (Common Cathode)

3

Gambar 6. LCD

Gambar 7. Motor Stepper

Pengalamatan untuk mengakses masing masing perangkat keras diatas diagunakan pengalamatan yang diperoleh dengan memberikan data pada IC 74LS138, yang dapat ditabelkan sebagai berikut :

Tabel 1. Alamat akses perangkat keras No 1 2 3 4 5 6 7 Perangkat Keras Stepper 7s2 7s1 Matrix/LED DAC ADC LCD Alamat Akses Y0 ( 1100 0111 = 0C7 ) Y1 ( 1100 1111 = 0CF ) Y2 ( 1101 0111 = 0D7 ) Y3 ( 1101 1111 = 0DF ) Y4 ( 1110 0111 = 0E7 ) Y5 ( 1110 1111 = 0EF ) Y6 ( 1111 0111 = 0F7 )

4

Pengantar

Teknik KompilasiAdapun Teknik Kompilasi Program adalah sebagai berikut : 1. Mengkompile file percobaan yang berekstensi c menjadi ihx

Gambar 8. Kompilasi file percobaan.c menjadi percobaan.ihx Tahapan dalam kompilasi : Kompilasi dalam folder aktif /SDCC/BIN Instruksi : SDCC namafile.c 2. Mengubah file yang berekstensi ihx menjadi hex

Gambar 9. Kompilasi file percobaan.ihx menjadi percobaan.hex

5

Tahapan dalam kompilasi : Kompilasi dalam folder aktif /SDCC/BIN Instruksi : PACKIHX namafile.ihx > namafile.hex 3. Membuka file downloader File downloader bisa bekerja pada Window XP dengan memenuhi persyaratan pada folder aktif ada file : ALLOWIO.EXE dan PORTTALK.SYS. Hal ini bisa dipermudah dengan membuat file shortcut sebagai berikut : @echo off AllowIo 0x42 0x43 0x61 0x378 0x278 0x3BC ISP-Pgm3v0.exe Simpan instruksi diatas pada file dengan berekstensi .BAT File untuk download Atmel_Isp.set yang harus tersedia ISP-Pgm3v0.exe dan

Adapun tahapan dalam pengoperasian program adalah : 1. Memilih jenis IC 89S atau ATMega yang akan digunakan :

Gambar 10. Tipe IC pada Downloader software

6

2. Membuka file yang berekstensi *.hex untuk diisikan secara ISP

Gambar 11. Menu Open File

Gambar 12. Membuka file *.hex yang akan di download

7

3. Menuliskan program anda ke IC 89S secara ISP

Gambar 13. Menuliskan Program ke Flash EEPROM Perhatian : Posisi Lock Bits Tidak Boleh diaktifkan. Hal tersebut akan menyebabkan IC terkunci dan tidak dapat di program ulang Klik Write apabila peralatan anda telah siap untuk di program.

8

PERCOBAAN 1

MASUKAN DAN KELUARANTujuan

Setelah mengikuti praktikum ini, yang Anda peroleh adalah: Dapat menggunakan port mikrokontroler sebagai jalur masukan atau jalur keluaran Dapat menyebutkan register yang digunakan untuk mengakses port Dapat membuat program dengan C untuk mengakses port

Dasar teori

Port paralel mikrokontroler terhubung dengan register P0, P1, P2, dan P3. Masingmasing register tersebut mempunyai lebar 8-bit. Register-register tersebut berada didalam RAM internal (daerah Special Function Register atau SFR). P0 berada pada alamat 80h, P1 berada pada alamat 90h, P2 berada pada alamat A0h, dan P3 berada pada alamat B0h. Untuk mengeluarkan nilai 20h ke port P1 misalnya, Anda dapat menggunakan instruksi: P1 = 0x20;

Apabila ingin membaca port P2 misalnya, Anda dapat menggunakan instruksi: baca = P2;

Variabel baca dapat Anda definisikan sebagai unsigned char atau variabel bertipe byte. Sedangkan P1 dan P2 tidak perlu Anda definisikan lagi karena telah didaftar didalam file header at89x52.h. Sehingga pada program, Anda menggunakan instruksi #include

9

Percobaan

Berikutnya Anda akan melakukan 7 macam percobaan. Amati dengan seksama dan pahami benar program tersebut. Untuk membantu memahami mengapa instruksi pada program dibuat maka Anda dapat melihat skematik dari perangkat keras yang Anda gunakan dengan hubungan seperti yang ditunjukkan oleh gambar yang ada pada lampiran. Pada kesempatan ini digunakan lampu LED sebagai sarana menampilkan hasil keluaran.

a a k

k

Keterangan : a = anoda, k = katoda Gambar 1.1. Bentuk fisik LED dan simbolnya

Percobaan 1.1 : Keluaran pada Port 1 Tujuan: Anda mencoba untuk mengeluarkan data 8-bit ke Port 1.// aktifkan Y6 LCD // aktifkan Y5 ADC // aktifkan Y4 DAC = 1111 0111 = 0F7 = 1110 1111 = 0EF = 1110 0111 = 0E7

// aktifkan Y3 Matrix/LED= 1101 1111 = 0DF // aktifkan Y2 7s1 // aktifkan Y1 7s2 // aktifkan Y0 Stepper = 1101 0111 = 0D7 = 1100 1111 = 0CF = 1100 0111 = 0C7

/* Mengatur latch data LED */ /* Latch pada Y3 LED (P2.5 P2.4 P2.3 = 0 1 1) */ /* Latch pada matrix, matikan (P2.2 P2.1 P2.0 = 1 1 1) */ /* (P2.7 P2.6 = 0 0) */ /* P2 = 0001 1111 = 1Fh) */

#include void led() { /* Aktifkan LED */ P2=0x0DF;

10

/* Kirim data */ P1=0x0AA; } void main() { while (1) { led(); } // tutup akhir program } Program 1.1. Mengirim data ke Port 1

Percobaan 1.2 : Masukan melalui Port 1 keluaran melalui Port 0 Tujuan : Anda akan mencoba membaca data 8-bit dari Port 3 dan mengeluarkan data 8-bit tersebut ke Port 1./* Mengatur latch data LED */ /* Latch pada Y3 LED (P2.5 P2.4 P2.3 = 0 1 1) */ /* Latch pada matrix, matikan (P2.2 P2.1 P2.0 = 1 1 1) */ /* (P2.7 P2.6 = 0 0) */ /* (P2 = 0001 1111 = 1Fh) */

#include void led() { /* Aktifkan LED */ P2=0x0DF; /* Baca data P3, keluarkan ke P1 */ P1=P3; }

void main() { while(1) { led();

11

} // tutup akhir program } Program 1.2. Data dari port 3 ditampilkan ke port 1

Percobaan 1.3 : Increment isi Port 1 dan tampilkan hasilnya ke Port 1 Tujuan : Anda mencoba menambah data pada Port 1 dengan 1 #include void main () { unsigned int cnt1,cnt2; /* Aktifkan LED */ P2=0x0DF; P1=0x00; while (1) { P1 = P1+1; /* delay */ for (cnt1=0;cnt1