Thông báo

Collapse
No announcement yet.

kiểm tra code em viết điều khiển LED bằng remote TV qua 8051

Collapse
X
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • kiểm tra code em viết điều khiển LED bằng remote TV qua 8051

    mọi người giúp em với mạch em sử dụng 1 nút nhấn từ remote tivi để điều khiển 3 led đơn như sau: nhấn 1 lần thì led 1 sáng , nhấn 2 lần liên tục thì led 2 sáng, nhấn 3 lần liên tục thì led 3 sáng ( muốn tắt đi bằng cách nhấn tương tự như mở thêm 1 lần thì tắt). ai chỉ em viết code với ạ.. em cám ơn nhiều -em viết code vậy mọi người coi đúng không ạ em cám ơn....giúp em với em cám ơn
    DEM EQU 50H ; Gán giá trị cho nút nhấn
    LED1 BIT P0.0
    LED2 BIT P0.1
    LED3 BIT P0.2
    ORG 000H
    JMP MAIN
    ORG 000BH
    JMP NGATTIMER0
    MAIN: SETB LED1
    SETB LED2
    SETB LED3
    MOV DEM,#0
    MOV R0,#40
    MOV TMOD,#01H
    MOV TH0,#HIGH(-50000)
    MOV TL0,#LOW(-50000)
    SETB EA
    SETB ET0
    SETB TR0
    LOOP: JNB DEM,LOOP ;HOI XEM CO BAM REMOTE KHONG
    KT_PN: JB DEM,KT_PN
    INC DEM
    JMP LOOP
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX NGATTIMER0: MOV TL0,#LOW(-50000) MOV TL0,#HIGH(-50000) DJNZ R0,EXIT MOV R0,#40 KT_L1:
    MOV A,DEM
    CJNE A,#1,KT_L2
    CPL LED1
    MOV DEM,#0
    JMP EXIT

    KT_L2:
    MOV A,DEM
    CJNE A,#2,KT_L3
    CPL LED2
    MOV DEM,#0
    JMP EXIT

    KT_L3:
    MOV A,DEM
    CJNE A,#3,
    EXIT_DEM
    CPL LED3
    MOV DEM,#0
    JMP EXIT
    EXIT_DEM:
    EXIT: RETI
    ;===========================================
    DELAY: MOV R2,#200
    D1: MOV R3,#250
    DJNZ R3,$
    DJNZ R2,D1
    RET
    ;================================================= ==========
    DELAY500:
    MOV R7,#200 D2:
    DJNZ R7,$
    RET
    END

  • #2
    Nguyên văn bởi nghiaphamsg Xem bài viết
    mọi người giúp em với mạch em sử dụng 1 nút nhấn từ remote tivi để điều khiển 3 led đơn như sau: nhấn 1 lần thì led 1 sáng , nhấn 2 lần liên tục thì led 2 sáng, nhấn 3 lần liên tục thì led 3 sáng ( muốn tắt đi bằng cách nhấn tương tự như mở thêm 1 lần thì tắt). ai chỉ em viết code với ạ.. em cám ơn nhiều -em viết code vậy mọi người coi đúng không ạ em cám ơn....giúp em với em cám ơn
    DEM EQU 50H ; Gán giá trị cho nút nhấn
    LED1 BIT P0.0
    LED2 BIT P0.1
    LED3 BIT P0.2
    ORG 000H
    JMP MAIN
    ORG 000BH
    JMP NGATTIMER0
    MAIN: SETB LED1
    SETB LED2
    SETB LED3
    MOV DEM,#0
    MOV R0,#40
    MOV TMOD,#01H
    MOV TH0,#HIGH(-50000)
    MOV TL0,#LOW(-50000)
    SETB EA
    SETB ET0
    SETB TR0
    LOOP: JNB DEM,LOOP ;HOI XEM CO BAM REMOTE KHONG
    KT_PN: JB DEM,KT_PN
    INC DEM
    JMP LOOP
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX NGATTIMER0: MOV TL0,#LOW(-50000) MOV TL0,#HIGH(-50000) DJNZ R0,EXIT MOV R0,#40 KT_L1:
    MOV A,DEM
    CJNE A,#1,KT_L2
    CPL LED1
    MOV DEM,#0
    JMP EXIT

    KT_L2:
    MOV A,DEM
    CJNE A,#2,KT_L3
    CPL LED2
    MOV DEM,#0
    JMP EXIT

    KT_L3:
    MOV A,DEM
    CJNE A,#3,
    EXIT_DEM
    CPL LED3
    MOV DEM,#0
    JMP EXIT
    EXIT_DEM:
    EXIT: RETI
    ;===========================================
    DELAY: MOV R2,#200
    D1: MOV R3,#250
    DJNZ R3,$
    DJNZ R2,D1
    RET
    ;================================================= ==========
    DELAY500:
    MOV R7,#200 D2:
    DJNZ R7,$
    RET
    END
    sao bạn không nạp vào thử xem thế nào mà hỏi j nủa

    Comment


    • #3
      Remote TV dùng chuẩn nào (SONY,SHARP, .....) ?
      Biết chuẩn nào thì lập trình theo giản đồ xung mới đúng được. Với lại kiểm tra chương trình viết bằng asm là việc rất mất thời gian, người viết phải tự kiểm tra thôi.
      0912666017

      Comment

      Về tác giả

      Collapse

      nghiaphamsg Tìm hiểu thêm về nghiaphamsg

      Bài viết mới nhất

      Collapse

      Đang tải...
      X