poker72 |
|
| salve vorrei congratularmi per il meraviglioso forum che avete creato pieno di risorse e persone preparatissime,detto questo vengo al sodo , premetto che sono quasi 20anni che non facevo piu niente del genere ho cercato di fare un programma in assembler per un pic il 16f84 . Quando vado a compilarlo mi restituisce questo errore : Warning[203] C:\BBB\PROVA123.TXT 21 : Found opcode in column 1. (bsf) Warning[203] C:\BBB\PROVA123.TXT 24 : Found opcode in column 1. (clrf) Message[302] C:\BBB\PROVA123.TXT 24 : Register in operand not in bank 0. Ensure that bank bits are correct. Warning[203] C:\BBB\PROVA123.TXT 27 : Found opcode in column 1. (movlw) Message[302] C:\BBB\PROVA123.TXT 28 : Register in operand not in bank 0. Ensure that bank bits are correct.
allego anche il codice : ;---------------------------------------------------------------; ;--------------Programma per attivare tramite 2 pulsanti--------; ;--------------2 led e 2 elettrovalvole-------------------------;
list p=16F84 RADIX DEC INCLUDE P16F84.INC __confiG _LP_OSC & _PWRTE_OFF & _WDT_OFF & _CP_OFF ORG 00H elettro1 equ 1 ; pulsante1 presso1 equ 2 ; pulsante2 valvo1rb0 equ 00000101 ; pin alto su valvola1 e su led1 valvo2rb1 equ 00001010 ; pin alto su valvola2 e su led2 delay1 equ 0x22 delay2 equ 0x23
;-----------------------------------------------------------------
bsf STATUS,RP0 ;attiva banco 1 per accedere alle TRIS
movlw 00000000B movwf TRISA ; configuro in trisA per abilitare RA0 a RA3 come ingressi
movlw 00001111B movwf TRISB ; configuro TRISB per abilitare RB0 RB1 RB2 RB3 come uscite
bcf STATUS,RP0 ;attivo il banco 1 per accedere alle port
movlw 00000000B movwf PORTA ;metto gli ingressi a 0
movlw 00000000B movwf PORTB ; metto a 0 le uscite
;----------------------------------------------------------- ;------------ricerca il pin a livello logico alto ----------
Tasti
btfss PORTA,elettro1 goto Passo1
btfss PORTA,presso1 goto Passo2
movlw 00000000B ;riporto portB a 0 quando elettro1 o presso1 vengono rilasciati movwf PORTB
call Ritardo
;----------------------------------------------------------- ;-------------------primo passo-----------------------------
Passo1
movlw valvo1rb0 movwf PORTB ;accende RB0 e RB2
call Ritardo
;------------------------------------------------------------ ;------------------secondo passo-----------------------------
Passo2
movlw valvo2rb1 movwf PORTB ; accende RB1 e RB3
call Ritardo
;------------------------------------------------------------- ;-------------ritardo-----------------------------------------
Ritardo
clrf delay1 ; metto a 0 il registro clrf delay2 ; metto a 0 il registro
loop
decfsz delay1 goto loop decfsz delay2 goto loop
return ;--------------------------------------------------------- END
la parte incriminata e' questa
bsf STATUS,RP0 ;attiva banco 1 per accedere alle TRIS
movlw 00000000B movwf TRISA ; configuro in trisA per abilitare RA0 a RA3 come ingressi
ora configurandolo in questo modo non mi restituisce errori
clrf TRISA
a questo punto non capisco non dovrebbe essere uguale ?
|
| |