Tutorial Microcontroller MCS-51 ATMEL ISP


Microcontroller Kits

Programmer and Target 89s51

Simple Mikrokontroller 89s51 Trainer


Standart
Mikrokontroller 89s51 Trainer

Super Mikrokontroller Trainer 89s51

Dot matrix Trainer
ATMEGA8

All Kits
+
Programmer via USB Port

 

 

Percobaan 12.1. Pengambilan data karakter keyboard PC dan display ke LED

Pada percobaan ini data keyboard PC diinterfacekan ke mikrokontroller dengan menggunaan port P3 bit 2 dan 3. Hasil pengambilan data keyboard selanjutnya ditampilkan pada LED.
Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut:
1. Hubungkan jumper keyboard dua kabel ke rangkaian mikrokontroller bit P3.2 dan bit P3.3.
2. Pasang jumper LED_EN
2. Hubungkan modul keyboard PC PS/2 ke konektor keybaord
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog122a.asm)

 

dispclr equ 00000001b
funcset equ 00111000b
entrmod equ 00000110b
dispon equ 00001100b
KbdData bit P3.2
KbdClock bit INT1;P3.3
DataKeyboard equ 30h
           ;
           org 0h
Forever:
           JB KbdClock,$
           acall ambilKeyboard
           jnc Forever
           Mov P0, Datakeyboard
           clr C
           sjmp Forever
           ;
;============================================
;Subrutine AmbilKeyboard
;Subrutine berikut berfungsi untuk mendeteksi apakah keyboard 
;sedang ditekan atau dilepas. Bila tombol tidak dilepas maka 
;akan menuju pada subrutine ;Kybd_tidakLepas
;dan memberi tanda pada bit C = 0 sehingga bila C = 0 
; maka data tidak akan dicetak
;Bila tombol keyboard dilepas maka data scan code diambil 
;dan dikonversi ke dengan dengan menggunakan 
; look up table serta menandai bit C = 1
;===========================================
AmbilKeyboard:
           acall ambil_scancode
           cjne a,#0F0h,kybd_tidakLepas
           JB KbdClock,$ 
           acall ambil_Scancode
           Setb C
           Acall Konversi_Scancode
           ret
           ;
           Kybd_tidakLepas:
           Clr C
           ret
           ;
;======================================================
;Subrutine Konversi_ScanCode
;Pada subrutine ini digunakan untuk menerjemahkan scan code ke bentuk 
;karakter ; dengan menggunakan look up table. ;====================================================== Konversi_ScanCode: Mov DPTR,#TableKeyboard movc A,@A+DPTR mov DataKeyboard,A ret ; Ambil_scanCode: clr A Jnb KbdClock,$ mov R0,#08h Ambil_ScanCode2: Jb KbdClock,$ Mov C,KbdData Rr A mov acc.7,C Jnb KbdClock,$ Djnz R0,Ambil_ScanCode2 Jb KbdClock,$ Jnb KbdClock,$ Jb KbdClock,$ Jnb KbdClock,$ ret ; delay: mov R5,#0 delay1:mov R4,#02fh djnz R4,$ djnz R5,delay1 ret ; TableKeyboard: DB 00 DB 0F9H DB 00 DB 0F5H,0F3H,0F1H,0F2H,0FCH DB 00H DB 0FAH,0F8H,0F6H,0F4H DB 0C0H DB '~' DB 00H DB 00H DB 0C1H DB 0C2H DB 00H DB 0C3H DB 'Q1' DB 00H,00H,00H DB 'ZSAW2' DB 00H,00H DB 'CXDE43' DB 00H,00H DB ' VFTR5' DB 00H,00H DB 'NBHGY6' DB 00H,00H,00H DB 'MJU78' DB 00H,00H DB ',KIO09' DB 00H,00H DB './L;P-' DB 00H,00H,00H DB 27H DB 00H DB '[=' DB 00H,00H DB 0C5H DB 0C6H DB 0AH DB ']' DB 00H DB '\' DB 00H,00H,00H,00H,00H,00H,00H,00H DB 08H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 0DH DB 00H DB 0FBH DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 0F7H
;
end

7. Simpanlah program yang anda ketik dan beri nama : prog122a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan pengamatan untuk data keyboard yang ditampilkan.

 

BACK NEXT

Komentar, pertanyaan dan diskusi tentang topik tersebut. Klik disini

 

 

PERCOBAAN 1
LED

PERCOBAAN 2
SAKLAR

PERCOBAAN 3
7 Segmen

PERCOBAAN 4
LCD Character

PERCOBAAN 5
ADC

PERCOBAAN 6
DAC

PERCOBAAN 7
Keypad

PERCOBAAN 8
Motor Stepper

PERCOBAAN 9
Timer Counter

PERCOBAAN 10
Komunikasi Serial

PERCOBAAN 11
Interupsi

PERCOBAAN 12
Keyboard PC

PERCOBAAN 13
Printer Dot Matr.

PERCOBAAN 14
RTC12C887

PERCOBAAN 15
P W M

APLIKASI