Re: CODE、ORG的差別
|
||||
---|---|---|---|---|
高級會員
|
我現在也在用16F887
可以給你參考... 我是這樣用的... ORG 0000H(RESET) ORG 0004H(中斷) PAGE0(副程式) ORG 0700H(主程式) ORG 0800H PAGE1(副程式) ORG 1000H PAGE2(副程式) ORG 1800H PAGE3(副程式) ORG 1FFFH(END) 一切都正常... 不過PAGESEL就要善用喔!!!
發表於: 2008/6/10 9:04
|
|||
|
CODE、ORG的差別
|
||||
---|---|---|---|---|
新會員
|
各位前輩好,我有問題想請教各位。
我用的PIC型號是:PIC16F887 我有問題想請教各位: 因為我寫的程式比較大,所以會有跨頁的問題,因此 會在寫程式先定義每個PAGE的起始位置。而我目前會用到三個PAGE。我的主程式是寫在PAGE0,而其它的PAGE是寫副程式。以下是我寫程式定義每個PAGE的方式: ;============PAGE0 RESET_VECTOR CODE 0X000 NOP GOTO START INT_VECTOR CODE 0X004 PAGESEL INTERRUPT GOTO INTERRUPT MAIN CODE START: ;MAIN POGRAM : : ;============PAGE1 PAGE1_SECT CODE 0X0800 SUBROUTINE0 : : RETURN SUBROUTINE1 : : RETURN : : ;============PAGE2 PAGE2_SECT CODE 0X1000 SUBROUTINE_0 : : RETURN SUBROUTINE_1 : : RETURN : : END 我的問題是,在程式用兩到個PAGE時,寫在PAGE0的主程式在從0000開始,而寫在PAGE1的副程式會從0800開始。而當我程式用到三個PAGE後,寫在寫在PAGE1的副程式還是從0800開始。但原本在PAGE0的主程式不是從0000而是從定義在PAGE2的副程式之後。例如:PAGE2的副程式是由1000~10F0 則原本在PAGE0的主程式則是由10F1開始。請問這是什麼問題。還有想在請教一個問題是,我看書上寫的程式,程式的開始者是用ORG 00H,沒有用COED 00H,但是我用CODE也可以寫,所用我想請教這兩個的差別在那。麻煩各位前輩指道。謝謝。
發表於: 2008/6/9 17:16
|
|||
|