Senin, 11 Februari 2008

Percobaan 3.4. Setting Up/ Dn dan Enter dengan Display ke 7 Segmen.

Pada percobaan ini, akan dibuat suatu simulasi setting UP (P2.1)/ DN (P2.2) dan penekanan tombol Enter (P2.0), dan di displaykan ke display 7 Segmen. Data display akan bertambah dari 00 s/d 99 atau berkurang dari 99 s/d 00, sesuai dengan penekanan pada tombol UP/ DN.Bila ditekan tombol Enter, maka tombol UP/ DN tidak akan berfungsi lagi.

Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut:
1. Hubungkan jumper 7Segmen_EN, untuk mengaktifkan Decoder 74LS138
2. Hubungkan modul Microcontroller Trainer dengan power supply +5V
3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program (download file prog34a.asm)

Gambar 3.5. Diagram alir percobaan 3.4.

5. Ketik program berikut ini:

Org 0h
ratusan equ 30h
puluhan equ 31h
satuan equ 32h
;
start:
mov R7,#1 ;inisialisasi data setting
Setup: mov A,R7 ;simpan data R7 ke A
call bin2dec
call display2sevensegmen
jnb p2.0,getout ;bila sw1(P2.0) ditekan mk getout(selesai)
jb P2.1,SetDn ;bila sw2(P2.1) ditekan mk INC R7
inc R7 ;R7:=R7+1
acall delay ;waktu tunda lama penekanan tombol
cjne R7,#100d,setup;deteksi apakah setting=100d
mov R7,#1 ;reset R7 -> 1
sjmp Setup
;
SetDn: Mov A,R7 ;simpan data R7 ke A
call bin2dec
call display2sevensegmen
jnb P2.0,getout ;bila sw1(P2.0) ditekan mk getout(selesai)
jb p2.2,Setup ;bila sw2(P2.1) ditekan mk INC R7
dec R7 ;R7:=R7-1
acall delay ;waktu tunda lama penekanan tombol
cjne R7,#0d,setDn;deteksi apakah setting=0d
mov R7,#99d ;reset R7 -> 99
sjmp Setdn
getout: sjmp getout
;
Display2SevenSegmen:
mov A,puluhan
mov DPTR,#Data7segmen
movc A,@A+DPTR
mov P0,A
clr P3.5 ;
Setb P3.6
Setb P3.7
call delay
;
mov A,satuan
mov DPTR,#Data7segmen
movc A,@A+DPTR
mov P0,A
Setb P3.5 ;
Setb P3.6
Setb P3.7
call delay
ret
;
Bin2Dec:
mov b,#100d
div ab
mov ratusan,a
mov a,b
mov b,#10d
div ab
mov puluhan,a
mov satuan,b
ret
;
delay: mov R0,#0
delay1:mov R2,#0fh
djnz R2,$
djnz R0,delay1
ret
;
Data7segmen:
db 11000000b,11111001b,10100100b,10110000b,10011001b
db 10010010b,10000010b,11111000b,10000000b,10010000b
end

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

Tidak ada komentar: