ovy_pas Postat Noiembrie 8, 2009 Partajează Postat Noiembrie 8, 2009 Se da: un 18F2550 ; un 16F870 ; Soft de programare Mikro C , Soft descarcare program Win Pic, Soft simulare Oshon .Fac programele pentru ambele PIC-uri in C cu Mikro C , le verific cu Simulatorul Oshon si la simulare merg ok.Descarc programele din Win Pic in PIC-uri cu succes, Inchid Win PIC si il redeschid, verific buferul cu programele descarcate pt fiecare in parte si e succes e ok, Acum pun PIC -urile la treaba intr-un montaj test trebuie sa aprinda si sa stinga un LED la unul din pini adica RB6...(Montajul este: pin1 rezistenta 5.6kohmi de la +5v, pin9,10 cuartz 8Mhz cu 2 condensatoare 27pF , 8,19 masa, 20 +5v, 27- RB6 rezistenta 1kohm LED la masa= iesire test)Ce se intampla?... 16F870 functioneaza ok ca si la simulare, iar 18F2550 nu face nimic desi in simulator functiona, desi Win Pic la verificare imi confirma ca e ok..Se cere care este cauza?1 Montajul nu poate fi fiindca 16F870 functioneaza din cate m-am documentat cele doua PIC-uri au pinii la fel.2 Sa fie ceva din programare, sa zicem dar nu inteleg de ce in simulare e ok dar real nimic nu face?Astept parerile voastre ca eu nu imi pot da seama e ciudat, ceva imi scapa. Link spre comentariu
ramsesrr Postat Noiembrie 8, 2009 Partajează Postat Noiembrie 8, 2009 oscilatorul l ai pus XT sau HS? Link spre comentariu
ovy_pas Postat Noiembrie 8, 2009 Autor Partajează Postat Noiembrie 8, 2009 Oscilatorul HS la amandoua PIC Link spre comentariu
ovy_pas Postat Noiembrie 10, 2009 Autor Partajează Postat Noiembrie 10, 2009 Nu are nimeni idee ce se intampla? Link spre comentariu
nooob64 Postat Noiembrie 10, 2009 Partajează Postat Noiembrie 10, 2009 Ai folosit acelasi cod mikroC la amblele PIC'uri ?Incearca sa pui ceva soft de led blink la acel 18f2550 din exemplele de la mikroC (cele din foldere nu din help)Posibil sa nu fie setati bine config bitii , dale default la 18f2550 ....Winpic800 ar trebuii sa isi faca treaba cu programarea. Link spre comentariu
ovy_pas Postat Noiembrie 11, 2009 Autor Partajează Postat Noiembrie 11, 2009 void main() { TRISB=0; PORTB=0; while(1){ PORTB.F6=!PORTB.F6 ; Delay_ms(1000); }}Acesta este codul care l-am introdus in ambele pic'uri nu am lucrat cu PORTA tocmai pentru ca nu ma prea pricep sa configurez analogicele in digitale astfel sa elimin orice neclaritate;Exemplele LED Blinking de la mikroC din foldere sunt cu PIC18F87J60 si PIC18F8520 nu au cu PIC18F2550La descarcare WinPic folosesc nu WinPic800 nu sunt probleme imi zice ca programul in PIC18F2550 a fost cu succes, la verificare zice ca e ok Link spre comentariu
sofian Postat Noiembrie 11, 2009 Partajează Postat Noiembrie 11, 2009 trebuie obligatoriu sa faci porturile digitale ca sa mearga la reset picul face porturile intrari analogice ptr a evita orice conflict de nivel logic portul B la picul 2550 este si analogic, deci ca sa faci digital I/O trebuie ptr asmmovlw 0x0Emovwf ADCON1ptr CADCON1=0x0E; Link spre comentariu
ovy_pas Postat Noiembrie 12, 2009 Autor Partajează Postat Noiembrie 12, 2009 ai dreptate PORTB este si cu analogice.Daca tot am ajuns la subiectul asta te rog sa imi raspunzi la urmatoarele cazuri1.Ce trebuie sa scriu in cod sa fac PORTA cu digitale?2 Ce trebuie sa scriu ca sa fac PORTA si PORTB digitale?3 Ce trebuie sa scriu sa fac PORTA de exemplu RA0, RA1 analogic restul digital?in C nu in asm. Link spre comentariu
ovy_pas Postat Noiembrie 14, 2009 Autor Partajează Postat Noiembrie 14, 2009 void main() { TRISC=0; PORTC=0; while(1){ PORTC.F2=!PORTC.F2 ; Delay_ms(1000); }Am introdus acest cod sa nu am treaba cu configuratea intrarilor analogice de la PORTA si PORTB si am lucrat pe PORTC si nimic la pinul RC2 desi program are in el si HEX'ul la simulare imi merge ok.Sa fie de vina cuartz'ul care e de 8MHz, repet cu PIC 18F870 merge fara probleme.Ce sa aiba oare? Link spre comentariu
Liviu M Postat Noiembrie 14, 2009 Partajează Postat Noiembrie 14, 2009 PORTC.F2=!PORTC.F2 ;Esti sigur ca ai initializat picurile bine? N-am facut inca nimic cu picuri 18f, da' din ce m-am uitat pe ceva documentatii, se initializeaza putin altfel.De exemplu, la 16f87x ai un singur registru cu bitii de configurare, la 18F... sunt ceva mai multi. Link spre comentariu
kit Postat Noiembrie 15, 2009 Partajează Postat Noiembrie 15, 2009 la proiectul meu cu 18f2550 folosesc platforma C18, iar treaba sta un pic mai complicat, folosind si portul USB. In principiu insa, initializarea 2550 sta cam asa: TRISB=0;TRISC=0;ADCON1 |= 0x0F; // Default all pins to digitalCMCON=0x07;mai sunt chestii de initializare a portului USB, dar e o intreaga biblioteca de functii, asa ca nu o postez. intrebai care-i setarea pentru AN0, AN1 analogice si restul digitale. pai: ADCON1 |= 0x0D; // AN0,AN1 analogic, restul digital(v. manual, cap. 21, registrul 21-2). despre initializarea 2550: #pragma config WDT=OFF#pragma config PBADEN=OFF#pragma config PWRT = OFF #pragma config PLLDIV = 5 //20MHz#pragma config FOSC = HSPLL_HS //astea trei linii imi duc frecventa interna la 48MHz#pragma config CPUDIV = OSC1_PLL2 //v. manual, cap. 2, tabelul 2-3#pragma config MCLRE = ON#pragma config LVP = OFF#pragma config USBDIV = 2 //clockul USB vine de la clockul intern de 96 MHz si se imparte la 2#pragma config VREGEN = ON#define USE_USB_BUS_SENSE_IO //setare USB(ATENTIE! am folosit un cristal de 20MHz). pe PORTC, taman la RC2 ai comparatorul, iar CMCON=0x07;il dezactiveaza (v. manual, cap. 22, Register 22-1 si figura 22-1). toata vorbaria mea se aplica pe platforma C18. trebuie adaptata pe microC, despre care nu am habar. bafta! Link spre comentariu
ovy_pas Postat Noiembrie 15, 2009 Autor Partajează Postat Noiembrie 15, 2009 void main() { ADCON1 |= 0x0D; // Configurare I/O digital CMCON=0x07; //Dezactivare comparator TRISC=0; //Configurare PORTC ca iesiri PORTC=0; //Initializare PORTC while(1){ PORTC.F2=!PORTC.F2 ; Delay_ms(1000); }}Am introdus acest cod dar tot nu merge. Mai trebuie si alte initializari?Posibil sa fie pic'ul defect? Are cineva un HEX pentru 18f2550 cu led blink care l-a testat pls...? Link spre comentariu
kit Postat Noiembrie 15, 2009 Partajează Postat Noiembrie 15, 2009 ok, ai pus initializarea din cadrul programului, dar bitii de configurare unde i-ai setat? i-ai setat? am vazut modificarile din main(), nu insa si toate directivele #pragma... poate te descurca de pe site-ul microelectronica chestiile astea: http://www.mikroe.com/forum/viewtopic.p ... ht=18f2550 http://www.mikroe.com/forum/viewtopic.p ... ht=18f2550 daca nu, atunci nu ezita sa-i intrebi cum se face, ei stiu cel mai bine mikroC totusi, verifica si partea de hard... bafta! Link spre comentariu
ovy_pas Postat Noiembrie 16, 2009 Autor Partajează Postat Noiembrie 16, 2009 La partea de hard sa fie din cauza condensatorului de la pinul 14 - Vusb ? Nu am condensator intre pin 14 si masa. In rest montajul e testat cu pic 16f870 si merge... deci nu sunt probleme de gresela la cablare, daca erau asemenea probleme nu mi mergea nici cu 870. Am atasat bitii de configurare in mikroC... Link spre comentariu
kit Postat Noiembrie 16, 2009 Partajează Postat Noiembrie 16, 2009 Da, la cond-ul ala ma refeream... poate ar trebui, in aplicatiile USB sigur trebuie. (parca 220nF, unii recomanda 470nF).Lasa Power UP Timer enabled.Apoi, 2550 este facut sa mearga pe USB. Poate ar trebui sa incluzi initializarea si tratarea USB in program? Bafta! 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