Vizitator zahei Postat Noiembrie 29, 2005 Partajează Postat Noiembrie 29, 2005 sunt incepator si m-am poticnit deja la primul meu exemplu de programare. ledul ala nenorocit ar trebui sa clipeasca, dar ori n-o face deloc, ori o face sporadic si total neregulat, in functie de tipul de oscilator pe care il selectez din meniu la scriere. ce oscilator ar trebui sa aleg din meniu ca sa folosesc oscilatorul intern al microcontrolerului 16F628A? optiunile sunt: LP, XT, XS, ExtClk, IntRC I/O, IntRC CLKOUT, RC I/O, RC CLKOUT. Link spre comentariu
pavcostel Postat Noiembrie 29, 2005 Partajează Postat Noiembrie 29, 2005 Salut!In mod normal, tipul de oscilator este recunoscut de Ic-Prog asa cum l-ai scris(definit) in program. Esti sigur ca sursa (.asm) cuprinde si definirea oscilatorului? Poti verifica?Daca e un .hex sau .bin de pe net, ar trebui sa contina si definirea la osc, CodeProtect, WatchDog, MCLR, etc.Cu stima,Costel Link spre comentariu
yo5oqa Postat Noiembrie 29, 2005 Partajează Postat Noiembrie 29, 2005 eu folosesc intrc i/o, adica osc intern iar cei 2 pini pot fi folositi ca I/O de uz general; chiar daca in asm (respectiv hex) este deja configurat tipul de oscilator, il poti schimba din setarile din icprog. Link spre comentariu
bogdanm Postat Noiembrie 29, 2005 Partajează Postat Noiembrie 29, 2005 sunt incepator si m-am poticnit deja la primul meu exemplu de programare. ledul ala nenorocit ar trebui sa clipeasca, dar ori n-o face deloc, ori o face sporadic si total neregulat, in functie de tipul de oscilator pe care il selectez din meniu la scriere. ce oscilator ar trebui sa aleg din meniu ca sa folosesc oscilatorul intern al microcontrolerului 16F628A? optiunile sunt: LP, XT, XS, ExtClk, IntRC I/O, IntRC CLKOUT, RC I/O, RC CLKOUT.Vine iarna si ne lasam de motoare, nu ? :supz: Cel mai probabil ar trebui sa mearga cu IntRC. Atentie insa, problema poate fi in cu totul alta parte. Daca ai putea posta codul ar fi mult mai usor. Link spre comentariu
Vizitator zahei Postat Noiembrie 30, 2005 Partajează Postat Noiembrie 30, 2005 codul e banal, in proton basic: Symbol RB3 = PORTB.3 ' Bi-directional I/O portDelayMS 500 ' Wait for PICmicro to stabiliseTRISB = %00000000 ' Set PORTD to all outputLoop: High RB3 ' LED on Delayms 500 ' Delay for .5 seconds Low RB3 ' LED on DelayMS 500 ' Delay for .5 seconds Goto Loop ' Go back to loop and blink LED forever End codul asm generat este cam asta: #Define RB3 PORTB,3F1_SOF equ $ ; BLINK2.BASF1_000002 equ $ ; in [BLINK2.BAS] Delayms 500 ' Wait for PICmicro to stabilise Movlw 1 Movwf PP1H Movlw 244 Call dly@wF1_000003 equ $ ; in [BLINK2.BAS] TRISB = %00000000 ' Set PORTD to all output Bsf STATUS,5ram_bank = 1 Clrf TRISBLOOP Bcf STATUS,5ram_bank = 0F1_000004 equ $ ; in [BLINK2.BAS] Loop: High RB3 ' First LED on Bsf PORTB,3 Bsf STATUS,5ram_bank = 1 Bcf TRISB,3F1_000005 equ $ ; in [BLINK2.BAS] Delayms 500 ' Delay for .5 seconds Movlw 1 Bcf STATUS,5ram_bank = 0 Movwf PP1H Movlw 244 Call dly@wF1_000006 equ $ ; in [BLINK2.BAS] Low RB3 Bcf PORTB,3 Bsf STATUS,5ram_bank = 1 Bcf TRISB,3F1_000007 equ $ ; in [BLINK2.BAS] Delayms 500 ' Delay for .5 seconds Movlw 1 Bcf STATUS,5ram_bank = 0 Movwf PP1H Movlw 244 Call dly@wF1_000008 equ $ ; in [BLINK2.BAS] Goto Loop ' Go back to loop and blink LED forever Goto LOOPF1_000009 equ $ ; in [BLINK2.BAS] EndPb@lb2 Sleep Goto Pb@lb2 END @bogdanm: cel putin microcontrollerele nu sunt periculoase pentru sanatate.. daca nu fac parte dintr-un modul de aprindere de la motocicleta Link spre comentariu
bogdanm Postat Noiembrie 30, 2005 Partajează Postat Noiembrie 30, 2005 Aoleu !! Daca vrei sa-l pui pe aprindere, trebuie sa bagam PIC-uri serios in tine :snakeman:Asta am gasit in datasheet: FOSC2:FOSC0: Oscillator Selection bits111 = RC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, Resistor and Capacitor on RA7/OSC1/CLKIN110 = RC oscillator: I/O function on RA6/OSC2/CLKOUT pin, Resistor and Capacitor on RA7/OSC1/CLKIN101 = INTOSC oscillator: CLKOUT function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN100 = INTOSC oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN011 = EC: I/O function on RA6/OSC2/CLKOUT pin, CLKIN on RA7/OSC1/CLKIN010 = HS oscillator: High speed crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN001 = XT oscillator: Crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN000 = LP oscillator: Low power crystal on RA6/OSC2/CLKOUT and RA7/OSC1/CLKINMi se pare ca optiunea corecta este 100 in cazul tau (sau 101, nu ar trebui sa afecteze codul). Daca il pui asa si nu merge ... e ciudat. Cateva idei:- ai conectat pinul de RESET cum trebuie ? - i-ai 'spus' compilatorului de BASIC ce frecventa are clock-ul ? Trebuie sa aiba o optiune undeva. Daca nu stie, functia Delayms nu prea are cum sa mearga.- cum alimentezi hardughia?- ai dat un verify in ICProg la absolut tot ? (adica cod + fuses). Link spre comentariu
Vizitator zahei Postat Noiembrie 30, 2005 Partajează Postat Noiembrie 30, 2005 - i-ai 'spus' compilatorului de BASIC ce frecventa are clock-ul ? Trebuie sa aiba o optiune undeva. Daca nu stie, functia Delayms nu prea are cum sa mearga.ha! de aici tre sa fie buba. in mod sigur tre sa includ un .inc ceva cu caracteristicile cip-ului. diseara incerc din nou. in rest am verificat tot prin icprog si intr-adevar scrie in cip ce vreau eu sa scrie. Link spre comentariu
yo5oqa Postat Noiembrie 30, 2005 Partajează Postat Noiembrie 30, 2005 device 16f628axtal=4 config INTRC_OSC_NOCLKOUT, etc. ; restul le gasesti in fisierul P16F628A.lpb din directorul /INC ...asa fac eu in ProtonPlus... Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum