triallag |
28-11-2009 01:56 AM |
Lỗi khi dịch MPLAB IDE
Đoạn code của em như sau
Code:
LIST P=18F4520
#INCLUDE P18F4520.INC
#define LATCH_DIR TRISA,1
#define LATCH_DATA PORTA,1
udata
GREEN_SCREEN_BUFFER RES .8
RED_SCREEN_BUFFER RES .8
SEVEN_LED_BUFFER RES .8
COLUMN_BUFFER RES .8
INDEX_OF_BUFFER RES .1
RED_DATA RES .1
GREEN_DATA RES .1
SEVEN_LED_DATA RES .1
COLUMN_DATA RES .1
ORG 0X00
GOTO MAIN
ORG 0X18
GOTO ISR_L
MAIN
CALL INIT_SPI
CALL INIT
CALL INIT_TIMER0
GOTO $
INIT_TIMER0
BSF RCON,IPEN ;enable priority interrupts.
BSF INTCON2,TMR0IP
BCF INTCON,TMR0IF
BSF INTCON,TMR0IE
BSF INTCON,GIEH
BSF INTCON,GIEL
CLRF T0CON
MOVLW 0xFF
MOVWF TMR0H
MOVLW 0xFE
MOVWF TMR0L
BSF T0CON,TMR0ON
RETURN
INIT_SPI
CLRF SSPCON1 ;SET Fspi = f/4
BSF SSPCON1,5 ;ENALBLE SPI MODE
BCF TRISC,5
BCF TRISC,3
return
INIT
MOVLW 0x0F
MOVWF ADCON1
BCF LATCH_DIR
BCF LATCH_DATA
CLRF INDEX_OF_BUFFER
call Column_set_up
call Red_set_up
call Green_set_up
call Led_set_up
RETURN
Buffer_set_up macro buffer, temp_data
movff temp_data, POSTINC0
endm
Column_set_up
movlw high COLUMN_BUFFER
movwf FSR0H
movlw low COLUMN_BUFFER
movwf FSR0L
movlw 0x01
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x02
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x04
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x08
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x10
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x20
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x40
Buffer_set_up COLUMN_BUFFER, WREG
movlw 0x80
Buffer_set_up COLUMN_BUFFER, WREG
return
Red_set_up
movlw high RED_SCREEN_BUFFER
movwf FSR0H
movlw low RED_SCREEN_BUFFER
movwf FSR0L
movlw 0xff
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
Buffer_set_up RED_SCREEN_BUFFER, WREG
return
Green_set_up
movlw high GREEN_SCREEN_BUFFER
movwf FSR0H
movlw low GREEN_SCREEN_BUFFER
movwf FSR0L
movlw 0x00
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
Buffer_set_up GREEN_SCREEN_BUFFER, WREG
return
Led_set_up
movlw high SEVEN_LED_BUFFER
movwf FSR0H
movlw low SEVEN_LED_BUFFER
movwf FSR0L
movlw 0x00
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
Buffer_set_up SEVEN_LED_BUFFER, WREG
return
SPI_TRANSMIT MACRO TEMP_DATA;Has data been received (transmit complete)?
MOVF TEMP_DATA, W ;W reg = contents of TXDATA
MOVWF SSPBUF
BTFSS SSPSTAT, BF
GOTO $-2 ;No
ENDM
UPDATE_DATA MACRO BUFFER,TEMP_DATA
MOVLW HIGH BUFFER
MOVWF FSR0H
MOVLW LOW BUFFER
MOVWF FSR0L
MOVFF INDEX_OF_BUFFER,WREG
ADDWF FSR0L,F
CLRF WREG
ADDWFC FSR0H
MOVFF INDF0,TEMP_DATA
ENDM
CLOCK_STORAGE
BSF LATCH_DATA
NOP
NOP
BCF LATCH_DATA
NOP
NOP
BSF LATCH_DATA
RETURN
INCREASING_INDEX
incf INDEX_OF_BUFFER
movlw .8
cpfseq INDEX_OF_BUFFER
goto exit
clrf INDEX_OF_BUFFER
exit
return
DISPLAY
UPDATE_DATA RED_SCREEN_BUFFER,RED_DATA
UPDATE_DATA GREEN_SCREEN_BUFFER,GREEN_DATA
UPDATE_DATA SEVEN_LED_BUFFER,SEVEN_LED_DATA
UPDATE_DATA COLUMN_BUFFER,COLUMN_DATA
SPI_TRANSMIT COLUMN_DATA
SPI_TRANSMIT SEVEN_LED_DATA
SPI_TRANSMIT GREEN_DATA
SPI_TRANSMIT RED_DATA
CALL INCREASING_INDEX
CALL CLOCK_STORAGE
RETURN
ISR_L
BCF INTCON,TMR0IF
BCF INTCON,TMR0ON
MOVLW 0xFF
MOVWF TMR0H
MOVLW 0xFE
MOVWF TMR0L
call DISPLAY
BSF INTCON,TMR0ON
retfie
END
Em dùng IDE v7.05, con 18f4520, và đã add file 18f4520.lkr vào project, dịch thì ko báo lỗi, dòng cuối nó báo:
MPLINK 4.06, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - section '.org_1' can not fit the absolute section. Section '.org_1' start=0x00000018, length=0x000001d6
Errors : 1
lỗi này có nghĩa là gì vậy, sửa lại làm sao, mong mấy anh chỉ giúp
|