RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Chương trình ngắt cho timer1 thế này mà chạy không được !

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • namqn
    Trưởng lão PIC bang
    • Feb 2006
    • 3020

    #16
    Khi sao lưu các thanh ghi đặc biệt như FSR, STATUS, PCLATH, và W trong chương trình xử lý ngắt, nhất thiết phải dùng các thanh ghi có thể truy xuất từ một bank bất kỳ, vì ngắt có thể xảy ra ở bất kỳ thời điểm nào, nên bank hiện thời dùng để truy xuất các thanh ghi dữ liệu có thể là bất kỳ giá trị nào từ 0 đến 3. Vì lý do đó, các thanh ghi 0xF0 - 0xFF, 0x170 - 0x17F, và 0x1F0 - 0x1FF được ánh xạ vào các thanh ghi 0x70 - 0x7F trong PIC16F877A. Trong trường hợp PIC không có tính năng này, các thanh ghi dùng để sao lưu cần phải được khai báo ở mọi bank, tại địa chỉ tương ứng.

    Bạn chỉ cần sửa địa chỉ cho các thanh ghi FSR_save, STATUS_save, PCLATH_save, và W_save như sau, thì sẽ có thể dùng khung chương trình xử lý ngắt chuẩn mà bạn đã tham khảo:

    Code:
    	W_save		EQU	0x70
    	PCLATH_save	EQU	0x71
    	STATUS_save	EQU	0x72
    	FSR_save	EQU	0x73
    Những điều trên đã được đề cập đến trong mục 14.12 - Context Saving During Interrupts, trong datasheet của PIC16F877A.

    Thân,
    Last edited by namqn; 03-01-2008, 12:37 AM.
    Biển học mênh mông, sức người có hạn.

    Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
    http://www.picvietnam.com/forum/showthread.php?t=1263

    Comment

    Working...