logo

Select Sidearea

Populate the sidearea with useful widgets. Itโ€™s simple to add images, categories, latest post, social media icon links, tag clouds, and more.
[email protected]
+1234567890
 

Tutorial Microcontroller MCS-51 ATMEL ISP

Tutorial Microcontroller MCS-51 ATMEL ISP


image

Microcontroller Kits

Programmer and Target 89s51
image

Simple Mikrokontroller 89s51 Trainer
image

Standart
Mikrokontroller 89s51 Trainer
image

Super Mikrokontroller Trainer 89s51
image

Dot matrix Trainer
ATMEGA8

image

All Kits

Programmer via USB Port

image

ย 

Percobaan 12.2. Pengambilan data karakter keyboard PC dan display ke LCD Karakter

Pada percobaan ini data keyboard PC diinterfacekan ke mikrokontroller dengan menggunaan port P3 bit 2 dan 3. Hasil pengambilan data keyboard selanjutnya ditampilkan pada layar LCD Karakter.
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. 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 prog121a.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           nop            call init_LCD           ;Forever:           JB KbdClock,$           acall ambilKeyboard           jnc Forever           acall LCD_Out           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           ;write_char:            mov dptr,#word1 ;DPTR = [ address word1 ]           mov r3,#16 ;R3=16,number character to be display           mov r1,#80h ;R1=80h,address DDRAM start position           acall write_inst           ;write1:           clr a ; A = 0           movc a,@a+dptr ; A = [A+ DPTR]           mov r1,A ; R1 = A            inc dptr ; DPTR = DPTR +1            acall write_data;            djnz r3,write1 ; R3 = R3-1,            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 ; LCD_Out: mov R7, #80h acall write_inst mov R7,DataKeyboard acall write_data 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 ;Init_lcd: mov r1,#00000001b ;Display clear acall write_inst ; mov r1,#00111000b ;Function set, Data 8 bit,2 line font 5x7 acall write_inst ; mov r1,#00001100b ;Display on, ;cursor off,cursor blink off acall write_inst mov r1,#00000110b ;Entry mode, Set increment acall write_inst ret ;Write_inst: clr P3.6 ; RS = P2.0 = 0, write mode instruction mov P0,R1 ; D7 s/d D0 = P0 = R1 setb P3.7 ; EN = 1 = P2.1 call delay; call delay time clr P3.7 ; EN = 0 = P2.1 ret ;Write_data: setb P3.6 ; RS = P2.0 = 1, write mode data mov P0,R1 ; D7 s/d D0 = P0 = R1 setb P3.7 ; EN = 1 = P2.1 call delay; call delay time clr p3.7 ; EN = 0 = P2.1 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
word1: DB ' Welcome Home '; here is the data to be            look up           end

7. Simpanlah program yang anda ketik dan beri nama : prog121a.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.
11. Lakukan modifikasi program tersebut untuk menampilkan data keyboard PC lebih dari satu karakter ke LCD karakter.

ย 

BACKNEXT

Komentar, pertanyaan dan diskusi tentang topik tersebut. Klik disini

ย 

ย 

HARDWARE
1.Target
2.Programmer


DASAR TEORI
1.Organisasi Mem
1.1. Mem.Data
1.2. Mem.Prog
1.4. SFR2.Pengalamatan3.Set Instruksi
3.1.Copy Data
3.2.Aritmatika
3.3.Logika
3.4.Lompatan4.Interupsi5.Timer Counter6.Serial Kom.7.Bahasa Assemb.8.Perangkat LunakMIDE dan ISP Soft.

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

ย 

ย 

imageimageimageimage