Thông báo

Collapse
No announcement yet.

Xem giùm em cái.

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

  • Xem giùm em cái.

    em viết đoạn code này:
    org 0000h
    JMP START
    DELAY: MOV R1,#20 ; 20x50us=1s
    L3: MOV TMOD,#01H ; Ch? d? timer 16bit
    MOV TH0,#HIGH(-50000) ; 50us
    MOV TL0,#LOW(-50000)
    SETB TR0 ; timer b?t dàu d?m
    JNB TF0,$ ; nh?y tai ch? n?u TF0=1
    CLR TR0 ; TR0=0 nh?ng d?m
    CLR TF0 ; TF0=0 cho l?n tràn ti?p
    DJNZ R1,L3 ; Giam R1 xu?ng 1 và nh?y t?i L3 nêu L3>0
    RET
    START:
    L: MOV P2,#0FFH
    MOV R1,#8
    MOV R0,#0
    LAP1: MOV DPTR,#BANG
    MOV A,R0
    MOVC A,@A+DPTR
    MOV P2,A
    INC r0
    LCALL DELAY
    DJNZ R1,LAP1
    JMP L
    BANG: DB 7EH,3CH,18H,00H,81H,0C3H,0E7H,0FFH
    END
    NÓ chạy đúng ý em rồi. nhưng mà nó chạy 1 lần rồi thôi. ko lặp lại được. E điều khiển 8 led ở p2. dùng 89c52
    = = === ===
    = = =
    ====== = = = = = ===
    = = = = = = = = =
    = = ==== = = = = =

  • #2
    subroutine DELAY dùng R2 (chỉnh lại ở 2 chỗ nhá) ko dùng R1 trong DELAY vì sẽ bị trùng với chương trình Main bên dưới.

    Comment


    • #3
      Em chỉnh lại chạy ok rồi bác. cảm ơn bác nhiều!
      = = === ===
      = = =
      ====== = = = = = ===
      = = = = = = = = =
      = = ==== = = = = =

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X