DT-51 Application Note

dokumen-dokumen yang mirip
DT-BASIC Application Note

DT-AVR Application Note

DT-51 Application Note

DT-SENSE Application Note

Gambar 1 Blok Diagram AN72. (a) (b) (c) Gambar 2 SPC Seven Segment (a), DT-51 Low Cost Micro System (b), dan DT-51 Low Cost Nano System (c)

DT-51 Application Note

DT-BASIC Application Note

DT-AVR Application Note

DT-AVR Application Note

DT-BASIC Mini System. Gambar 1 Blok Diagram AN132

DT-51 Application Note

DT-BASIC Application Note

DT-51 Application Note

DT-AVR Application Note. Gambar 1 Blok Diagram AN133

2. SPESIFIKASI EKSTERNAL SPC KEYMATIC

SureLink A. Gambar 1 Blok Diagram AN63

DT-51 Application Note

DT-AVR Application Note

DT-IO Application Note

DT-51 Application Note

DT-AVR Application Note

de KITS Application Note AN51 How 2 Use de KITS SPC Character LCD w/ PC

DT-SENSE Application Note

DT-BASIC Application Note

asic Application Note AN97 BASIC Chatting

Akses SD Card & FRAM Menggunakan MCS-51. Oleh: Tim IE

DT-51 Application Note

DT-51Application Note

DT-AVR Application Note

DT-51 Application Note

AVR Application Note AN95 Wireless Chatting with PC

GPS Starter Kit Application Note AN GPS - GPS Navigator. Oleh: Tim IE

de KITS Application Note AN44 - Morse Code Generator

SPC SPC. SPC Application Note AN175 Bluetooth Mobile Robot. Application Note AN175

DT-SENSE. UltraSonic Ranger (USR)

DT-SENSE. Temperature & Humidity Sensor

DT-SENSE. Humidity Sensor

DT-SENSE. Barometric Pressure & Temperature Sensor

Akses SD Card & FRAM Menggunakan AVR. Oleh: Tim IE

DT-51 Application Note

DT-SENSE Color Sensor Q uick S tart

PC-Link Application Note

a b c Gambar 1 DT-BASIC Nano System (a), DT-BASIC Micro System (b), DT-BASIC Mini System (c), de KITS Phone Interface ver 2.0 (d)

DT-AVR Application Note

DT-I/O. DT-I/O Application Note

KEYMATIC. Smart Peripheral Controller

DT-SENSE. Temperature Sensor

de KITS Application Note AN29 Sistem Antrian dengan DT-51 MinSys & de KITS SPC Alphanumeric Display

SPC Application Note. SPC Blue-Link (J2) Tabel 1 Hubungan SPC Blue-Link Dengan Komputer

SPC Application Note. SPC IR Transceiver. Gambar 1 Blok Diagram AN159. RX (PORTD.0 J13 pin3 / J4 pin2)

DT-AVR Application Note

DT-I/O DT-I/O. Application Note. Application Note AN193

DT-SENSE. Flame Detector

PC-Link Application Note

a b c Gambar 1 DT-BASIC Nano System (a), DT-BASIC Micro System (b), DT-BASIC Mini System (c), de KITS SPC Seven Segment Display (d)

DT-SENSE Application Note

DT-AVR Application Note. AN186 Digital Compass

DT-AVR Application Note AN191 SMS Gateway dengan GSM STARTER KIT

PC-Link Application Note

de KITS Application Note AN30 Rotating Display with DT-51 MinSys & de KITS SPC DC Motor

DT-I/O DT-I/O. Application Note AN171

DT-AVR Low Cost Micro System. Gambar 1 Blok Diagram AN154. RXD (J13 Pin 3) TXD (J8 Pin 4) GND (J10/J11/J12/J13 Pin 1) GND (J7/J8 Pin 1)

DT-SENSE. IR Proximity Detector

DT-I/O. I/O Application Notes AN164 Komunikasi Jarak Jauh antara 2 PC dengan RS-485. Application Note AN164

PC-Link Application Note

DT-51 Application Note

DT-SENSE Application Note AN168 Color Game. Gambar 1 Blok Diagram AN168

Application Note. Oleh: Tim Digiware dan Hadid T.B. - Sihmanto - Idam F.R. (Institut Teknologi Sepuluh Nopember)

DHT11 Temperature and Humidity Sensor Board Gambar 1 Blok Diagram AN196. 5V (Power) GND (Power)

DT-SENSE. Color Sensor

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

DT-AVR Application Note

de KITS Application Note AN20 - How 2 Use de KITS SPC Alphanumeric Display with StarTech PPI Card

DT-SENSE. Photoreflector

DT-SENSE. UltraSonic and InfraRed Ranger (USIRR)

DT-51 Application Note

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

PC-Link. 1x Komputer / Laptop dengan OS Windows 2000, Windows XP atau yang lebih tinggi. Gambar 1 Blok Diagram AN200

DT-AVR Application Note

DT-I/O. Application Note AN211. Komunikasi data saat ini terus dikembangkan dan diimplementasikan di dalam setiap bidang, seperti proses

DT-AVR Application Note Monitoring Suhu Nirkabel (Bahasa BASIC)

Starter Kit Application Note AN165 - Update Tampilan Character LCD Berbasis USB Flash Disk

PC-Link. Gambar 1 Blok Diagram AN201. AGND (J3 pin 1) Pin 1 VCC (J3 pin 2) Pin 3 Dapat dipilih salah satu dari A0 s.d. A7 (J3 pin 3 s.d.

Gambar 1 Blok Diagram AN190. P1.0 (J3 pin 3) IN1 (J1 pin3) Tabel 1 Hubungan antar PC-Link Serial PPI dan DT-I/O Quad Relay Board12V

DT-51 Application Note

DT-AVR Low Cost Nano System. Gambar 1 Blok Diagram Remote TV Berbasis ATtiny2313. DT-I/O I/O Logic Tester

DT-SENSE. Photoreflector ver. 2.0

PC-Link Application Note

DT-AVR. Application Note AN214

de KITS Application Note AN34 Jam Pasir Digital

BAB III METODE PENELITIAN. oleh karenanya akan dibuat seperti pada Gambar 3.1.

Application Note. Adapun blok diagram secara keseluruhan adalah sebagai berikut: AN156 Touch Screen Panel Graphic LCD 320 x 240

DT-AVR Application Note

DT-AVR Application Note

EMS Application Note. 1x Kabel USB 1x Komputer (Memiliki wireless adapter, serta wireless network melalui router atau program Connectify)

Perancangan Serial Stepper

de KITS Application Note AN45 Type Another Way

Smart Peripheral Controller ALPHANUMERIC DISPLAY

DT-AVR Application Note

Wireless Gamepad Interface

Transkripsi:

DT-51 DT-51 Application Note AN136 Type With SPC Keymatic Oleh: Tim IE Aplikasi berikut memberikan contoh sederhana mengenai penggunaan modul DT-51 dengan bahasa pemrograman C (µc/51, Wickenhäeuser). DT-51 Low Cost Micro System akan membaca data keyboard dan keypad yang sudah diterjemahkan oleh SPC Keymatic dan mengirimkan data tersebut ke komputer untuk ditampilkan melalui program Terminal. Kedua modul tersebut dihubungkan dengan antarmuka paralel maupun antarmuka I²C, kedua antarmuka ini didukung penuh oleh modul SPC Keymatic. AN Ini merupakan suatu contoh sederhana penggunaan DT-51 Low Cost Micro System untuk membaca penekanan tombol keypad maupun keyboard melalui SPC Keymatic dengan pemrograman berbahasa C. Komponen yang diperlukan: - 1 buah DT-51 Low Cost Micro System / Low Cost Nano System, - 1 buah SPC Keymatic, - 1 buah Keypad matriks 4x4 (16 tombol), - 1 buah Keyboard PS/2. Adapun blok diagram sistem secara keseluruhan adalah sebagai berikut: Keypad matriks 4x4 (16 tombol) Komputer DT-51 Low Cost Micro System / Low Cost Nano System SPC Keymatic Keyboard PS/2 Gambar 1 Blok Diagram AN136 Hubungan antara modul-modul tersebut adalah sebagai berikut: DT-51 Low Cost Micro System / Low Cost Nano System SPC Keymatic GND (J10/J5) GND (J5) VOUT (J10/J5) +5V (J5) P1.0* (pin 3 - J4/J6) Data bit 0 (pin 3 - J4) P1.1* (pin 4 - J4/J6) Data bit 1 (pin 4 - J4) P1.2* (pin 5 - J4/J6) Data bit 2 (pin 5 - J4) P1.3* (pin6 - J4/J6) Data bit 3 (pin 6 - J4) P1.4* (pin 7 - J4/J6) RD (pin 1 - J4) P3.2* (pin 5 - J6/J7) INT (pin 2 - J4) * pin ini tidak mutlak dan dapat diganti pin lain dengan cara mengubah program Tabel 1 Hubungan DT-51 Low Cost Micro System / Low Cost Nano System dengan SPC Keymatic Secara Paralel Page 1 of 6

DT-51 Low Cost Micro System / Low Cost Nano System GND (J10/J5) VOUT (J10/J5) P3.4* (pin 7 - J6/J7) P3.5* (pin 8 - J6/J7) P3.2* (pin 5 - J6/J7) SPC Keymatic GND (J5) +5VDC (J5) SDA (J1) SCL (J1) INT (J1) * pin ini tidak mutlak dan dapat diganti pin lain dengan cara mengubah program Tabel 2 Hubungan DT-51 Low Cost Micro System / Low Cost Nano System Dengan SPC Keymatic Secara I²C Hubungkan konektor PS/2 (male) keyboard ke konektor J8 (PS/2 female) pada SPC Keymatic, serta hubungkan juga keypad matriks 4x4 pada konektor J7. Keterangan lebih lanjut tentang susunan tombol keypad dan cara menghubungkannya ke SPC Keymatic dapat dibaca pada buku Manual SPC Keymatic. Pasang semua jumper pada pin Addr. A0-A1 (J3) serta semua jumper pada pin SCL/SDA (J2). Alamat I²C untuk modul SPC Keymatic pada contoh program aplikasi ini adalah E8H. Gunakan kabel serial DT-51 Low Cost series (RJ11 ke DB9) untuk menghubungkan modul DT-51 Low Cost series ke komputer. Kabel ini digunakan sebagai jalur komunikasi data serial antara DT-51 Low Cost series dengan komputer. Aturlah konfigurasi serial UART pada baud rate 9600 bps, 8 bit data, tanpa bit parity, 1 bit stop, dan tanpa flow control. Setelah semua rangkaian dan sumber tegangan terhubung dengan benar, programlah PROGRAM.HEX pada direktori Program_PARALEL (untuk komunikasi secara paralel) atau pada direktori Program_I2C (untuk komunikasi secara I²C) ke DT-51 Low Cost Micro System dengan bantuan DT-HiQ AT89S In System Programmer. Jika menggunakan DT-51 Low Cost Nano System maka pemrogramannya dapat menggunakan DT-51 ProgPAL + DT-51 MinSys. Catatan: untuk antarmuka paralel, SPC Keymatic hanya bisa membaca input dari tombol keypad dan tidak bisa membaca input dari tombol keyboard. Flowchart program untuk komunikasi secara PARALEL adalah sebagai berikut: START INT0 Deklarasi Variabel Inisialisasi port I/O & port Serial Inisialisasi INT0 (IT0=0, IE=81H) ENDLESS LOOP RD = 0 Delay ±300µs Baca data keypad dan simpan pada variabel K8_Data RD = 1 Delay ±200µs Kirimkan data keypad (variabel K8_Data) ke komputer RETURN Gambar 2 Flowchart Program Untuk Pengambilan Data Keypad Dengan Metode Interrupt Page 2 of 6

START Deklarasi Variabel Inisialisasi port I/O & port Serial Tidak INT = 0? Ya RD = 0 Delay ±300µs Ambil data keypad dan simpan pada variabel K8_Data RD = 1 Delay ±300µs Kirimkan data keypad (variabel K8_Data) ke komputer Gambar 3 Flowchart Program Untuk Pengambilan Data Keypad Dengan Metode Pooling Program utama (komunikasi secara PARALEL) akan diproses sebagai berikut: 1. Proses yang pertama kali dilakukan adalah deklarasi variabel, inisialisasi pin RD sebagai output dengan nilai logika awal 1, dan inisialisasi port komunikasi serial UART pada baud rate 9600 bps, 8 bit data, tanpa bit parity, 1 bit stop, dan tanpa flow control. 2. Setelah proses inisialisasi selesai, berikutnya program akan memilih sumber interrupt eksternal 0 dan mengatur agar interupsi aktif pada saat pin INT0 (P3.2) mendapat logika 0. 3. Kemudian program akan mengaktifkan sumber interrupt eksternal 0 sekaligus global interrupt. Setelah itu program akan mengeksekusi proses perulangan tanpa akhir. 4. Jika terjadi interrupt eksternal 0 (pin INT0 berlogika 0 ) maka program akan mengerjakan subrutin yang terdapat pada Interrupt Service Routine (ISR) External 0. Proses dalam ISR External 0 tersebut yaitu: a) Pin RD akan diberi logika 0 sebagai sinyal untuk membaca data dari SPC Keymatic. b) Kemudian delay selama kurang lebih 300 mikro detik. c) Setelah itu, program akan membaca data dari SPC Keymatic dan menyimpan hasil pembacaan ke variabel K8_Data. d) Lalu program memberi logika 1 pada pin RD dan berhenti lagi selama kurang lebih 200 mikro detik dengan asumsi logika pada pin INT telah kembali ke logika 1. Kondisi logika 1 pada INT menunjukkan bahwa buffer data pada SPC Keymatic telah dibaca. e) Proses berikutnya adalah mengirimkan kata Tombol keypad = dan variabel K8_Data dalam bentuk desimal dan dalam bentuk heksadesimal untuk ditampilkan pada program Terminal di sisi komputer. f) Setelah proses pengiriman data selesai maka program akan keluar dari ISR External 0 dan kembali ke baris program sebelum terjadi interrupt. Pada program dengan metode pooling, proses nomor 4a hingga 4e terletak di dalam baris program utama. Program akan memeriksa kondisi logika pin INT0, ketika pin INT0 berlogika 0 maka program akan melakukan proses 4a - 4e. Page 3 of 6

