Bài 5 - Ma trận Phím


1. Ma trận phím + 7 Thanh

;chương trình code asm
;Design By Chipkool_online
;SV ĐH Kinh tế - Kỹ Thuật công Nghiệp
ORG 00H
MAIN:
;QUET HANG 1
MOV P3,#11111110B
JNB P3.4,PHIM7
JNB P3.5,PHIM8
JNB P3.6,PHIM9
JNB P3.7,PHIM10

;QUET HANG 2
MOV P3,#11111101B
JNB P3.4,PHIM4
JNB P3.5,PHIM5
JNB P3.6,PHIM6
JNB P3.7,PHIM11

;QUET HANG 3
MOV P3,#11111011B
JNB P3.4,PHIM1
JNB P3.5,PHIM2
JNB P3.6,PHIM3
JNB P3.7,PHIM12

;QUET HANG 4
MOV P3,#11110111B
JNB P3.4,PHIM13
JNB P3.5,PHIM14
JNB P3.6,PHIM15
JNB P3.7,PHIM16
JMP MAIN
PHIM1:
MOV R0,#1
CALL CTHT
LJMP MAIN
PHIM2:
MOV R0,#2
CALL CTHT
LJMP MAIN
PHIM3:
MOV R0,#3
CALL CTHT
LJMP MAIN
PHIM4:
MOV R0,#4
CALL CTHT
LJMP MAIN
PHIM5:
MOV R0,#5
CALL CTHT
LJMP MAIN
PHIM6:
MOV R0,#6
CALL CTHT
LJMP MAIN
PHIM7:
MOV R0,#7
CALL CTHT
LJMP MAIN
PHIM8:
MOV R0,#8
CALL CTHT
LJMP MAIN
PHIM9:
MOV R0,#9
CALL CTHT
LJMP MAIN
PHIM10:
MOV R0,#10
CALL CTHT
LJMP MAIN
PHIM11:
MOV R0,#11
CALL CTHT
LJMP MAIN
PHIM12:
MOV R0,#12
CALL CTHT
LJMP MAIN
PHIM13:
MOV R0,#13
CALL CTHT
LJMP MAIN
PHIM14:
MOV R0,#14
CALL CTHT
LJMP MAIN
PHIM15:
MOV R0,#15
CALL CTHT
LJMP MAIN
PHIM16:
MOV R0,#16
CALL CTHT
LJMP MAIN


CTHT:
MOV R7,#20
QUAY:
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P0,A
SETB P2.0
CALL DELAY
CLR P2.0
MOV A,B
MOVC A,@A+DPTR
MOV P0,A
SETB P2.1
CALL DELAY
CLR P2.1
DJNZ R7,QUAY
RET


MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B,11111000B,10000000B,10010000B

DELAY:

MOV R1,#100
LAP:
NOP
NOP
DJNZ R1,LAP
RET
END


2.Ma trận Phím + Lcd

;P2=data pin
;P3.0 -> RS pin
;P3.1 -> R/W pin
;P3.2 -> E pin
       
;RS      EQU     P3.0
;RW      EQU     P3.1
;E       EQU     P3.2

ORG 00H
MAIN:
;*** chuong trinh khoi tao LCD
  MOV     A,#38H        ;init. LCD 2 dong ma tran 5x7
        ACALL   CSTROBE
        MOV     A,#0EH        ;LCD on, cursor on
        ACALL   CSTROBE
        MOV     A,#01H        ;clear LCD
        ACALL   CSTROBE
     

;QUET HANG 1
MOV P1,#11111110B
JNB P1.4,PHIM1
JNB P1.5,PHIM2
JNB P1.6,PHIM3
JNB P1.7,PHIM4

;QUET HANG 2
MOV P1,#11111101B
JNB P1.4,PHIM5
JNB P1.5,PHIM6
JNB P1.6,PHIM7
JNB P1.7,PHIM8

;QUET HANG 3
MOV P1,#11111011B
JNB P1.4,PHIM9
JNB P1.5,PHIM10
JNB P1.6,PHIM11
JNB P1.7,PHIM12

;QUET HANG 4
MOV P1,#11110111B
JNB P1.4,PHIM13
JNB P1.5,PHIM14
JNB P1.6,PHIM15
JNB P1.7,PHIM16

LJMP MAIN

PHIM1:; hien thi chay chu sang trai
LCALL CTSO1
LJMP MAIN

PHIM2:
LCALL CTSO2
LJMP MAIN

PHIM3:
LCALL CTSO3
LJMP MAIN

