Vizitator H4cK3r Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 Cand bag cablu usb in pickit 2 si deschid programul, imi da eroarea "pickit 2 vpp voltage level error.check target & retry operation".S-a ars pickit 2 sau care ar fi problema?Mentionez ca aceeasi eroare imi da si cand e conectat la pic si cand nu e conectat.Am incercat troubleshoot-ul insa la step o1 imi da ca result short, la step 2 imi da din nou short, si la step 3 la fel.Am ce sa-i fac, sau trebuie cumparat altul? Link spre comentariu
Bandi Szasz Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 Masoara voltajul de pe USB. Ar trebui sa ai intre 4,8-5 V eu pe al meu am 5,07V. Daca folosesti prelungitor vezi sa faca contact calumea. De cand il ai ? De cumparat dupa mine nu merita o clona este mult mai eftina si merge la fel. Eu am cumparat saptamana trecuta unu si merge ca uns nu a dat nici o erroare pana acuma (am dat 60 lej pe el unul original este cam 180 lej deci .... )PIC-ul este alimentat din PICkit2 sau din sursa proprie ? Link spre comentariu
Vizitator H4cK3r Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 voltmetrul meu nu arata zecimalele, si pe ecran a aparut 4v.Nu mai merge de cand am scos matricea si am pus 8 led-uri pentru o aplicatie cu conversie analog-digital.Scurtcircuit nu avea cum sa faca, pentru ca schema e extrem de usoara si am verificat de mai multe ori inainte de a-l conecta la usb.Am pus si un potentiometru,capete la + si -, si piciorusul din mijloc la RA0,cu o rezistenta de 1k. este alimentat de la pickit2 este pickit2 original,l-am gasit la 120 de lei pe un site de electronice. ------------------------------------------------------------------------ Hai ca l-am facut sa mearga,i-am reinstalat os-ul.Ce bine imi pare,ar fi fost aiurea sa dau inca 120 de ron. Ca sa nu fie un topic total inutil, pun codul sursa de la aplicatie.Afisez cu ajutorul a 8 led-uri un numar binar de 8 biti, in functie de unde se afla cursorul potentiometrului.Maxim stanga inseamna 0,maxim dreapta 255. //ad//setare um#pragma config PLLDIV = 5#pragma config CPUDIV = OSC1_PLL2#pragma config USBDIV = 2 #pragma config FOSC = INTOSCIO_EC#pragma config FCMEN = OFF#pragma config IESO = OFF#pragma config PWRT = OFF#pragma config BOR = OFF#pragma config BORV = 3#pragma config VREGEN = OFF#pragma config WDT = OFF#pragma config WDTPS = 32768#pragma config CCP2MX = ON#pragma config PBADEN = OFF#pragma config LPT1OSC = OFF#pragma config MCLRE = OFF#pragma config STVREN = ON#pragma config LVP = OFF#pragma config ICPRT = OFF#pragma config XINST = OFF#pragma config DEBUG = OFF#pragma config CP0 = OFF,CP1=OFF,CP2=OFF,CP3=OFF#pragma config CPB = OFF#pragma config CPD = OFF#pragma config WRT0 = OFF,WRT1 = OFF,WRT2 = OFF,WRT3 = OFF#pragma config WRTC = OFF#pragma config WRTB = OFF#pragma config WRTD = OFF#pragma config EBTR0 = OFF,EBTR1 = OFF,EBTR2 = OFF,EBTR3 = OFF#pragma config EBTRB = OFF#include<p18f4550.h>typedef unsigned char BIT;#define POT PORTAbits.RA0#define LED1 PORTBbits.RB3#define LED2 PORTBbits.RB2#define LED3 PORTBbits.RB1#define LED4 PORTBbits.RB0#define LED5 PORTDbits.RD7#define LED6 PORTDbits.RD6#define LED7 PORTDbits.RD5#define LED8 PORTDbits.RD4//setare//functiivoid afisarebit(BIT var);//void main(void){ OSCCONbits.IRCF2 = 1; //seteaza ceasul la 8MHz OSCCONbits.IRCF1 = 1; OSCCONbits.IRCF0 = 1; TRISBbits.RB3 = 0; //seteaza led-urile ca output TRISBbits.RB2 = 0; TRISBbits.RB1 = 0; TRISBbits.RB0 = 0; TRISDbits.RD7 = 0; TRISDbits.RD6 = 0; TRISDbits.RD5 = 0; TRISDbits.RD4 = 0; TRISAbits.RA0 = 1; ADCON0bits.CHS3 = 0; //seteaza analog RA0 ADCON0bits.CHS2 = 0; ADCON0bits.CHS1 = 0; ADCON0bits.CHS0 = 0; ADCON1bits.VCFG1 = 0; //seteaza referinta la vdd/vss ADCON1bits.VCFG0 = 0; ADCON1bits.PCFG3 = 1; //seteaza RA0 analog ADCON1bits.PCFG2 = 1; ADCON1bits.PCFG1 = 1; ADCON1bits.PCFG0 = 0; ADCON2bits.ADFM = 0; //stanga ADCON2bits.ACQT2 = 1; //timpul de executie analog-digital ADCON2bits.ACQT1 = 0; ADCON2bits.ACQT0 = 1; ADCON2bits.ADCS2 = 1; ADCON2bits.ADCS1 = 0; ADCON2bits.ADCS0 = 1; ADCON0bits.ADON = 1; //porneste conversia a/d while(1){ ADCON0bits.GO_DONE = 1; while(ADCON0bits.GO_DONE == 1){} //pana cand termina conversia afisarebit(ADRESH); }}////void afisarebit(BIT var){ if((var & 0b10000000) == 0b10000000)LED8 = 1; else LED8 = 0; if((var & 0b01000000) == 0b01000000)LED7 = 1; else LED7 = 0; if((var & 0b00100000) == 0b00100000)LED6 = 1; else LED6 = 0; if((var & 0b00010000) == 0b00010000)LED5 = 1; else LED5 = 0; if((var & 0b00001000) == 0b00001000)LED4 = 1; else LED4 = 0; if((var & 0b00000100) == 0b00000100)LED3 = 1; else LED3 = 0; if((var & 0b00000010) == 0b00000010)LED2 = 1; else LED2 = 0; if((var & 0b00000001) == 0b00000001)LED1 = 1; else LED1 = 0; } btw,mersi bandi12 pentru tot ajutorul acordat. Link spre comentariu
Bandi Szasz Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 Nai pentru ce. BTW : Orice produs cumparat are o garantie acuma nu stiu exact dar de obicei se dau 2 ani. Chiar daca nu iti da certificat de garantie parca exista o lege UE care obliga orice vanzator/producator sa returneze bani daca nu it place produsul cumparat (trebuie sa-l duci inapoi in max 10 zile de la cumparare). La electrice cred ca orice obiect cumparat are 30 de zile garantie chiar daca nu iti da certificat te duci cu bonul de casa conform UE. Nu stiu sigur poate ma insel cu cele 30 de zile dar cu cele 10 sunt 100% sigur.Apropo de LED-uri daca sunt legati direct pe PIC sa nu depaseasca consumul de 25mA / Pin atata poate oferi PIC ul pe un I/O Pin. Daca depaseti acest consum si iti trebuie mai mult apelezi la tranzistori (cumutator electronic nu-s scumpe eu utilizez serie BC si sunt la 0.50 lej/buc) Link spre comentariu
briobit Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 cei 255 de pasi cum sunt reprezentati fizic pe cele 8 leduri ... adica se aprinde primul treptat pana la un prag al2 -lea la fel in trepte pana la alt prag si tot asa? sau pana la un prag e aprins primul peste acel prag led 2 si tot asa ?este buna ideea pentru semnalizarea optica a unei statii le lipit ca eu asta am in minte acumva multumesc Link spre comentariu
Bandi Szasz Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 Dupa cate vad eu mult mai sigur cele 255 sunt impartit la 8 adica 32 si atunci intre 0-32 e aprins primul LED. Intre 32-64 primul se stinge si se aprinde al doilea. si asa mai departe. Link spre comentariu
Vizitator H4cK3r Postat Mai 1, 2013 Partajează Postat Mai 1, 2013 led-urile afiseaza in baza 2 fiecare numar de la 1 la 255.de exemplu,7 in baza 2 este 00000111, deci se aprind primele 3 led-uri si tot asa. am conectat un display cu 7 segmente la intregul PORTB, si cu functia asta: void afisarebit(BIT var){ switch(var%10){ case 0:PORTB = 0xC0;break; case 1:PORTB = 0xF9;break; case 2:PORTB = 0xA4;break; case 3:PORTB = 0xB0;break; case 4:PORTB = 0x99;break; case 5:PORTB = 0x92;break; case 6:PORTB = 0x82;break; case 7:PORTB = 0xF8;break; case 8:PORTB = 0x80;break; case 9:PORTB = 0x90;break; }afisez pe ecran cifrele de la 0 la 9, odata ce rotesc de potentiomentru .asta te-ar putea ajuta pe tine, bandi12, pentru a regla ceasul. Link spre comentariu
Vizitator H4cK3r Postat Mai 2, 2013 Partajează Postat Mai 2, 2013 typedef unsigned char BITAm ales char pentru ca mplab nu are predefinit un tip de date pe 8 biti, special facut pentru astfel de aplicatii, si pentru ca char e un numar de 8 biti lungime. Link spre comentariu
Bandi Szasz Postat Mai 2, 2013 Partajează Postat Mai 2, 2013 Ma gandea la o solutie mult mai simpla 2 butoane unu pentru ora si unu pentru minute. Poate mai adaug unu-l sa vad ma gandea sa adaug si un senzor termic LM35 si atunci fac 3 functi. Numai ceas, ceas + temperatura (vor fi afisate pe rand cate 5s fiecare), sau numai temperatura. Ramane de vazut pentru moment imi scire un messaj "HELLO" la pornire xD , am commandat DS1307 + quart-ul dar cu pastele si tot dureaza pana il primesc. Pana astep mam apucat sai fac o cutie din PFL laminat sa se asorteze cu mobila. Oricum mersi de partea cu potentiomentrul o sa fie folositor la alte projecte. (Am vazut niste VU metere tip tower super faine , cand imi fac cea timp urmeaza sa le fac) Acolo o sa fie nevoie de el. 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