Post on 28-Feb-2018
7/25/2019 Keypad Segment
1/19
PirantiPiranti Input/OutputInput/Output
3x 4 Keypad & Seven3x 4 Keypad & Seven--SegmentSegment
Faozan AhmadFaozan Ahmad
faozan@ipb.ac.idfaozan@ipb.ac.idDepartemen FisikaDepartemen Fisika
InstitutInstitut PertanianPertanian BogorBogor
mailto:faozan@ipb.ac.idmailto:faozan@ipb.ac.idmailto:faozan@ipb.ac.id7/25/2019 Keypad Segment
2/19
I/O DeviceI/O Device
3 x 4 Keypad Seven-Segment
7/25/2019 Keypad Segment
3/19
3 X 4 Keypad3 X 4 Keypad
7/25/2019 Keypad Segment
4/19
RangkainRangkain KeypadKeypad
7/25/2019 Keypad Segment
5/19
CaraCara KerjaKerja (Cont(Contd)d)
UntukUntuk mendeteksimendeteksi tomboltombol manamana yangyang ditekanditekan,, makamakamikrokontrolermikrokontrolerakanakan membacamembaca bit 0 yangbit 0 yang diterimaditerima didi P2,P2,
karenakarena padapada keadaankeadaan normalnormal semuasemua port parallelport parallel daridarimikrokontrolermikrokontrolerberlogikaberlogika 11 atauatau terhubungterhubung keke VCC.VCC.
MudahnyaMudahnya kitakita sebutsebut sajasaja bitbit kolomkolom sebagaisebagai outputoutput
scannerscanneryangyang akanakan memilihmemilih kolomkolom dimanadimana tomboltombol diditekantekan,, sedangkansedangkan bitbit barisbaris kitakita sebutsebut sebagaisebagai inputinputscannerscanneryangyang akanakan menentukanmenentukan tomboltombol manamana yangyangditekanditekan..
MisalMisal: agar: agar tomboltombol 99 terbacaterbaca,, makamaka kitakita perluperlu berikanberikanlogikalogika nolnol padapada P2.4(K3),P2.4(K3), sehinggasehingga ketikaketika tomboltombol 99ditekanditekan makamaka P2.5(B3)P2.5(B3) akanakan berlogikaberlogika nolnoljugajuga,, karenakarena
tomboltombol 99 akanakan menghubungkanmenghubungkan P2.4P2.4 dengandengan P2.5.P2.5.ProsesProses selanjutnyaselanjutnya tinggaltinggal penterjemahanpenterjemahan oleholeh programprogrammisalnyamisalnya:: jikajika P2.5 =0,P2.5 =0, makamaka berartiberarti 99..
7/25/2019 Keypad Segment
6/19
CaraCara KerjaKerja
STEP 1STEP 1 : C1 = 0 ; C2: C1 = 0 ; C2--C3 = 1 (C3 = 1 (BerikanBerikan logiklogik 00 keke colcol 11 dandan col2col2--33 diberidiberi logikalogika 11))Tanya,Tanya,ApakahApakah Common=Common=00??JikaJika R1=0R1=0 makamaka data = 1data = 1
JikaJika R2=0R2=0 makamaka data = 4data = 4JikaJika R3=0R3=0 makamaka data = 7data = 7JikaJika R4=0R4=0 makamaka data = *data = *
STEP 2STEP 2 :C2 = 0 ; C1,C3 = 1:C2 = 0 ; C1,C3 = 1Tanya,Tanya,ApakahApakah Common=Common=00??
JikaJika R1=0R1=0 makamaka data = 2data = 2JikaJika R2=0R2=0 makamaka data = 5data = 5JikaJika R3=0R3=0 makamaka data = 8data = 8JikaJika R4=0R4=0 makamaka data = 0data = 0
STEP 3STEP 3 :C3 = 0 ; C1,C2 = 1:C3 = 0 ; C1,C2 = 1Tanya,Tanya,ApakahApakah Common=Common=00??JikaJika R1=0R1=0 makamaka data = 3data = 3JikaJika R2=0R2=0 makamaka data = 6data = 6JikaJika R3=0R3=0 makamaka data = 9data = 9JikaJika R4=0R4=0 makamaka data = #data = #
Data yangData yang diisidiisi dapatdapat berupaberupa registerregister atauatauAccumulator.Accumulator.
7/25/2019 Keypad Segment
7/19
ORG 0HORG 0H
MULAI:MULAI:
MOV P2,#11111011BMOV P2,#11111011B ;; BuatBuat P2.2=0 (P2.2=0 (UntukUntuk BacaBaca TombolTombol 1,4,7,#)1,4,7,#)JB P2.3,KEY1JB P2.3,KEY1 ;; ApakahApakah tomboltombol '#' (P2.3)'#' (P2.3) ditekanditekan (P2.3=0)(P2.3=0)MOV P0,#01111111BMOV P0,#01111111B ;; YaYa !! aktifkanaktifkan 77--segment palingsegment paling kiri(LSBkiri(LSB))MOV P1,#01111111BMOV P1,#01111111B ;; KeluarkanKeluarkan KodeKode HurufHuruf'dot''dot' KeKe Port 1Port 1SJMP MULAISJMP MULAI ;; UlangiUlangi lagilagi daridari awalawal
KEY1:KEY1:JB P2.5,KEY2JB P2.5,KEY2 ;; ApakahApakah tomboltombol '7' (P3.6)'7' (P3.6) ditekanditekan (P3.6=0)(P3.6=0)
;;TidakTidak!! cekcek tomboltombol lainlain didi KEY2KEY2MOV P0,#01111111BMOV P0,#01111111B ;; YaYa !! aktifkanaktifkan 77--segment palingsegment paling kiri(LSBkiri(LSB))MOV P1,#11111000BMOV P1,#11111000B ;; KeluarkanKeluarkan kodekode hurufhuruf'7''7' keke port 0port 0SJMP MULAISJMP MULAI ;; UlangiUlangi lagilagi daridari awalawal
KEY2:KEY2:JB P2.6,KEY3JB P2.6,KEY3 ;; ApakahApakah tomboltombol '4' (P3.5)'4' (P3.5) ditekanditekan (P3.5=0)(P3.5=0)
;; TidakTidak!! cekcek tomboltombol lainlain didi KEY3KEY3MOV P0,#01111111BMOV P0,#01111111B ;; yaya !! aktifkanaktifkan 77--segment palingsegment paling kirikiriMOV P1,#10011001BMOV P1,#10011001B ;; YaYa!! KeluarkanKeluarkan kodekode hurufhuruf'4''4' keke port 0port 0SJMP MULAISJMP MULAI ;; UlangiUlangi lagilagi daridari awalawal
KEY3:KEY3:
JB P2.1,KEY4JB P2.1,KEY4 ;; ApakahApakah tomboltombol '1' (P3.4)'1' (P3.4) ditekanditekan (P3.4=0)(P3.4=0);; TidakTidak!! cekcek tomboltombol lainlain didi KEY4KEY4
MOV P0,#01111111BMOV P0,#01111111B ;; yaya !! aktifkanaktifkan 77--segment palingsegment paling kirikiriMOV P1,#11111001BMOV P1,#11111001B ;; KeluarkanKeluarkan kodekode hurufhuruf'A''A' keke port 0port 0
SJMP MULAISJMP MULAI ;; UlangiUlangi lagilagi daridari awalawal
7/25/2019 Keypad Segment
8/19
Seven SegmentSeven Segment
7/25/2019 Keypad Segment
9/19
TabelTabel formasiformasi SevenSeven--SegmentSegment
7/25/2019 Keypad Segment
10/19
SevenSeven--SegmentSegment
abcdefg
DpCom
U?
7SEG
EA/VP31
X1 19
X2 18
RESET 9
P37/RD 17
P36/WR 16
P32/INT0 12
P33/INT1 13
P34/T0 14
P35/T1 15
P10 1P11
2
P12 3
P13 4
P14 5
P15 6
P16 7
P17 8
P0039P01
38
P0237
P0336
P0435
P0534
P0633
P0732
P2021P21
22
P2223
P2324
P2425
P2526
P2627
P2728
PSEN29
ALE/P30
P31/TXD 11P30/RXD 10
VCC
40
GND
20 89C51
U?
CRYSTAL
10K1uF
VCC
VCC
VCC
VCC
10k
VCC
7/25/2019 Keypad Segment
11/19
ContohContoh ProgramProgram
$$Delay.ASMDelay.ASMStart:Start:
ClrClrP0.0P0.0 ;;MengaktifkanMengaktifkan Common SegmentCommon SegmentLoop:Loop:MovMov P1,#05hP1,#05h ;; MenampilkanMenampilkanAngkaAngka 00
AcallAcall Long_DelayLong_Delay
MovMov P1,#9FhP1,#9Fh ;; MenampilkanMenampilkanAngkaAngka 11AcallAcall Long_DelayLong_DelayMovMov P1,#23hP1,#23h ;; MenampilkanMenampilkanAngkaAngka 22
AcallAcall Long_DelayLong_Delay
MovMov P1,#0BhP1,#0Bh ;; MenampilkanMenampilkanAngkaAngka 33AcallAcall Long_DelayLong_DelayMovMov P1,#99hP1,#99h ;; MenampilkanMenampilkanAngkaAngka 44
AcallAcall Long_DelayLong_Delay
JmpJmp LoopLoopEndEnd
7/25/2019 Keypad Segment
12/19
MetodeMetode ScanningScanning SebagaiSebagai
PenggerakPenggerak PenampilPenampil 77--segmentsegment
7/25/2019 Keypad Segment
13/19
8xSeven8xSeven--SegmentSegment
Rangkaian saklar pemilih 7-segment
7/25/2019 Keypad Segment
14/19
CaraCara KerjaKerja
IntiInti daridari rangkaianrangkaian penggerakpenggerak 8x78x7--segmentsegment adalahadalahbagaimanabagaimana caracara menghidupkanmenghidupkan 88 buahbuah 77--segmentsegment
secarasecara hampirhampirbersamaanbersamaan PadahalPadahal yangyang kitakita tahutahu mikrocontrollermikrocontrolleryangyang kitakita
gunakangunakan hanyahanya memilikimemiliki 4 port parallel4 port parallel sehinggasehingga hanyahanya
4x74x7--segmentsegment sajasaja yangyang dapatdapat dihubungkandihubungkan.. TeknikTeknik ScanningScanning membutuhkanmembutuhkan 2 port2 port
Port 1Port 1 digunakandigunakan untukuntuk mengirimkanmengirimkan datadata karakterkarakteryangyangakanakan ditampilkanditampilkan
sedangkansedangkan port 0port 0 digunakandigunakan untukuntuk menghubungkanmenghubungkanantaraantara VccVcc dengandengan CACA padapada 77--segment, yangsegment, yang berfungsiberfungsiuntukuntuk memilihmemilih 77--segmensegmen manamana yangyang akanakan diaktifkandiaktifkan
7/25/2019 Keypad Segment
15/19
KombinasiKombinasi bit P0bit P0 dengandengan 77--
Segment yangSegment yang aktifaktif..
7/25/2019 Keypad Segment
16/19
ContohContoh ProgramProgram
ORGORG 0H0H
MULAI:MULAI:
MOVMOV DPTR,#KamarDPTR,#Kamar
MOVMOV R6,#08HR6,#08HMOVMOV R1,#7FHR1,#7FH
ULANG:ULANG: CLRCLR AA
MOVCMOVCA,@A+DPTRA,@A+DPTR
INCINC DPTRDPTR
MOVMOV P1,AP1,A
MOVMOV A,R1A,R1MOVMOV P0,AP0,A
RRRR AA
MOVMOV R1,AR1,A
MOVMOV R2,#0FFHR2,#0FFH
DELAY: DJNZ R2,DELAYDELAY: DJNZ R2,DELAY
MOVMOV P1,#0FFHP1,#0FFHDJNZDJNZ R6,ULANGR6,ULANG
JMPJMP MULAIMULAI
KamarKamar:: DB 0FDH,062H,0C0H,01H,0F9H,099H,0F9H,0FDHDB 0FDH,062H,0C0H,01H,0F9H,099H,0F9H,0FDH
ENDEND
7/25/2019 Keypad Segment
17/19
7/25/2019 Keypad Segment
18/19
EEPROM WriterEEPROM Writer
7/25/2019 Keypad Segment
19/19