Listing program untuk komunikasi secara PARALEL terdapat pada AN136.ZIP (direktori Program_PARALEL ). Flowchart program untuk komunikasi secara I²C adalah sebagai berikut: START INT0 Delay 1000 ms Inisialisasi port UART Inisialisasi SPC Keymatic (antarmuka I²C, input dari keyboard & keypad) Inisialisasi fungsi INT0 ( IT0=0, IE=81H) Ambil data keyboard / keypad dan simpan pada variabel K8_Data Ambil status keyboard / keypad dan simpan pada variabel K8_Status Kirimkan nilai data dan status keyboard / keypad ke komputer ENDLESS LOOP RETURN Gambar 4 Flowchart Program Untuk Pengambilan Data Keypad Dan Keyboard Dengan Metode Interrupt START Delay 1000 ms Inisialisasi port UART Inisialisasi SPC Keymatic (antarmuka I²C, input dari keyboard & keypad) Tidak INT = 0? Ya Ambil data keyboard / keypad dan disimpan pada variabel K8_Data Ambil status keyboard / keypad dan simpan pada variabel K8_Status Kirimkan nilai data dan status keyboard / keypad ke komputer Gambar 5 Flowchart Program Untuk Pengambilan Data Keypad dan Keyboard Dengan Metode Pooling Page 4 of 6

Program utama dengan komunikasi secara I²C akan diproses sebagai berikut: 1. Proses yang pertama kali dilakukan adalah menentukan definisi pin I/O SDA & SCL untuk komunikasi serial I²C, serta definisi pin input INT untuk menerima sinyal interupsi dari SPC Keymatic (akan berlogika 0 jika ada tombol yang ditekan). Lalu program melakukan deklarasi konstanta untuk alamat SPC Keymatic yaitu E8H, dan program akan berhenti selama 1000 mili detik. 2. Proses selanjutnya adalah inisialisasi komunikasi serial UART pada baud rate 9600 bps, 8 bit data, tanpa bit parity, 1 bit stop dan tanpa flow control. 3. Setelah itu program mengirimkan nilai K8_Mode sebesar 03H ke SPC Keymatic yang mempunyai arti input SPC Keymatic berasal dari keypad & keyboard dan antarmuka yang digunakan adalah I²C. Pengiriman nilai K8_Mode dilakukan dengan menggunakan prosedur K8_SetMode. 4. Setelah pengiriman nilai K8_Mode selesai, program akan mengatur mode interrupt eksternal 0 sebagai low level interrupt. Kemudian mengaktifkan global interrupt dan interrupt eksternal 0 secara bersamaan yaitu mengisi register IE dengan nilai 81H. 5. Setelah itu program akan mengeksekusi proses perulangan tanpa akhir. Jika terjadi interupsi pada interrupt eksternal 0 (pin INT0 berlogika 0 ) maka program akan mengeksekusi ISR External 0, yaitu: Program akan mengambil data dari SPC Keymatic dengan menggunakan prosedur K8_GetData dan hasil pembacaan disimpan pada variabel K8_Data. Proses yang sama dilakukan untuk mengambil status keyboard dengan menggunakan prosedur K8_GetStatus dan nilainya disimpan pada variabel K8_Status. Proses berikutnya adalah program membandingkan nilai K8_Data. Ada 3 kategori pengelompokan nilai K8_Data yang digunakan dalam contoh ini, masing-masing akan menampilkan hasil yang berbeda pada program Terminal di sisi komputer. Tiga kategori tersebut yaitu: i. Jika nilai K8_Data kurang dari atau sama dengan 0FH maka program akan menampilkan kata Data keypad = dan menampilkan variabel K8_Data dalam bentuk desimal dan heksadesimal. ii. Jika nilai K8_Data antara 20H sampai 7EH maka program akan menampilkan kata Data keyboard = dan menampilkan variabel K8_Data dalam bentuk desimal, heksadesimal, dan ASCII (sehingga tampil karakter yang ditekan pada keyboard). Kemudian program juga menampilkan kata Status = dan status keyboard sesuai dengan nilai K8_Status, iii. yaitu: Shift, Caps, Num, Scroll, atau tidak ada status. Jika nilai K8_Data selain nilai di atas maka program akan menampilkan kata Data keyboard = dan menampilkan variabel K8_Data dalam bentuk desimal dan heksadesimal ke komputer. Kemudian program juga menampilkan kata Status = dan status keyboard sesuai dengan nilai K8_Status. Setelah menampilkan nilai K8_Data dan K8_Status sesuai dengan kategori nilai K8_Data maka program akan kembali ke program utama. Pada program dengan metode pooling, proses nomor 5 terletak di dalam baris program utama. Program akan memeriksa kondisi logika pin INT0, ketika pin INT0 berlogika 0 maka program akan melakukan proses 5. Listing program untuk komunikasi secara I²C terdapat pada AN136.ZIP (pada direktori Program_I2C ). Pada penjelasan program di atas (komunikasi secara paralel maupun I²C) digunakan fungsi interrupt sehingga pada baris program utama hanya terdapat proses perulangan tanpa akhir. Pada contoh program juga terdapat tambahan baris program untuk proses pemeriksaan kondisi pin INT0 dengan sistem polling (tidak menggunakan fungsi interrupt) yaitu dengan cara selalu memeriksa kondisi pin INT0. Jika menggunakan sistem polling maka ISR External 0 tidak digunakan. Agar program dapat menggunakan sistem polling maka beberapa instruksi pada baris program utama harus ditutup (dijadikan baris komentar). Berikut ini merupakan contoh pengubahan program utama agar dapat menggunakan sistem polling. Program utama untuk komunikasi secara paralel dan menggunakan metoda pooling: void main (void) unsigned char i; RD=1; init232(); //Inisialisasi UART Page 5 of 6

