|
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 |
18-08-2006, 10:42 AM | #1 |
Đệ tử 6 túi
Tham gia ngày: Jun 2005
Bài gửi: 141
: |
Giải thích các thông báo lỗi khi dịch chương trình viết bằng MPLAP
Tôi đang làm một chương trình dùng ngắt timer0 để tạo thời gian trễ để nháy các đèn LED. Chương trình viết bằng MPLAP. Nhưng không hiểu sao dịch ra nó toàn thông báo lỗi:
MPLINK 4.01, Linker Copyright (c) 2005 Microchip Technology Inc. Error - section '.org_3' can not fit the absolute section. Section '.org_3' start=0x00000005, length=0x000000a2 Errors : 1 Đây là chương trình tôi viết: ;================================================= ===================================== ; CHU THICH BAN DAU ;****************** ; Ten chuong trinh : Mach test TIMER0 ; Nguoi thuc hien : tinhthanthep ; Ngay thuc hien : 17/08/2006 ; Phien ban : 1.0 ; Mo ta phan cung : Dung PIC16F628A - dao dong noi 4MHz ; : 8 LED nhay theo timer0 giao tiep voi PORTB ; : Cuc am cua LED noi voi GND ; : 4 nut bam va 4 led bao nut bam tuong ung giao tiep voi PORTA ;-------------------------------------------------------------------------------------- ; Ngay hoan thanh : 17/08/2006 ; Ngay kiem tra : 17/08/2006 ; Nguoi kiem tra : namqn ;-------------------------------------------------------------------------------------- ; Chu thich : Chuong trinh chinh quet Nut bam. Nut bam nao duoc bam thi den Led tuong ; : ung o PORT A se sang. ; : 8 LED o PORT B thi se nhay theo chuong trinh o bang du lieu voi tre duoc ; : tao ra boi TIMER0. ;================================================= ===================================== ; KHOI TAO VI DIEU KHIEN ;*********************** TITLE "Mach test TIMER0" PROCESSOR P16F628A INCLUDE <P16F628A.inc> __CONFIG 0x3D18 ;================================================= ===================================== ; KHAI BAO BIEN ;************** ORG 0x020 ; Bien nam o bank 0 count_1 res 1 ; Bien dem ;-------------------------------------------------------------------------------------- w_temp equ 0x70 ; Bien phuc vu ngat status_temp equ 0x71 ; pclath_temp equ 0x72 ; ;================================================= ===================================== ; KHAI BAO HANG ;************** swport equ PORTA swtris equ TRISA ledport equ PORTB ledtris equ TRISB sw1 equ 7 sw2 equ 6 sw3 equ 5 sw4 equ 4 led1 equ 3 led2 equ 2 led3 equ 1 led4 equ 0 ;================================================= ===================================== ; CHUONG TRINH CHINH ;******************* ORG 0x0000 GOTO MAIN ORG 0x0004 GOTO INTERRUPT ORG 0x0005 MAIN clrf STATUS ; Chon bank 0 clrf swport ; Xoa PORT A clrf ledport ; Xoa PORT B movlw 0x07 ; Thiet lap PORT A la digital I/O movwf CMCON ; clrf INTCON ; Tat cac ngat va xoa mot so flag movlw b'10100000' ; Mo ngat toan cuc va ngat Timer0 movwf INTCON ; bsf STATUS, RP0 ; Chon bank 1 movlw b'11110000' ; Thiet lap 4 chan In cho 4 nut bam movwf swtris ; va 4 chan Out cho 4 LED o PORT A movlw b'00000000' ; Thiet lap 8 chan Out cho 8 LED o PORT B movwf ledtris ; movlw b'11000111' ; Khoi dong Timer0 voi bo chia truoc 1:256 movwf OPTION_REG ; bcf STATUS, RP0 ; Chon bank 0 clrf count_1 ; Xoa bien dem count_1 ;-------------------------------------------------------------------------------------- Loop ; Quet nut bam btfss swport, sw1 ; Nut an 1 co bi bam khong? call Switch_1 ; Co. Nhay toi chuong trinh xu ly nut bam 1 btfss swport, sw2 ; Ko. Nut an 2 co bi bam khong? call Switch_2 ; Co. Nhay toi chuong trinh xu ly nut bam 2 btfss swport, sw3 ; Ko. Nut an 3 co bi bam khong? call Switch_3 ; Co. Nhay toi chuong trinh xu ly nut bam 3 btfss swport, sw4 ; Ko. Nut an 4 co bi bam khong? call Switch_4 ; Co. Nhay toi chuong trinh xu ly nut bam 4 goto Loop ; Ko. Quet lai nut bam ;--------------------------------------------------------------------------------------- Switch_1 ; Chuong trinh xu ly nut bam 1 clrf swport ; Xoa 4 LED bao nut bam bsf swport, sw1 ; Bat LED 1 retlw 0x00 ; Ra khoi chuong trinh xu ly nut bam 1 ;--------------------------------------------------------------------------------------- Switch_2 ; Chuong trinh xu ly nut bam 2 clrf swport ; Xoa 4 LED bao nut bam bsf swport, sw2 ; Bat LED 2 retlw 0x00 ; Ra khoi chuong trinh xu ly nut bam 2 ;--------------------------------------------------------------------------------------- Switch_3 ; Chuong trinh xu ly nut bam 3 clrf swport ; Xoa 4 LED bao nut bam bsf swport, sw3 ; Bat LED 3 retlw 0x00 ; Ra khoi chuong trinh xu ly nut bam 3 ;--------------------------------------------------------------------------------------- Switch_4 ; Chuong trinh xu ly nut bam 4 clrf swport ; Xoa 4 LED bao nut bam bsf swport, sw4 ; Bat LED 4 retlw 0x00 ; Ra khoi chuong trinh xu ly nut bam 4 ;================================================= ===================================== ; CHUONG TRINH NGAT ;****************** INTERRUPT ; Luu gia tri cua cac thanh ghi dac biet movwf w_temp ; Luu gia tri cua thanh ghi W swapf STATUS, w ; Luu gia tri cua thanh ghi STATUS movwf status_temp ; movf PCLATH, w ; Luu gia tri cua thanh ghi PCLATH movwf pclath_temp ; ; Xu ly ngat clrf STATUS ; Chon bank 0 btfsc INTCON, T0IF ; Ngat tran timer0 da xay ra chua? goto T0_INT ; Roi. Nhay toi chuong trinh xu ly ngat Timer0 INT_ERROR ; Chua. Nhay toi phuong an du phong khi ngat goto INT_ERROR ; khong mong doi xay ra. ;--------------------------------------------------------------------------------------- T0_INT ; Xu ly ngat tran timer0 incf count_1, f ; Tang bien dem count_1 len 1 don vi movf count_1, w ; call TABLE_LED ; Nhay toi mau nhay LED xorlw 0x00 ; Kiem tra xem da den cuoi bang LED chua? btfsc STATUS, Z ; goto CLR_C1 ; Roi. Nhay toi CLR_C1 movwf ledport ; Chua. Nhay LED goto JUMP ; Nhay qua CLR_C1 de tranh xoa bien count_1 CLR_C1 ; Xoa bien count_1 clrf count_1 ; JUMP bcf INTCON, T0IF ; Xoa co ngat tran timer0 goto END_ISR ;--------------------------------------------------------------------------------------- END_ISR ; Tra lai gia tri cho cac thanh ghi dac biet movf pclath_temp, w ; Tra gia tri cho thanh ghi PCLATH movwf PCLATH ; swapf status_temp, w ; Tra gia tri cho thanh ghi STATUS movwf STATUS ; swapf w_temp, f ; Tra gia tri cho thanh ghi W swapf w_temp, w ; RETFIE ; Ra khoi chuong trinh ngat ;================================================= ===================================== ; BANG DU LIEU ;************* TABLE_LED addwf PCL, f ; Mau nhay LED retlw b'10000000' retlw b'01000000' retlw b'00100000' retlw b'00010000' retlw b'00001000' retlw b'00000100' retlw b'00000010' retlw b'00000001' retlw b'00000010' retlw b'00000100' retlw b'00001000' retlw b'00010000' retlw b'00100000' retlw b'01000000' retlw 0x00 ;================================================= ===================================== ; KET THUC CHUONG TRINH ;********************** END ;================================================= ===================================== Các bác có thể giải thích dùm cái lỗi này là gì không? Thanks |
|
|