PHIM4:
LCALL CTSO4
LJMP MAIN

PHIM5:
LCALL CTSO5
LJMP MAIN

PHIM6:
LCALL CTSO6
LJMP MAIN

PHIM7:
LCALL CTSO7
LJMP MAIN

PHIM8:
LCALL CTSO8
LJMP MAIN

PHIM9:
LCALL CTSO9
LJMP MAIN

PHIM10:
LCALL CTSO10
LJMP MAIN

PHIM11:
LCALL CTSO11
LJMP MAIN

PHIM12:
LCALL CTSO12
LJMP MAIN

PHIM13:
LCALL CTB
LJMP MAIN

PHIM14:
LCALL CTA
LJMP MAIN

PHIM15:

LJMP MAIN

PHIM16:

LJMP MAIN

;***************CHUONG TRINH CON CAC SO 1 - 12
CTSO1:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'1'
LCALL DSTROBE
LCALL DELAY100MS

RET

CTSO2:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'2'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO3:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'3'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO4:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'4'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO5:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'5'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO6:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'6'
LCALL DSTROBE
LCALL DELAY100MS
RET


CTSO7:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'7'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO8:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'8'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO9:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'9'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO10:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'10'
LCALL DSTROBE
LCALL DELAY100MS

RET

CTSO11:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'11'
LCALL DSTROBE
LCALL DELAY100MS
RET

CTSO12:
;Hien dong 1
MOV A,#80H
LCALL CSTROBE
LCALL DELAY100MS
;
MOV A,#'12'
LCALL DSTROBE
LCALL DELAY100MS
RET






;*******************HIEN THI CHAY CHU DHKTKTCN
CTA:
  MOV A,#06H        ; con tro dich phai
        ACALL   CSTROBE
        MOV     A,#80H        ;chuyen Con tro den dong 1 vi tri 0
        ACALL   CSTROBE
        MOV     DPTR,#MYDATA    ;Dua con tro du lieu toi bang
       
DONG1:  CLR     A
        MOVC    A,@A+DPTR
        JZ      THOAT       ;Neu A=0 thi thi thoat
        LCALL   DSTROBE
        INC     DPTR
        SJMP    DONG1

THOAT:
MOV A,#18H
        LCALL   CSTROBE
        LCALL   DELAY100MS
        SJMP    THOAT

RET

; ********************HIEN THI CHU CHIPKOOL - UNETI
CTB:
MOV A,#0C1H; Lenh dong 2
LCALL CSTROBE
LCALL DELAY100MS

MOV R0,#1; LAP 1 LAN HIEN THI 1 LAN
LAP1:

MOV A,#'C'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'H'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'I'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'P'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'K'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'O'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'O'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'L'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'-'
LCALL DSTROBE
LCALL DELAY100MS
; ******************UNETI

MOV A,#'U'
LCALL DSTROBE
LCALL DELAY100MS

;
MOV A,#'N'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'E'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'T'
LCALL DSTROBE
LCALL DELAY100MS
;
MOV A,#'I'
LCALL DSTROBE
LCALL DELAY100MS

;
DJNZ R0,LAP1
CALL DELAY100MS
CALL DELAY100MS
CALL DELAY100MS
RET


; ***********************************BAT DAU CHUONG TRINH CON  LCD*******************    
     

CSTROBE:                      ;command strobe
        ACALL   READY         ;is LCD ready?
        MOV     P2,A          ;xuat ma lenh
        CLR     P3.0            ;RS=0: lenh
        CLR     P3.1            ;R/W=0 -> ghi ra LCD
        SETB    P3.2             ;E=1 -> tao canh xuong
        CLR     P3.2             ;E=0 chot
        RET
DSTROBE:                      ;data strobe
        ACALL   READY         ;is LCD ready?
        MOV     P2,A          ;xuat du lieu
        SETB    P3.0            ;RS=1 for data
        CLR     P3.1            ;R/W=0 to write to LCD
        SETB    P3.2             ;E=1 -> tao canh xuong
        CLR     P3.2             ;E=0 chot
        RET
; kiem tra co BF
READY:  SETB    P2.7          ;P2.7: input
        CLR     P3.0            ;RS=0: thanh ghi lenh
        SETB    P3.1            ;R/W=1: doc
BACK:   CLR     P3.2             ;E=0 -> tao canh lenh
        SETB    P3.2             ;E=1
        JB      P2.7,BACK     ;cho co flag bang 0
        RET

