lập trình ngắt cho 89c52

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • huhhhhhhhh
    Thành viên mới
    • Sep 2007
    • 6

    #1

    lập trình ngắt cho 89c52

    tôi lập trình ngắt asm cho 89c52,trong chương trình ngắt ko sử dụng lệnh reti ma nhảy tới chương trình chính luôn,khi ngắt lần 2 thí ngằt ko xảy ra,làm sao khắc phục được lỗi trên,xin chỉ giáo.
  • natra2k2
    Thành viên tích cực
    • Oct 2005
    • 481

    #2
    Nguyên văn bởi huhhhhhhhh Xem bài viết
    tôi lập trình ngắt asm cho 89c52,trong chương trình ngắt ko sử dụng lệnh reti ma nhảy tới chương trình chính luôn,khi ngắt lần 2 thí ngằt ko xảy ra,làm sao khắc phục được lỗi trên,xin chỉ giáo.
    Đã ngắt thi phải có reti chứ bạn, thế mới trở về đúng được, trước khi ngắt nó lưu lại địa chỉ hiện tại rồi, nên khi thoát ngắt (gặp lệnh reti) thì sẽ nhảy về tại vị trí lúc nãy bị dừng do ngắt.

    Comment

    • thelam
      Thành viên chính thức
      • Aug 2005
      • 62

      #3
      Thử làm như vậy xem sao:

      Code:
      ISR:
      	insert your code here		; interrupt code
      	acall Fake			; xóa Int flag, enable int, pop stack
      	ljump xxx			; Là địa chỉ bạn muốn jump 
      Fake:	reti

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...