MPLAB Ide a knihovny
Moderátor: Moderátoři
MPLAB Ide a knihovny
Kód: Vybrat vše
LIST P=12F675, R=DEC
INCLUDE <P12F675.INC>
INCLUDE "OBR.ASM"
errorlevel -302
W_IMG1
CLRF COUNT4
MOVLW HIGH IMG1
MOVWF PCLATH
MOVF COUNT4,W
CALL IMG1
.
.
W_IMG2
CLRF COUNT4
MOVLW HIGH IMG2
MOVWF PCLATH
MOVF COUNT4,W
CALL IMG2
OBR.ASM
Kód: Vybrat vše
;***********************************************************
ORG 0X200
IMG1
ADDWF PCL,F
RETLW 0X00
RETLW 0X00
RETLW 0X00
RETLW 0XE0
RETLW 0X10
.
.
;max 254 x
;***********************************************************
ORG 0X300
IMG2
ADDWF PCL,F
RETLW 0X00
RETLW 0X00
RETLW 0X00
.
.
;max 254 x
Poté se budu vracet zpět na V_IMG1 ? Hodnota HIGH IMG1 je zřejmě počet bytů které chci odeslat. K čemu je COUNT4, kdy se do něj přičítá? Z manuálu chápu, že pokud budu volat 3x CALL (nebo GOTO, RETURN) bude hodnota HIGH IMG1 3x posílaný počet bytů na displej.
Kód: Vybrat vše
MOVLW HIGH IMG1
MOVWF PCLATH byl to jen vytazek takle to vypada cely
Kód: Vybrat vše
W_IMG1
CLRF COUNT4
MOVLW HIGH IMG1
MOVWF PCLATH
MOVF COUNT4,W
CALL IMG1
CALL WRITE_DAT
INCF COUNT4,F
MOVF COUNT4,W
SUBLW .252
BTFSS STATUS,Z
GOTO $-7
RETURNprogram se vrati na PC+1 odkad byl volan
W_LOGO
CLRF COUNT4
MOVLW HIGH LOGO1
MOVWF PCLATH
MOVF COUNT4,W
CALL LOGO1
CALL _parameter
INCF COUNT4,F
MOVF COUNT4,W
SUBLW .95
BTFSC STATUS,Z
GOTO $-9
RETURN
v programu s hodnotami toto (96bytů)
ORG 0x900
LOGO1
ADDWF PCL,F
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
RETLW 0xFF
;--- 2 ---
RETLW 0x81
RETLW 0x81
RETLW 0xFB
RETLW 0xF7
RETLW 0xFB
RETLW 0x81
;--- 3 ---
RETLW 0x81
RETLW 0xFF
RETLW 0x81
RETLW 0x81
......... celkem 96 bytů
Kód: Vybrat vše
BTFSC STATUS,Z chyba , je to moc vysoko , dej ji do max 0x700, _parameter tam musi bejt taky , nebo si musis nastavit PCLATH
Kód: Vybrat vše
ORG 0x900