|
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 |
28-11-2009, 01:56 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Oct 2009
Bài gửi: 2
: |
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 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 thay đổi nội dung bởi: namqn, 28-11-2009 lúc 08:41 AM. Lý do: định dạng code |
|
|