|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
02-10-2006, 03:06 PM | #1 |
Nhập môn đệ tử
|
Lỗi do lập trình hay do trình biên dịch ?
Tại sao khi viết chương trình ngắt trong MPLAB (7.31) mặc dù đã theo đúng khung chương trình ngắt do bác falleaf giới thiệu nhưng chưong trình vẫn bị Faile(Lỗi).
Cụ thể là viết chương trình như sau : Code:
PROCESSOR PIC16F877 INCLUDE <P16F877.INC> __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF & _CPD_OFF DATAOUT EQU 0x20 W_save EQU 0x21 PCLATH_SAVE EQU 0X22 STATUS_SAVE EQU 0X23 FSR_SAVE EQU 0X24 ORG 0x0000 GOTO batdau ORG 0x004 ;<<=======================(thay bởi 0x005 thì thành công) GOTO ISR_NGAT ISR_NGAT MOVWF W_save MOVWF STATUS_SAVE MOVF PCLATH,W CLRF PCLATH MOVF FSR,W MOVWF FSR_SAVE BTFSS PIR1,PSPIF GOTO thoat BCF PIR1,PSPIF BSF STATUS,RP0 BTFSC TRISE,OBF GOTO thoat BCF STATUS,RP0 MOVF DATAOUT,0 MOVWF PORTD thoat BCF STATUS,RP0 MOVF FSR_SAVE MOVWF FSR MOVF PCLATH_SAVE MOVWF PCLATH SWAPF STATUS_SAVE,W MOVWF STATUS SWAPF W_save,1 SWAPF W_save,0 RETFIE ORG 0x000 CLRF STATUS CLRF PCLATH GOTO batdau ORG 0x050 batdau BCF STATUS,RP1 BCF STATUS,RP0 CLRF PORTD BSF STATUS,RP0 MOVLW B'00010111' MOVWF TRISE MOVLW 0x006 MOVWF ADCON1 BSF PIE1,PSPIE BCF STATUS,RP0 BSF INTCON,GIE BSF INTCON,PEIE MOVLW b'01010101' MOVWF DATAOUT MOVF PORTD GOTO $ END Phiền các bạn giải thích hộ ? Thanks ! |
|
|