Thông báo

Collapse
No announcement yet.

Pro Nào Vào Giúp E Với CODE ASM CHO NUT BAM

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

  • Pro Nào Vào Giúp E Với CODE ASM CHO NUT BAM

    Click image for larger version

Name:	anh jjsksksksks.jpg
Views:	1
Size:	78.5 KB
ID:	1419825
    Mong mọi người giúp đỡ : Đề bài này là : Khi ấn K_1 Thì led D1 sáng và Tất cả các led D5-->D10 cũng sáng
    Tiếp tục ấn K2 thì led D2 sáng và led D5-> D10 sáng từ trái qua phải
    Tiếp tục ấn K3 thì D3 sáng và led D5-> D10 sáng từ phải qua trái
    Tiếp tục ấn K4 thì D4 sáng và led D5 ---> D0 nhấp nháy
    E đang học Vi xử lý nên cũng chưa biết được nhiều . e Viết code chưa được đúng cho lắm , Mong Mọi người giúp đỡ sửa code này giúp e với . Thank

    CODE


    .define
    k_1 p3_0
    k_2 p3_1
    k_3 p3_2
    k_4 p3_4
    D5 p1_0
    D6 p1_1
    D7 p1_2
    D8 p1_3
    D9 P1_4
    D10 P1_5
    D1 p2_0
    D2 p2_1
    D3 p2_2
    D4 p2_3
    .enddefine
    ;-------------------------------------------
    .code

    org 0x0000
    ljmp main
    //==========================================
    org 0x0030
    main:
    setb D5
    setb D6
    setb D7
    setb D8
    setb D9
    setb D10
    setb D1
    setb D2
    setb D3
    setb D4
    loop:
    jb k_1,cont1
    jnb k_1,$
    clr D1
    clr D5
    clr D6
    clr D7
    clr D8
    clr D9
    clr D10
    ljmp loop
    cont1:
    jb k_2,cont2
    jnb k_2,$
    clr D2
    mov r1,#6
    bat_dau:
    setb P1
    CALL DELAY
    clr D5
    CALL DELAY
    clr D6
    CALL DELAY
    clr D7
    CALL DELAY
    clr D8
    CALL DELAY
    clr D9
    CALL DELAY
    clr D10
    CALL DELAY
    DJNZ R1,bat_dau
    ljmp loop
    cont2:
    jb k_3,cont3
    jnb k_3,$
    clr D3
    mov r2,#6
    bat_dau_1:
    clr P1
    CALL DELAY
    setb D5
    CALL DELAY
    setb D6
    CALL DELAY
    setb D7
    CALL DELAY
    setb D8
    CALL DELAY
    setb D9
    CALL DELAY
    setb D10
    CALL DELAY
    DJNZ R2,bat_dau_1
    ljmp loop
    cont3:
    jb k_4,cont4
    jnb k_4,$
    clr led4
    mov r3,#6
    bat_dau_2:
    clr P1
    CALL DELAY_1
    setb P1
    CALL DELAY_1
    DJNZ R2,bat_dau_2
    ljmp loop
    cont4:

    ljmp loop
    ljmp main
    //==========================================
    DELAY:
    MOV R0,#200
    LAP:
    MOV R7,#200
    LAP2:
    NOP
    NOP
    NOP
    DJNZ R1,LAP2
    DJNZ R7,LAP
    RET
    //==========================================
    delay_1:
    DELAY:
    MOV R5,#50
    LAP_5:
    NOP
    NOP
    DJNZ R5,LAP_5
    RET
    //==========================================

    .endcode
    .end

  • #2
    Sao bạn k dùng lệnh dịch bit quay trái quay phải cho đơn giản mà cứ setb thế kia nhìn rối lắm

    Comment


    • #3
      dùng lệnh dịch thế nào vậy a. a có thể chỉ rõ hơn không

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X