Tugas Kuliah




1. KONDISI [KEMBALI]

Gambar 39 Rangkaian kontrol suhu ruangan dengan display Dot Matrik

2. KOMPONEN [KEMBALI]
  • Dot Matriks
  • IC 8255A
  • Keypad/Button
  • IC 74LS 138
  • IC 27128
  • IC 8086
  • IC 74LS 273
  • LM335 
  • ADC0804

3. RANGKAIAN [KEMBALI]








4. LISTING PROGRAM [KEMBALI]  

CODE_SEG SEGMENT    

        ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG,ES:CODE_SEG

        ORG 100H  



start: jmp mulai  



porta    equ 00h         

portb    equ 01h         

portc    equ 02h         

cw        equ 03h



port1a   equ 10h         

port1b   equ 11h         

port1c   equ 12h         

cw1       equ 13h



awal    db ?

VAR1    DB ?

VAR2   DW ?

DATA   DB 7EH,09H,09H,09H,7EH,00H  ;A

       DB 7FH,49H,49H,49H,36H,00H  ;B

       DB 3EH,41H,41H,41H,41H,00H  ;C

       DB 7FH,41H,41H,41H,3EH,00H  ;D

       DB 7FH,49H,49H,49H,49H,00H  ;E

       DB 7FH,09H,09H,09H,09H,00H  ;F

       DB 3EH,41H,49H,49H,39H,00H  ;G

       DB 7FH,08H,08H,08H,7FH,00H  ;H

       DB 7FH,00H                   ;I

       DB 00H,30H,41H,41H,3FH,00H  ;J

       DB 7FH,08H,14H,22H,41H,00H  ;K

       DB 7FH,40H,40H,40H,40H,00H  ;L

       DB 7FH,02H,04H,02H,7FH,00H  ;M

       DB 7FH,02H,04H,08H,7FH,00H  ;N

       DB 3EH,41H,41H,41H,3EH,00H  ;O

       DB 7FH,09H,09H,09H,06H,00H  ;P

       DB 3EH,41H,49H,51H,3EH,00H  ;Q

       DB 7FH,09H,19H,29H,46H,00H  ;R

       DB 26H,49H,49H,49H,32H,00H  ;S

       DB 01H,41H,7FH,41H,01H,00H  ;T

       DB 3FH,40H,40H,40H,3FH,00H  ;U

       DB 03H,1CH,60H,1CH,03H,00H  ;V

       DB 7FH,30H,18H,30H,7FH,00H  ;W

       DB 63H,36H,1CH,36H,63H,00H  ;X

       DB 03H,06H,1CH,06H,03H,00H  ;Y

       DB 61H,30H,1CH,06H,16H,00H  ;Z

        DB 00H,00H,00H,00H,00H,00H

        DB 00H,00H,00H,00H,00H,00H

       DB 00H,00H,00H,00H,00H,00H

       DB 00H,00H,00H,00H,00H,00H

       DB 00H,00H,00H,00H,00H,00H

kolom  db ?

data   db ?

data_teks  db ?

data_keypad1    db ?

data_keypad2    db ?

data_keypad3    db ?

ratusan    db ?

puluhan    db ?

satuan  db ?

setting    db 'Setting:

hasil  db ' ADC :

keypad_ke  db ?

status db ?

data_setting    db ?

dataADC    db ?

dataDAC    db ?

akhir   db ?



mulai:

Mov AX, CS   



   Mov DS, AX         

   Xor AX, AX      

        Mov ES, AX    

        Mov SS, AX    

        Lea SI, Awal  

        Lea CX, Akhir   

        Mov DI, SI      

        Sub CX, SI                          

        Cld  

        Rep Movsb

        Mov SP,800h    

        Xor AX,AX  

        Mov DS,AX   



        mov al,82h        ; init ppi

        mov dx,cw       ; pada 80H  MODE = 0

        out dx,al       ; port AC = output, B = input



Tampil:

  CALL huruf

  JMP Tampil



huruf PROC NEAR

       MOV  CX,01H

PUTAR: PUSH CX

       LEA  BX,DATA

       MOV  VAR1,37H

       MOV  VAR2,00H

       DEC  VAR1

LOP1:  MOV  SI,VAR2

       MOV  AH,37H

