takoda Inserito: 18 aprile 2005 Segnala Share Inserito: 18 aprile 2005 Salve a tutti ho comprato una demo board pic micro x lavoro allora ho deciso anche di provare HI-TECH PICC per programmare in C e ho creto un file come sotto :#include<pic1684.h>main(void){ TRISB = 0; PORTB = 0b00000010;}che accende soltanto un led su RB1, quindi compilato il file come descritto quì http://www.jofi.it/fiser/page5.html ma il led non si accende ho provato e riprovato ma niente allora il base a una guida x pic di tanzilli ho preso un codice in assembler che fa lampeggiare un led e lo ho compilato con MPASMWIN e il led si accende perfettamente non capisco perche ma vi mando anche il codice assembler: PROCESSOR 16F84A RADIX DEC INCLUDE "P16F84A.INC" ERRORLEVEL -302 ;Setup of PIC configuration flags ;XT oscillator ;Disable watch dog timer ;Enable power up timer ;Disable code protect __CONFIG 0x3FF1LED EQU 0 ORG 0x0CCount RES 2 ;Reset Vector ;Start point at CPU reset ORG 0x00 bsf STATUS,RP0 movlw B'00011111' movwf TRISA movlw B'11111110' movwf TRISB bcf STATUS,RP0 bsf PORTB,LEDMainLoop call Delay btfsc PORTB,LED goto SetToZero bsf PORTB,LED goto MainLoopSetToZero bcf PORTB,LED goto MainLoop ;Subroutines ;Software delayDelay clrf Count clrf Count+1DelayLoop decfsz Count,1 goto DelayLoop decfsz Count+1,1 goto DelayLoop return ENDGRAZIE! Link al commento Condividi su altri siti More sharing options...
aduri Inserita: 19 aprile 2005 Segnala Share Inserita: 19 aprile 2005 Prova a mettere nell'include pic.h generico perche' il compilatore dovrebbe riconoscere il tipo di pic automaticamente.Sei sicuro di aver settato i fuses nel modo giusto quando hai usato icprog o epicwin come dice Fiser.Se usi un quarzo setta XT e power-up timere code prot off.ciao Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 20 aprile 2005 Segnala Share Inserita: 20 aprile 2005 (modificato) Ma la compilazione ti funziona ?perche' secondo me manca una F#include<pic16F84.h> o se segui il suo esempio dove seleziona il 16F84A#include<pic16F84A.h> naturalmente devi scegliere in base al PIC che haiCiao Modificato: 20 aprile 2005 da ifachsoftware Link al commento Condividi su altri siti More sharing options...
takoda Inserita: 20 aprile 2005 Autore Segnala Share Inserita: 20 aprile 2005 grazie ma ho già provato allora provate a confrontare questo:Che non funziona e dovrebbe far lampeggiare il led su RB0 su pic 16f84: processor 16F84 INCLUDE "P16F84.INC"_lshift_left equ 0x20 ;bank 0_lshift_right equ 0x21 ;bank 0_rshift_left equ 0x22 ;bank 0_rshift_right equ 0x23 ;bank 0_mul_left equ 0x24 ;bank 0_mul_right equ 0x25 ;bank 0mul_res equ 0x26 ;bank 0mul_cntr equ 0x27 ;bank 0_div_left equ 0x28 ;bank 0_div_right equ 0x29 ;bank 0div_buf equ 0x2a ;bank 0div_cntr equ 0x2b ;bank 0div_res equ 0x2c ;bank 0_mod_left equ 0x2d ;bank 0_mod_right equ 0x2e ;bank 0mod_buf equ 0x2f ;bank 0mod_cntr equ 0x30 ;bank 0_pow_left equ 0x31 ;bank 0_pow_right equ 0x32 ;bank 0pow_res equ 0x33 ;bank 0pow_buf equ 0x34 ;bank 0pow_cntr equ 0x35 ;bank 0var_test equ 0x36 ;bank 0_i equ 0x37 ;bank 0stack0 equ 0x38 ;bank 0stack1 equ 0x39 ;bank 0 errorlevel -302 errorlevel -306 org 0x0 goto main org 0x5mainlabel0 movlw 0x1 bcf STATUS, RP0 bcf STATUS, RP1 movwf var_test movf var_test, f btfsc STATUS, Z goto label1 bsf PORTB, 0 clrf _i movlw 0xff movwf stack0label2 bcf STATUS, RP0 bcf STATUS, RP1 movf stack0, w subwf _i, w btfsc STATUS, Z goto label3 btfsc STATUS, C goto label3label4 bcf STATUS, RP0 bcf STATUS, RP1 incf _i, f goto label2label3 bcf STATUS, RP0 bcf STATUS, RP1 bcf PORTB, 0 clrf _i movlw 0xff movwf stack1label5 bcf STATUS, RP0 bcf STATUS, RP1 movf stack1, w subwf _i, w btfsc STATUS, Z goto label6 btfsc STATUS, C goto label6label7 bcf STATUS, RP0 bcf STATUS, RP1 incf _i, f goto label5label6 goto label0label1 goto $ end Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 20 aprile 2005 Segnala Share Inserita: 20 aprile 2005 L'include è giusto, probabilmente si tratta di un problema che riguarda la configurazione come ha indicato aduri.Ciao. Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 20 aprile 2005 Segnala Share Inserita: 20 aprile 2005 Sbaglio o non hai programmato la portab come uscita?Ciao. Link al commento Condividi su altri siti More sharing options...
takoda Inserita: 20 aprile 2005 Autore Segnala Share Inserita: 20 aprile 2005 si è vero non ho settato la porta ma questo file è generato dal compilatore c!un altra cosa sapete che cosa è questo errore:Error[129] LED_BLINK.ASM 2 : Expected (END)L' END c'e in fonto al sorgente! Link al commento Condividi su altri siti More sharing options...
takoda Inserita: 21 aprile 2005 Autore Segnala Share Inserita: 21 aprile 2005 problema risolto:#include<pic1684.h>main(void){TRISB = 0b11111101;PORTB = 0b00000010;}non riconosceva il numero in decimale ! Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 22 aprile 2005 Segnala Share Inserita: 22 aprile 2005 non riconosceva il numero in decimale ! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora