Thông báo

Collapse
No announcement yet.

Ngat trong 8051 help !

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

  • Ngat trong 8051 help !

    Tinh hinh la em viet ct ngat trong 8051, dung led de thay khi nao ngat; Viet cho TIMER0, TIMER1 ok roi;
    lap them EX0 vao thi chuong trinh ko chay; du` ko co loi nao tren KEiL lun;
    MOI NGUOI GIUP E VOI:
    CODE day:

    ;===========Tên ch??ng trình ============
    org 00h
    nop
    ljmp MAIN
    org 03h ; Ng?t Ex0 <-- co; them no la khong chay
    nop
    cpl p1.3
    reti
    org 0bh ; Ng?t Timer0
    nop
    ljmp INT_TIMER0
    org 1bh ; Ng?t Timer1
    nop
    ljmp INT_TIMER1

    ;===================================
    ; m a i n p r o g r a m
    ;===================================
    org 50h
    MAIN:
    mov P1,#00h
    mov R7,#00h
    initialization_int:
    setb ex0
    setb ex0
    setb et0
    setb et1
    setb px0
    setb pt0
    setb it0
    setb ea

    initialization_timer:
    mov tmod,#00010010b
    mov th0,#00h
    mov tl0,#00h
    mov th1,#00h
    mov tl1,#00h
    setb tr0
    setb tr1

    CPLP1_0:
    cpl P1.0
    mov a,r7
    mov P0,a
    lcall DELAY
    ljmp CPLP1_0

    INCR7:
    inc r7
    ret

    DELAY:
    mov r1,#0ffh
    DELAY0:
    mov r2,#0ffh
    DELAY1:
    djnz r2,DELAY1
    djnz r1,DELAY0
    ret
    ;===============================
    ;Ctrinh _ Ph?c v? ng?t
    ;===============================
    INT_TIMER0:
    clr tr0
    cpl P1.1
    setb tr0
    Reti

    INT_TIMER1:
    clr tr1
    cpl P1.2
    lcall INCR7
    clr tf1
    setb tr1
    reti

    ;==============================
    End

  • #2
    moi nguoi copy code vo KEIL kiem tra dum em voi; du` ko co loi j nhung sao no ko chay. THANKS

    Comment


    • #3
      Nguyên văn bởi h.dangb1 Xem bài viết
      moi nguoi copy code vo KEIL kiem tra dum em voi; du` ko co loi j nhung sao no ko chay. THANKS
      Cái nop ở hay org 00h. -> lệnh ljmp main sẽ bắt đầu từ địa chỉ 01h và byte cuối nằm ở 03h ->sang địa chỉ vector ngắt của EXT0 rồi -> bị đè-> không thể nhảy tới chương trình chính.
      Còn cái nữa mình nghĩ cậu nên sửa lại. Việc hàm sử lí ngắt của cậu có thể có độ dài không quá 3byte và cố gắng nhét nó vào vùng vector ngắt theo mình là không nên.Nó được thiết kế để vừa một lệnh ljmp để nhảy tới hàm xử lí ngắt ở đâu đó trong bộ nhớ flash nên mình không cần tiết kiệm một lệnh nhảy làm gì

      Comment


      • #4
        THANKS; 1 lenh nop thoi ma nguy hiem qua

        Comment

        Về tác giả

        Collapse

        h.dangb1 Tìm hiểu thêm về h.dangb1

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

        Collapse

        • bqviet
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi bqviet
          Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
          06-12-2025, 17:17
        • nguyendinhvan
          Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
          bởi nguyendinhvan
          Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
          05-12-2025, 19:59
        • afrendly
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi afrendly
          Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
          04-12-2025, 01:27
        Đang tải...
        X