|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
30-12-2007, 06:04 AM | #16 |
Trưởng lão PIC bang
|
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 Thân,
__________________
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 thay đổi nội dung bởi: namqn, 03-01-2008 lúc 12:37 AM. |
|
|