//Memeriksa pin INT dari SPC KEYAMATIC dengan menggunakan Interrupt /*IT0=0; //Low level intterrupt IE=0x81; //Enable global int enable external 0 int. while(1);*/ //Memeriksa pin INT dari SPC KEYAMATIC dengan menggunakan sistem polling while(1) while (INT==0) RD=0; for (i=0; i<150; i++); K8_Data=(P1 & 0x0F); //Ambil Low nibble RD=1; for (i=0; i<150; i++); //Time Last Buffer to INT high printf("tombol keypad = %u = \"%X\"\n",K8_Data,K8_Data); Program utama untuk komunikasi secara I²C dan menggunakan metoda pooling: void main (void) _wait_ms(1000); init232(); //Inisialisasi UART K8_SetMode(ADDR_SPC,0x03); (I2C) //Input Device (0x03) : Keypad & Keyboard //Memeriksa pin INT dari SPC KEYAMATIC dengan menggunakan Interrupt /*IT0=0; //Low level intterrupt IE=0x81; //Enable global int., enable external 0 int. while(1);*/ //Memeriksa pin INT dari SPC KEYAMATIC dengan menggunakan sistem polling while(1) while (INT==0) K8_Data=K8_GetData(ADDR_SPC); //Ambil data K8_Status=K8_GetStatus(ADDR_SPC); //Ambil status print_tombol(k8_data,k8_status); Selamat berinovasi! Terminal is copyright by Bray++. DT-51 is trademark of Innovative Electronics. µc/51 is copyright by Wickenhäuser Elektrotechnik. I 2 C is a registered trademark of Philips Semiconductors. PS/2 is a trademark of International Business Machines Corporation. Page 6 of 6