Thông báo

Collapse
No announcement yet.

Tìm lỗi sai trong chương trình ASM

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

  • Tìm lỗi sai trong chương trình ASM

    Chào các bạn!Mình đang gặp rắc rối với đoạn ASM về giao tiếp bàn phím,dịch được ra file Hex nhưng mô phỏng Proteus thì k0 chạy, bạn nào đã nắm vững về vấn đề này thì xem giúp mình một chút nhé!Thankyou!!!!!!!!!
    Đây là chương trình:
    INCLUDE 8051.mc
    org 0000h
    ; tu p1.0 den p1.2 noi cot
    ; tu p1.3 den p1.6 noi hang
    MOV p1,#0ffh
    MOV R0,40h ; dia chi bat dau RAM nho

    back: MOV @R0,#0
    INC R0
    CJNE R0,#43h,back ; xoa 3 o nho cua vung RAM nho, de luu 3 so
    ; quet phim

    KT1: MOV p1,#00000111b
    MOV A,p1
    CJNE A,#00000111b,KT1

    KT2: ACALL delay
    MOV A,p1
    CJNE A,#00000111b,lap_1
    SJMP KT2

    lap_1: ACALL delay
    CJNE A,#00000111b,lap_2
    SJMP KT2

    lap_2: MOV p1,#11111110b
    CLR p1.3
    MOV A,p1
    CJNE A,#11111111b,hang_0

    MOV p1,#11111111b
    CLR p1.4
    MOV A,p1
    CJNE A,#11111111b,hang_1

    MOV p1,#11111111b
    CLR p1.5
    MOV A,p1
    CJNE A,#11111111b,hang_2

    MOV p1,#11111111b
    CLR p1.6
    MOV A,p1
    CJNE A,#11111111b,hang_3
    SJMP KT2

    hang_0: MOV DPTR,#ma_hang_0
    SJMP tim_ma
    hang_1: MOV DPTR,#ma_hang_1
    SJMP tim_ma
    hang_2: MOV DPTR,#ma_hang_2
    SJMP tim_ma
    hang_3: MOV DPTR,#ma_hang_3

    tim_ma: RRC A
    JNC chuyen
    INC DPTR
    SJMP tim_ma

    chuyen: CLR A
    MOVC A,@a+dptr
    MOV @R0,A
    MOV p0,A ; hien thi ra p0 moi lan nhap so
    INC R0
    CJNE R0,#43h,KT1 ; vong lap chi chon nhap toi da 3 so
    delay: MOV R5,#10
    back1: MOV R6,#10
    back2: MOV R7,#200
    back3: DJNZ R7,back3
    DJNZ R7,back2
    DJNZ R7,back1
    RET


    org 300h
    ma_hang_0: DB '1','2','3'
    ma_hang_1: DB '4','5','6'
    ma_hang_2: DB '7','8','9'
    ma_hang_3: DB '0','0','0'

    END

    Mobile: 0169.966.3867
    Email:

  • #2
    bác nói chưa rõ về chương trình của mình đó! port 0 của bác nối với led7 đoạn hay cái gì? pác pót lên sơ đồ mạch luôn đi.chứ đọc code chai như vậy sao biết khó mà sửa cho bác được! mà bác muốn hiện ra số của nút đã nhấn hả?
    SỰ HỌC LÀ MÃI MÃI......!!!!

    Comment


    • #3
      Chào bạn tallht .Đây chưa phải là mạch hoàn chỉnh, mình mới chỉ mô phỏng thôi!
      P0 nối LED 7seg ( hiện tại chỉ cần kiểm tra số nhị phân của nút bấm)

      Mobile: 0169.966.3867
      Email:

      Comment


      • #4
        Tra Loi

        đây Là đoạn Code Mình Sửa Lại Và Mô Hình để Thử Nó Luôn! Mình Xuất Ra Port 2 Vì Lỡ Gắn Mạch Vậy Nên Sửa Lại Luôn. Hihi.
        Giải Thuật Trong Phần Ma Trân Phím Là Quét Từng Hàng Cho đến Khi Nào Có Nút được Nhấn Thì Sẽ Hiển Thị Ra Led,rùi Quay Về Quét Phím Tiếp!
        Attached Files
        SỰ HỌC LÀ MÃI MÃI......!!!!

        Comment


        • #5
          Bạn tallht ơi ! cảm ơn bạn nha ! Mình mô phỏng thấy nó chạy rồi!
          À này! Bạn sửa lại chương trình và cắt mất phần trễ chống nhiễu của tớ rồi !
          Nhưng không sao! Cảm ơn vì sự giúp đỡ nhiệt tình của bạn.
          Nhân tiện đây, mình mong rằng các câu hỏi khi nhận được câu trả lời có nội dung thiết thực thì nên nhấn nút CẢM ƠN nhé ! Bye bye !!!!!!!!!!!!!!!!!!!!!

          Mobile: 0169.966.3867
          Email:

          Comment

          Về tác giả

          Collapse

          success.tl Tìm hiểu thêm về success.tl

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

          Collapse

          Đang tải...
          X