Keypad Segment

download Keypad Segment

of 19

Transcript of Keypad Segment

  • 7/25/2019 Keypad Segment

    1/19

    PirantiPiranti Input/OutputInput/Output

    3x 4 Keypad & Seven3x 4 Keypad & Seven--SegmentSegment

    Faozan AhmadFaozan Ahmad

    [email protected]@ipb.ac.idDepartemen FisikaDepartemen Fisika

    InstitutInstitut PertanianPertanian BogorBogor

    mailto:[email protected]:[email protected]:[email protected]
  • 7/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