1. Xin chào Khách ! Ban quản trị sẽ tiến hành nâng cấp diễn đàn từ ngày 11/8/2017 Mọi truy cập có thể bị dán đoạn, mong bạn thông cảm!
    Dismiss Notice

Chia sẻ Code lập trình Vi Điều Khiển 8051 cơ bản ASM

Thảo luận trong 'Họ 8051'

Đang xem chủ đề này ( Thành viên: 0, Khách: 3)

  1. ChipKool

    ChipKool Thạc sỹ

    Tham gia ngày:
    4/9/12
    Bài viết:
    1,054
    Đã được thích:
    1,288
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên UNETI
    Nơi ở:
    Điện Tử | Tin Học - echipkool.com
    Chip chia sẻ những code lập trình asembly đơn giản này các bạn xem sẽ dễ hiểu..có điều gì thắc mắc các bạn cứ hỏi nhé. Simple is the best

    nguyen lt.
    I.PHẦN LED ĐƠN LỆNH MOV

    1.Chương trình led sáng nhấp nháy port 1.
    Mã:
    ORG 00H
    MAIN:
    MOV P1,#00H;led tắt hết
    CALL DELAY
    MOV P1,#0FFH;led sáng hết
    CALL DELAY
    JMP MAIN
    DELAY:;CT tạo trễ
    MOV R0,#50
    LAP:
    NOP
    NOP
    DJNZ R0,LAP
    RET
    END
    2.Chương trình Led sáng dần port 1

    Mã:
    ORG 00H
    MAIN:
    MOV P1,#00000000B;Trạng thái led tắt hết
    CALL DELAY
    MOV P1,#00000001B;Led p1.0 sáng
    CALL DELAY
    MOV P1,#00000011B;led p1.0,p1.1 sáng
    CALL DELAY
    MOV P1,#00000111B;led p1.0,p1.1,p1.2 sáng
    CALL DELAY
    MOV P1,#00001111B
    CALL DELAY
    MOV P1,#00011111B
    CALL DELAY
    MOV P1,#00111111B
    CALL DELAY
    MOV P1,#01111111B
    CALL DELAY
    MOV P1,#11111111B
    CALL DELAY
    JMP MAIN
    DELAY:
    MOV R0,#200
    LAP:
    MOV R1,#200
    LAP2:
    NOP
    NOP
    NOP
    DJNZ R1,LAP2
    DJNZ R0,LAP
    RET
    END
    
    3.Chương trình led tắt dần port 1

    Mã:
    ORG 00H
    MAIN:
    MOV P1,#11111111B;Trạng thái led sáng hết
    CALL DELAY
    MOV P1,#11111110B;Led p1.0 tắt
    CALL DELAY
    MOV P1,#11111100B;led p1.0 tắt,p1.1 tắt
    CALL DELAY
    MOV P1,#11111000B
    CALL DELAY
    MOV P1,#11110000B
    CALL DELAY
    MOV P1,#11100000B
    CALL DELAY
    MOV P1,#11000000B
    CALL DELAY
    MOV P1,#10000000B
    CALL DELAY
    MOV P1,#00000000B
    CALL DELAY
    JMP MAIN
    DELAY:
    MOV R0,#200
    LAP:
    MOV R1,#200
    LAP2:
    NOP
    NOP
    NOP
    DJNZ R1,LAP2
    DJNZ R0,LAP
    RET
    END
    4.Sáng dần tắt dần theo chiều ngược lại:

    Mã:
    ORG 00H
     
    MAIN:
    CALL CON1
    CALL CON2
    JMP MAIN
    CON1:;SANG DAN
    MOV P1,#00000000B
    CALL DELAY
    MOV P1,#10000000B
    CALL DELAY
    MOV P1,#11000000B
    CALL DELAY
    MOV P1,#11100000B
    CALL DELAY
    MOV P1,#11110000B
    CALL DELAY
    MOV P1,#11111000B
    CALL DELAY
    MOV P1,#11111100B
    CALL DELAY
    MOV P1,#11111110B
    CALL DELAY
    MOV P1,#11111111B
    CALL DELAY
    RET
     
    CON2:;TAT DAN
    MOV P1,#11111111B
    CALL DELAY
    MOV P1,#01111111B
    CALL DELAY
    MOV P1,#00111111B
    CALL DELAY
    MOV P1,#00011111B
    CALL DELAY
    MOV P1,#00001111B
    CALL DELAY
    MOV P1,#00000111B
    CALL DELAY
    MOV P1,#00000011B
    CALL DELAY
    MOV P1,#00000001B
    CALL DELAY
    MOV P1,#00000000B
    CALL DELAY
    RET
     
    DELAY:
    MOV R0,#200
    LAP:
    MOV R1,#200
    LAP2:
    NOP
    NOP
    NOP
    DJNZ R1,LAP2
    DJNZ R0,LAP
    RET
    END
    II. PHẦN LED ĐƠN LỆNH QUAY.
    lenh quay.

    Mã:
    ORG 0000H
    MAIN:; Bat dau chuong trinh chinh
    CALL CTA;Goi chuong trinh con sang dan tu tren xuong duoi
    CALL CTB;Goi chuong trinh con sang dan tu duoi len tren
    JMP MAIN
    ;-----------chuong trinh con sang dan tu tren xuong duoi--------------------------
    CTA:
    MOV A,#00H;Thanh ghi A la 00000000
    LAP:;Nhan cua vong lap
    SETB C;Thit lap co nho C len 1
    RLC A;Quay trai co C co nho
    MOV P2,A;Dua gia tri vao P2
    CALL DELAY;Tao thoi gian tre de thay hieu ung
    CJNE A,#0FFH,LAP;Kiem tra neu chua bang 11111111 thi nhay den nhan LAP
    RET
     
    ;-------------chuong trinh con sang dan tu duoi len tren-------------------------
    CTB:
    MOV A,#00H; dua gia tri 00000000 vao thanh ghi tich luy A
    LAP1:            ; nhan vong lap
    SETB C          ; Thiet lap co nho C len 1
    RRC A            ; quay phai thanh ghi A co co nho
    MOV P2,A    ; chuyen gia tri thanh ghi A vua quay xuat ra Port 2
    CALL DELAY;goi chuong trinh tre de thay hieu ung led
    CJNE A,#0FFH,LAP1;Kiem tra thanh ghi A da bang 11111111 chua, neu chua bang thin hay den LAP1
    RET
    ;----Chuong trinh tao thoi gian tre-----
    DELAY:
    MOV R0,#200
    LOOP:
    MOV R1,#210
    LOOP1:
    NOP
    DJNZ R1,LOOP1
    DJNZ R0,LOOP
    RET
    END
    
    III. LED ĐƠN LẪY BẢNG MÃ

    lenh quay.
    Mã:
    ORG 00H
    MAIN:
    CALL CTA; sang dan qua trai
    CALL CTB; sang dan qua phai   
    JMP MAIN
    ;*****************************************
    CTA:
        MOV R0,#00H        ;Bien dem so trang thai hien thi
        MOV DPTR,#MALED    ;Nap di chi vung du lieu
    LABEL:               
        MOV A,R0            ; Chuyen gia tri thanh ghi R0 vao thanh ghi A
        MOVC A,@A+DPTR        ; Lay du lieu tu vung nho
        MOV P2,A            ;Hien thi
        CALL DELAY
        INC R0            ; Lay du lieu ke tiep
        CJNE R0,#9,LABEL        ; Kiem tra so du trang thai hien thi
    RET
    ;*****************************************
    CTB:
        MOV R0,#00H
        MOV DPTR,#MALED1
    LABEL1:
        MOV A,R0
        MOVC A,@A+DPTR
        MOV P2,A
        CALL DELAY
        INC R0
        CJNE R0,#9,LABEL1
    RET
    ;******************************************
    MALED: DB 00H,01H,03H,07H,0FH,1FH,3FH,7FH,0FFH; co 9 ma led CTA
    ;00000000b,00000001b,00000011b,………
    MALED1: DB 00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH; 9 ma led CTB
    ;----Chuong trinh tao thoi gian tre-----
    DELAY:
    MOV R3,#200
    LOOP:
    MOV R2,#250
    LOOP1:
    NOP
    DJNZ R2,LOOP1
    DJNZ R3,LOOP
    RET
    END
    
    IV. DÙNG IC 74HC595
    Mo phong 595.
    Mã:
    ORG 00H
    MAIN:
    CALL CTA;goi chuong trinh con
    CALL CTB
    CALL CTC
    JMP MAIN
     
    CTA:
    ;sang dan led
    MOV R1,#8;quet 8 led
    LAP:
    SETB P2.0;thiet lap bit chan data len 1 cho led sang
    CALL DELAY
    SETB P2.1;tao xung mo cho bit vao chan SH
    CALL DELAY
    CLR  P2.1;tao xung dong khong cho bit vao chan SH
    CALL DELAY
    SETB P2.2;tao xung mo ST cho bit xuat ra cac chan led
    CALL DELAY
    CLR  P2.2;tao xung dong ST khong cho bit xuat ra cac chan led
    CALL DELAY
    DJNZ R1,LAP
     
    ;tat dan led
    MOV R1,#8
    LAP1:
    CLR P2.0;thiet lap bit chan data len 1 cho led sang
    CALL DELAY
    SETB P2.1
    CALL DELAY
    CLR  P2.1
    CALL DELAY
    SETB P2.2
    CALL DELAY
    CLR  P2.2
    CALL DELAY
    DJNZ R1,LAP1
    RET
     
    CTB:;sang 1 led chay
    MOV R4,#3
    NHAY:
    SETB P2.0
    CALL DELAY
    SETB P2.1
    CALL DELAY
    CLR P2.1
    SETB P2.2
    CALL DELAY
    CLR P2.2
    CALL DELAY
    MOV R1,#7
    LAP2:
    CLR P2.0
    SETB P2.1
    CLR P2.1
    SETB P2.2
    CLR P2.2
    CALL DELAY
    CALL DELAY
    DJNZ R1,LAP2
    DJNZ R4,NHAY
    RET
     
    CTC:;sang nhap nhay led
    MOV R4,#3
    NHAY1:
    MOV R1,#8
    LAP3:
    SETB P2.0
    SETB P2.1
    CLR P2.1
    DJNZ R1,LAP3
    SETB P2.2
    CLR P2.2
    CALL DELAY
     
    MOV R1,#8
    LAP4:
    CLR P2.0
    SETB P2.1
    CLR P2.1
    DJNZ R1,LAP4
    SETB P2.2
    CLR P2.2
    CALL DELAY
    DJNZ R4,NHAY1
    RET
     
     
     
    DELAY:;chuong trinh tao tre
    MOV R0,#200
    LOOP:
    MOV R2,#200
    LOOP1:
    DJNZ R2,LOOP1
    DJNZ R0,LOOP
    RET
    END
    Chúc các bạn thành công?

     
    TinhTD-TC, Duyhoa, mrcuong71416 others thích bài này.
  2. ChipKool

    ChipKool Thạc sỹ

    Tham gia ngày:
    4/9/12
    Bài viết:
    1,054
    Đã được thích:
    1,288
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên UNETI
    Nơi ở:
    Điện Tử | Tin Học - echipkool.com
    LED 7 THANH

    1. phương pháp thủ công và lấy mã:


    7 thanh chipkool.

    Mã:
    ORG 0000H
     
    MAIN:
     
    MOV R0,#00; khoi tao bien dem
     
    LAP:
     
    CALL CTHT; goi chuong trinh hien thi
     
    INC R0; tang bien dem
     
    CJNE R0,#10,LAP; kiem tra đã đếm đến 9
     
    JMP MAIN
     
     
     
    CTHT:; Chuong trinh hien thi led 7 đoan
     
    MOV R7,#1; vong lap quet
     
    QUAY:
     
    MOV A,R0
     
    MOV B,#10
     
    DIV AB
     
    MOV DPTR,#MALED
     
    MOVC A,@A+DPTR
     
    MOV P2,A
     
    CALL DELAY
     
    MOV A,B
     
    MOVC A,@A+DPTR
     
    MOV P3,A
     
    CALL DELAY
     
    DJNZ R7,QUAY
     
    RET
     
     
     
    MALED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
     
     
     
    DELAY:
     
    MOV R4,#150
     
    LOOP:
     
    MOV R5,#200
     
    LOOP1:
     
    DJNZ R5,LOOP1
     
    DJNZ R4,LOOP
     
    RET
     
    END
     
    

    2. Phương pháp quét led:

    7 thanh quet led chipkool.


    Mã:
    ORG 00H
     
    MAIN:
     
    MOV R0,#0        ; GIA TRI BAN DAU   
     
    LAP:
     
    INC R0        ; TANG BIEN DEM
     
    CALL HT
     
    CJNE R0,#100,LAP ; GIOI HAN CUA GIA TRI
     
    JMP MAIN                               
     
     
     
    HT:            ; CHUONG TRINH HIEN THI LED 7 DOAN
     
    MOV DPTR,#MALED ; GAN MA CHO THANH GHI CONTROL
     
    MOV R7,#50        ; SO LAN QUET
     
    QUET:
     
    MOV A,R0
     
    MOV B,#10
     
    DIV AB        ; CHIA LAY RA PHAN CHUC
     
    MOVC A,@A+DPTR ; LAY MA LED HANG CHUC
     
    MOV P2,A        ; XUAT DU LIEU RA PORT
     
    SETB P3.0        ; CHO PHEP HIEN THI
     
    CALL DELAY
     
    CLR P3.0
     
     
     
    MOV A,B        ; LAY GIA TRI HANG DON VI
     
    MOVC A,@A+DPTR    ;LAY MA LED HANG DON VI
     
    MOV P2,A        ; XUAT DU LIEU   
     
    SETB P3.1        ; CHO PHEP HIEN THI RA LED
     
    CALL DELAY
     
    CLR P3.1
     
     
     
    DJNZ R7,QUET
     
    RET
     
     
     
    DELAY:        ;THOI GIAN TRE
     
    MOV R1,#150
     
    LAPA:
     
    MOV R2,#20
     
    LAPB:
     
    DJNZ R2,LAPB
     
    DJNZ R1,LAPA
     
    RET
     
     
     
    ORG 500 ; MA LED 7 DOAN
     
    MALED:
     
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
     
    END
     
    ---------------------------------------------------------------------------------------------------
     
    

    3. Phương pháp dùng ic chốt 74hc373

    7 thanh ic 74hc573 chipkool.


    Mã:
    ORG 00H
     
    MAIN:
     
    CALL CTA
     
    JMP MAIN
     
     
     
    CTA:
     
    MOV P2,#00H        ; TAT CAC PORT DU LIEU
     
    MOV P3,#00H
     
    MOV R1,#0        ; GIA TRI BAN DAU CUA BIEN DEM
     
    MOV DPTR,#MALED ; DUA MA LED 7 DOAN VAO THANH GHI CONTROL
     
    NEXT:
     
    CALL HT ; CHUONG TRINH HIEN THI RA LED 7 DOAN
     
    INC R1    ; TANG GIA TRI BIEN DEM
     
    CJNE R1,#100,NEXT ; KIEM TRA GIA TRI BIEN DEM =100 THI KET THUC
     
    RET
     
     
     
    HT:  ; CHUONG TRINH HIEN THI RA LED 7 DOAN
     
    MOV A,R1
     
    MOV B,#10
     
    DIV AB    ; LAY GIA TRI HANG CHUC
     
    MOVC A,@A+DPTR; LAY MA LED
     
    MOV P2,A    ;XUAT DU LIEU RA PORT VA HIEN THI TREN LED 7 DOAN
     
    SETB P3.0
     
    CLR P3.0
     
     
     
    MOV A,B        ; LAY GIA TRI HANG DON VI
     
    MOVC A,@A+DPTR    ; LAY MA LED HANG DON VI
     
    MOV P2,A        ; XUAT VA HIEN THI TREN LED 7 DOAN
     
    SETB P3.1
     
    CLR P3.1
     
    CALL DELAY
     
    RET
     
     
     
    DELAY:    ; THOI GIAN TRE
     
    MOV R2,#250
     
    STOP:
     
    MOV R3,#250
     
    STOP2:
     
    DJNZ R3,STOP2
     
    DJNZ R2,STOP
     
    RET
     
     
     
    MALED:    ; MA LED
     
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
     
    END
     
    
    Chúc các bạn ngon miệng...^^



     
    TinhTD-TC, nampro, voloi_556 others thích bài này.
  3. ChipKool

    ChipKool Thạc sỹ

    Tham gia ngày:
    4/9/12
    Bài viết:
    1,054
    Đã được thích:
    1,288
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên UNETI
    Nơi ở:
    Điện Tử | Tin Học - echipkool.com
    PHIM ĐƠN

    1. Phím đơn + led Đơn : 4 phím 4 led


    phim don + led don chipkool.



    Mã:
    ORG 00H
     
    MAIN:
     
    MOV P2,#00000000B
     
    KEY1:
     
        JNB P1.4,KEY1OK
     
        CLR P2.0
     
        CALL DELAY
     
        JMP KEY2
     
    KEY1OK:
     
    SETB P2.0
     
    CALL DELAY
     
       
     
    KEY2:
     
        JNB P1.5,KEY2OK
     
        CLR P2.1
     
        CALL DELAY
     
        JMP KEY3
     
    KEY2OK:
     
    SETB P2.1
     
    CALL DELAY
     
     
     
    KEY3:
     
        JNB P1.6,KEY3OK
     
        CLR P2.2
     
        CALL DELAY
     
        JMP KEY4
     
    KEY3OK:
     
    SETB P2.2
     
    CALL DELAY
     
     
     
    KEY4:
     
        JNB P1.7,KEY4OK
     
        CLR P2.3
     
        CALL DELAY
     
        JMP KEY1
     
    KEY4OK:
     
    SETB P2.3
     
    CALL DELAY
     
    JMP KEY1
     
    JMP MAIN
     
     
     
    DELAY:
     
    MOV R0,#200
     
    LOOP:
     
    MOV R1,#150
     
    LOOP1:
     
    DJNZ R1,LOOP1
     
    DJNZ R2,LOOP
     
    RET
     
    END
    2. Phím đơn + led 7 thanh

    phim don + led 7 thanh.
    Mã:
    ORG 00H
    MAIN:
    KEY0:
        JNB P1.7,KEY0OK
        JMP KEY1
    KEY0OK:
        CALL CTHT
        INC R0
    KEY1:
        JNB P1.6,KEY1OK
        JMP KEY0
    KEY1OK:
        CALL CTHT
        DEC R0
    JMP KEY0
     
    JMP MAIN
     
    CTHT:
    MOV R7,#5
    QUET:
    MOV A,R0
    MOV B,#10
    DIV AB
    MOV DPTR,#MALED
    MOVC A,@A+DPTR
    MOV P3,A
    CALL DELAY
    MOV A,B
    MOVC A,@A+DPTR
    MOV P2,A
    CALL DELAY
    DJNZ R7,QUET
    RET
     
    MALED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
     
    DELAY:
    MOV R2,#150
    LOOP:
    MOV R1,#200
    LOOP1:
    DJNZ R1,LOOP1
    DJNZ R2,LOOP
    RET
    END
    3. Phím điều khiển Role + động cơ đơn giản
    phim + dong co + role.

    Mã:
    ORG 0000H
    MAIN:
    JNB P1.0,THUAN_R
    JNB P1.1,NGHICH_R
    JNB P1.2,THUAN_H
    JNB P1.3,NGHICH_H
    JNB P1.4,STOP
     
    JMP MAIN
     
    THUAN_R:
    SETB P3.0
    CLR P3.1
    JMP MAIN
     
    NGHICH_R:
    CLR P3.0
    SETB P3.1
    JMP MAIN
     
    THUAN_H:
    SETB P3.2
    CLR P3.3
    JMP MAIN
     
    NGHICH_H:
    CLR P3.2
    SETB P3.3
    JMP MAIN
     
    STOP:
    CLR P3.0
    CLR P3.1
    CLR P3.2
    CLR P3.3
    JMP MAIN
     
    CALL DELAY
     
    DELAY:
    MOV R0,#200
    LOOP:
    MOV R1,#250
    LOOP1:
    NOP
    DJNZ R1,LOOP1
    DJNZ R0,LOOP
    RET
     
    END
    Chúc các bạn ngon miệng xỉa răng^^
     
    khanhlumpy, nampro, voloi_556 others thích bài này.
  4. ChipKool

    ChipKool Thạc sỹ

    Tham gia ngày:
    4/9/12
    Bài viết:
    1,054
    Đã được thích:
    1,288
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Nghề nghiệp:
    Sinh Viên UNETI
    Nơi ở:
    Điện Tử | Tin Học - echipkool.com
    1 MATRIX CHẠY CHỮ:
    1 matrix chay chu.
    Mã:
    ORG 00H
     
    MAIN:
     
    MOV DPTR,#MASO1
     
    CALL CTHT
     
    LJMP MAIN
     
     
     
    CTHT:;CHUONG TRINH HIEN THI
     
    MOV R7,#64;Moi chu la 1 ma tran 8x8, co 8 chu nhu vay se la 8x8 = 64
     
    CHAYCHU:
     
    MOV R5,#100;toc do chay chu
     
    QUET:
     
    MOV R0,#00
     
    MOV R1,#01111111B
     
    LAPS:
     
    MOV P3,R1
     
    MOV A,R1
     
    RL A
     
    MOV R1,A
     
    MOV P3,R1
     
    MOV A,R0
     
    MOVC A,@A+DPTR
     
    MOV P2,A
     
    CALL DELAY
     
    INC R0
     
    CJNE R0,#8,LAPS;
     
    DJNZ R5,QUET
     
    INC DPTR
     
    DJNZ R7,CHAYCHU
     
    RET
     
     
     
    ;-------Hien thi Chu LAP TRINH---------------
     
    MASO1:
     
    DB    0FFH,0FFH,0H,7FH,7FH,7FH,7FH,0FFH    ;L
     
    DB    0FFH,3H,0F5H,0F6H,0F6H,0F5H,3H,0FFH  ;A
     
    DB    0FFH,0FFH,0H,0F6H,0F6H,0F6H,0F9H,0FFH ;P
     
    DB    0FFH,0FFH,0FEH,0FEH,0H,0FEH,0FEH,0FFH ;T
     
    DB    0FFH,0FFH,0H,0EEH,0D6H,0B6H,79H,0FFH  ;R
     
    DB    0FFH,0FFH,7EH,0H,7EH,0FFH,0FFH,0FFH  ;I
     
    DB    0FFH,0FFH,0H,0FDH,0FBH,0F7H,0H,0FFH  ;N
     
    DB    0FFH,0FFH,0H,0F7H,0F7H,0F7H,0H,0FFH  ;H
     
     
     
    ;----------Chuong trinh tao thoi gian tre----------
     
    DELAY:
     
    MOV R4,#50
     
    LAPF:
     
    NOP
     
    NOP
     
    NOP
     
    DJNZ R4,LAPF
     
    RET
     
    END
     
    
    2.MATRIX PHIM + MATRIX LED
    matrix phim + matrix led.
    Mã:
    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
    
    3. Matrix phím + Led 7 thanh

    matrix phim + 7 seg.
    Mã:
    ;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
     
    
    4. MATRIX PHÍM + LCD
    matrix phim + lcd.

    Mã:
    ;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
     
     
    
    Còn tiếp...Hồi sau sẽ rõ..^^
     
    ngothanh77, TinhTD-TC, blue sky16 others thích bài này.
  5. phamvanthanh

    phamvanthanh Kỹ sư

    Tham gia ngày:
    28/11/12
    Bài viết:
    196
    Đã được thích:
    30
    Điểm thành tích:
    28
    Giới tính:
    Nam
    Nơi ở:
    dong nai
    cảm on chíp nhiều rất bổ ich mình dang tự hoc mấy con vdk có cái này của chíp rất cảm ơn
     
    sgesvnChipKool thích bài này.
  6. phungduchiep

    phungduchiep Kỹ sư

    Tham gia ngày:
    8/5/13
    Bài viết:
    286
    Đã được thích:
    129
    Điểm thành tích:
    43
    Giới tính:
    Nam
    ( được voi đòi thủy Tiên :)) ) anh ơi anh làm thêm tút về avr và pic đi anh , em đảm bảo nhiều anh em trong diễn đàn sẽ vỗ tay hết mình vì sự tận tình của anh =D>=D>
    thực sự thì em đang muốn học pic nhưng chưa gặp được bài viết nào cụ thể như vầy ,mong anh lắm ;)
     
  7. dainv

    dainv http://vntech24h.com/

    Tham gia ngày:
    6/9/12
    Bài viết:
    411
    Đã được thích:
    655
    Điểm thành tích:
    93
    Giới tính:
    Nam
    Nghề nghiệp:
    Engineer Electronic
    Nơi ở:
    Vĩnh Phúc
    Tất cả các bài viết cho PIC đều có bên luồng PIC, mình không hiểu bạn còn mong đợi gì hay cần những gì. Với PIC và AVR thì sử dụng ngôn ngữ C là học nhanh nhất.
     
    longbn92Nam_bkhn thích bài này.
  8. voloi_55

    voloi_55 Học sinh phổ thông

    Tham gia ngày:
    24/7/13
    Bài viết:
    13
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    :-bd thanks nha . tinh thần chia sẻ cao , cố gắng phát huy nhá bạn .
     
  9. mr_khoa

    mr_khoa Học sinh phổ thông

    Tham gia ngày:
    9/8/13
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    chào các pro vdk ! tình hình là em học vdk 8051 bít lập trình nhưng ko biết kết nối phần cứng và ráp mạch. các anh chỉ bảo em với ạ? thanks!!!!!!!!!!!!
     
  10. Mr-Quân

    Mr-Quân Học sinh phổ thông

    Tham gia ngày:
    5/9/13
    Bài viết:
    9
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Em gặp phải đề này không biết làm thế nào mong mọi người giúp với: ''Thiết kế hệ thống điều khiển kèn báo thức, điểm quân số, tắt đèn đi ngủ của Học viện KTQS. Hệ thống có thể dùng các phím để hiệu chỉnh thời gian''.
    Dùng VĐK 89C51 thì làm thế nào hả mọi người, dùng ngôn ngữ assembly, mô phỏng trên protues, viết code trên kile C
     

Chia sẻ trang này