LOP:   DEC  AH

       DEC  SI

       MOV  DX,PA

       MOV  AL,BYTE PTR[BX+SI]

       OUT  DX,AL

       CALL OUT0

       CALL DELAY



LOP2:  CMP  AH,VAR1

  JNE  LOP



  MOV  SI,VAR2

  INC  VAR2



  MOV  AH,VAR1

  DEC  VAR1

  CMP  VAR1,00H

  JNE  LOP1

  JMP  LOP13

PUTAR1: JMP PUTAR



LOP13: MOV  VAR2,00H

LOP4:  MOV  SI,VAR2

  MOV  VAR1,00H

LOP3:  MOV  DX,PA

  MOV  AL,BYTE PTR[BX+SI]

  OUT  DX,AL

  CALL OUT1

  CALL DELAY



  INC  VAR1

  CMP  SI,90H

  JE   LOP5

  INC  SI

LOP5:  CMP  VAR1,37H

  JNE  LOP3

  MOV  SI,VAR2

  INC  VAR2

  CMP  VAR2,90H

  JNE  LOP4

  CALL DELAY

  MOV  DX,PA

  MOV  AL,00H

  OUT  DX,AL

  CALL DELAY

  POP  CX

  LOOP PUTAR1

  RET

huruf ENDP



OUT1 PROC NEAR

  MOV  DX,PC

  MOV  AH,VAR1

  MOV  AL,AH

  OUT  DX,AL

  RET

OUT1 ENDP



OUT0 PROC NEAR

  MOV  DX,PC

  MOV  AL,AH

  OUT  DX,AL

  RET

OUT0 ENDP



DELAY PROC NEAR

  MOV  CX,10         ; 1ffh

LAGI:  PUSH CX

  MOV  CX,10         ; 18h

  LOOP $

  POP  CX

  LOOP LAGI

  RET

DELAY  ENDP

        ORG 40F0H     

        DB 0EAH      

        DW 0100H     

        DW 0FBF0H    



CODE_SEG ENDS            

        END start 

5. VIDEO [KEMBALI]  



 
6. PRINSIP KERJA [KEMBALI]

Rangkaian sistem ini 8086 yang di inputkankan oleh keypad yang dimana keypad roses scaning untuk membaca penekanan tombol pada matrix keypad 4×4 untuk mikrokontroler diatas dilakukan secara bertahap kolom demi kolom dari kolom pertama sampai kolom ke 4 dan baris pertama hingga baris ke 4. Program untuk scaning matrix keypad 4×4 dapat bermacam-macam, tapi pada intinya sama. Misal kita asumsikan keyapad aktif LOW (semua line kolom dan baris dipasang resistor pull-up) dan dihubungkan ke port mikrokontrolr dengan jalur kolom
Mengirimkan logika Low untuk kolom 1 (Col1) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.
Mengirimkan logika Low untuk kolom 2 (Col2) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.
Mengirimkan logika Low untuk kolom 3 (Col3) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.
Mengirimkan logika Low untuk kolom 4 (Col4) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.
Kemudian data pembacaan baris ini diolah sebagai pembacaan data penekanan tombol keypad. Sehingga tiap tombol pada matrix keypad 4×4 diatas dengan teknik scaning tersebut akan menghasilkan data penekanan tiap-tiap tombol sebagai berikut.
SW1 = 0111 0111 SW9 = 0111 1101
SW2 = 1011 0111 SW10 = 1011 1101
SW3 = 1101 0111 SW11 = 1101 1101
SW4 = 1110 0111 SW12 = 1110 1101
SW5 = 0111 1011 SW13 = 0111 1110
SW6 = 1011 1011 SW14 = 1011 1110
SW7 = 1101 1011 SW15 = 1101 1110
SW8 = 1110 1011 SW16 = 1110 1110
Data port mikrokontroler, misalkan pada SW2 = 1011 0111 tersebut terbagi dalam nible atas dan nible bawah dimana data nible atas (1011) merupakan data yang kita kirimkan sedangkan data nible bawah (0111) adalah data hasil pembacaan penekanan tombol keypad SW2 pada proses scaning matrix keypad 4×4 diatas. 


7. LINK DOWNLOAD [KEMBALI]  

=> Download Rangkaian
=> Download Video
=> Download HTML

Tidak ada komentar:

Posting Komentar