DELAY100MS:
MOV R2,#100
DL5:        MOV R1,#250          
DL4:        NOP
            NOP
            DJNZ R1,DL4
            DJNZ R2,DL5
            RET

        ORG 250H
MYDATA:
        DB  "DAI HOC KINH TE KY THUAT CONG NGHIEP"

        END


3. Ma trận phím + Ma trận led


ORG 00H
MAIN:
;QUET HANG 1
    MOV P0,#11111110B
    JNB P0.4,PHIM1    ;SO 7
    JNB P0.5,PHIM2    ;SO 8
    JNB P0.6,PHIM3    ;SO 9
    JNB P0.7,PHIM4    ;KT CHIA

;QUET HANG 2
    MOV P0,#11111101B
    JNB P0.4,PHIM5    ;SO 4
    JNB P0.5,PHIM6    ;SO 5
    JNB P0.6,PHIM7    ;SO 6
    JNB P0.7,PHIM8    ;KT NHAN

;QUET HANG 3
    MOV P0,#11111011B
    JNB P0.4,PHIM9    ;SO 1
    JNB P0.5,PHIM10    ;SO 2
    JNB P0.6,PHIM11    ;SO 3
    JNB P0.7,PHIM12    ;KT -

;QUET HANG 4
    MOV P0,#11110111B
    JNB P0.4,PHIM13    ; ON
    JNB P0.5,PHIM14    ;SO 0
    JNB P0.6,PHIM15    ;KT =
    JNB P0.7,PHIM16    ;KT +
LJMP MAIN

PHIM1:
    CALL MS1
    LJMP MAIN
PHIM2:
    CALL MS2
    LJMP MAIN
PHIM3:
    CALL MS3
    LJMP MAIN
PHIM4:
    CALL MS4
    LJMP MAIN
PHIM5:
    CALL MS5
    LJMP MAIN
PHIM6:
    CALL MS6
    LJMP MAIN
PHIM7:
    CALL MS7
    LJMP MAIN
PHIM8:
    CALL MS8
    LJMP MAIN
PHIM9:
    CALL MS9
    LJMP MAIN
PHIM10:
    CALL MS10
    LJMP MAIN
PHIM11:
    CALL MS11
    LJMP MAIN
PHIM12:
    CALL MS12
    LJMP MAIN
PHIM13:
    CALL MS13
    LJMP MAIN
PHIM14:
    CALL MS14
    LJMP MAIN
PHIM15:
    CALL MS15
    LJMP MAIN
PHIM16:
    CALL MS16
    LJMP MAIN
MS1:
    MOV DPTR,#MASO1
    CALL CTHT
    RET
MS2:
    MOV DPTR,#MASO2
    CALL CTHT
    RET
MS3:
    MOV DPTR,#MASO3
    CALL CTHT
    RET
MS4:
    MOV DPTR,#MASO4
    CALL CTHT
    RET
MS5:
    MOV DPTR,#MASO5
    CALL CTHT
    RET
MS6:
    MOV DPTR,#MASO6
    CALL CTHT
    RET
MS7:
    MOV DPTR,#MASO7
    CALL CTHT
    RET
MS8:
    MOV DPTR,#MASO8
    CALL CTHT
    RET
MS9:
    MOV DPTR,#MASO9
    CALL CTHT
    RET
MS10:
    MOV DPTR,#MASO10
    CALL CTHT
    RET
MS11:
    MOV DPTR,#MASO11
    CALL CTHT
    RET
MS12:
    MOV DPTR,#MASO12
    CALL CTHT
    RET
MS13:
    MOV DPTR,#MASO13
    CALL CTHT
    RET
MS14:
    MOV DPTR,#MASO14
    CALL CTHT
    RET
MS15:
    MOV DPTR,#MASO15
    CALL CTHT
    RET
MS16:
    MOV DPTR,#MASO16
    CALL CTHT
    RET
CTHT:;CHUONG TRINH HIEN THI
    MOV R2,#20
QUET:
    MOV R0,#0
    MOV R1,#01H
    BACK_1:
    MOV A,R0
    MOVC A,@A+DPTR
    MOV P2,A
    MOV P3,R1
    CALL DELAY
    MOV P3,#00H
    MOV A,R1
    RL A
    MOV R1,A
    INC R0
    CJNE R0,#8,BACK_1
    DJNZ R2,QUET
    RET

DELAY:
    PUSH 01
    MOV R1,#50
    DJNZ R1,$
    POP 01
RET

MASO1:
    DB    0FFH,0FFH,0BDH,0DDH,0EDH,0F5H,0F9H,0FFH    ;S7
MASO2:
    DB    0FFH,89H,76H,76H,76H,89H,0FFH,0FFH  ;S8
MASO3:
    DB    0FFH,71H,6EH,6EH,0AEH,0C1H,0FFH,0FFH  ;S9
MASO4:
    DB    0FFH,0F7H,0F7H,0D5H,0F7H,0F7H,0FFH,0FFH    ;KT CHIA
MASO5:
    DB    0FFH,0E7H,0EBH,0EDH,80H,0EFH,0FFH,0FFH ;S4
MASO6:
    DB    0FFH,0FFH,0B8H,0BAH,0BAH,0BAH,0C7H,0FFH ;S5
MASO7:
    DB    0FFH,0C7H,0B3H,0B5H,0B6H,0CFH,0FFH,0FFH  ;S6
MASO8:
    DB    0FFH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,0FFH  ;KT NHAN
MASO9:
    DB    0FFH,0F7H,0BBH,81H,0BFH,0FFH,0FFH,0FFH  ;S1
MASO10:
    DB    0FFH,0BDH,9EH,0AEH,0B6H,0B9H,0FFH,0FFH  ;S2
MASO11:
    DB    0FFH,7EH,76H,72H,74H,8EH,0FFH,0FFH  ;S3
MASO12:
    DB    0FFH,0F7H,0F7H,0F7H,0F7H,0F7H,0FFH,0FFH ;KT -
MASO13:
    DB    0C3H,0BDH,0C3H,83H,0F7H,0EFH,0DFH,83H  ;ON
MASO14:
    DB    0FFH,83H,7DH,7DH,7DH,83H,0FFH,0FFH  ; S0
MASO15:
    DB    0FFH,0FFH,0EBH,0EBH,0EBH,0EBH,0FFH,0FFH ;KT =
MASO16:
    DB    0FFH,0F7H,0F7H,0C1H,0F7H,0F7H,0FFH,0FFH ;KT +

END



Echipkool.com - Chia sẻ kiến thức - Kết nối đam mê điện tử
In bài này
Previous
Next Post »

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!! ConversionConversion EmoticonEmoticon

       Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

THƯ MỤC KHO TÀI LIỆU MIỄN PHÍ ECHIPKOOL

Code 8051 - ASM Code 8051 - C Code AVR - C Code led sao băng Code PIC - C Điện tử cơ bản điện tử viễn thông Đo Nhiệt Độ DS18B20 + LCD Đo Nhiệt Độ LM35 + LCD Đo Nhiệt Độ LM35 + Led 7 thanh Đo tốc độ động cơ Động cơ robo Ebook Đại Học ebook điện tử Ebook đồ án Học Orcad Học Protues Hồng ngoại Lập Trình 8051 Lập Trình AVR lập trình c++ Lập Trình Led Quảng Cáo lập trình PIC Lập trình Robot Lập trình VHDL Lcd16x2 Led Clock Led Quay Led RGB Mạch 7seg Mạch Amply.Mạch Loa Mạch Cảm Biến Mạch cube Mạch Đếm Sản Phẩm Mạch điện cơ bản Mạch điện hay Mạch Điện Ứng Dụng Mạch đọc file nhạc MP3 dùng Atmega 8 Mạch Động Cơ Mạch đồng hồ Mạch đồng hồ LCD Mạch đồng hồ Matrix Mạch giao thông Mạch in Mạch khóa số điện tử Mạch Led đơn Mạch Led Quảng Cáo Mạch Led Vumeter Mạch Ma trận Phím Mạch Matrix Mạch nạp Mạch nguồn Mạch Nút Bấm Mạch RS232 Mạch RS485 Mạch thu phát Mạch tổ hợp MSI Mạch trái tim Mạch truyền điện không dây Mạch Vi điều khiển Module Bluetooth Module Sim Module Sim548 Motor Nhiệt độ - Độ ẩm oscilloscope Phần mềm điện tử Phần Mềm Diệt Viruts Phần Mềm Hay Phần Mềm Led Quảng Cáo Phần mềm vi tính robocon Rule robocon Sạc Acquy Sản Phẩm Thương Mại Sáng tạo Smart Home Tài liệu Điện Tử Tranzitor Tụ điện TUT - 8051 - ASM TUT - 8051 - KeilC UART Ứng Dụng Led Quảng Cáo Ứng dụng USB USB TO COM Vi điều khiển - Ứng dụng Vi mạch số VOM Wifi ESP8266