[ Robinzon Kruso @ 04.03.2012. 13:04 ] @
Postovani Profesionalci, Amater, Ljubitelji i svi ostali, Evo kratkog opisa problema koji pokusavam da resim. Radi si o Mikrokontroleru PIC16F877A i PIC Basic PRO i VB 6. Projekat je Voltmetar - Komparator. Hardver radi i na terminalu dobijam napone medjuti problem je sto jedino znam i mogu da napone izracunam (ne precisno) u samom mikrokontroleru i da onda uz pomoc HSEROUT rezultat dobijem u Visual Basicu 6. Sve to radi ali je ideja sledeca... Radi se o desetobitnoj A/D konverziji. Da u samom mikrokontroleru dobijem napone recimo U1= x i U2=y da onda preko RS232 x i y (a ne obe promenjive istovremeno kako sad program radi) prenesem jednu po jednu vrednost u Napon1 i Napon2 respektivno u VB6 i da onda odredjenim kolicnikom dobijem realni napon sa minimalnim faktorom greske. Napone u samom mikrokontroleru imam recimo x=200 i y=100 prikazano u terminal preko HSEROUT. Moje pitanje je kako uz pomoc PIC Basica PRO da prvo posaljem vrednost x u promenjivoj Napon1 pa onda y u pr. Napon2. Mozda cu da budem jasniji ako vidite sta kod trenutno radi. Code: DEFINE LOADER_USED 1 'Enable TX and RX with baud rate of 2400 DEFINE HSER_CLROERR 1 'Clear overflow automatically PAUSE 100 NAPON11 VAR byte NAPON12 VAR BYTE NAPON21 VAR BYTE NAPON22 VAR BYTE AD_Rez2 var word ' Rezultat AD konverzije AD_Rez1 var word TRISA = %11111111 ' Port A je ulazni TRISC = %00000000 ADCON1 = %10000010 ' Port A je u analognom modu, 0 i 5V su Main: ADCIN 2, AD_Rez2 ' Izvrsi konverziju na RA2 i 16 bita ' rezultata smesti u AD_Rez. ADCIN 1, AD_Rez1 NAPON11 = (AD_Rez2)/17 ' Delim rezultat sa 17 kako bih priblizno dobio realnu vrednost NAPON12 = (AD_Rez2)//17 NAPON21 = (AD_Rez1)/17 ' Delim ostatak sa 17 kako bih dobio decimalnu vrednost NAPON22 = (AD_Rez1)//17 NAPON12=NAPON12/10 ' Delim decimalnu vrednost kako bih dobio jednu stabilnu civru posle decimale.. NAPON22=NAPON22/10 GOSUB PRIKAZI4 Goto MaiN END PRIKAZI4 HSEROUT["U1=",DEC NAPON11,".",DEC NAPON12," V U2=",DEC NAPON21,".",DEC NAPON22," V",13] Pause 100 RETURN kao sto vidite u podprogramu PRIKAZI4 saljem oba napona i prikazujem ih u jednom Text1.Text u VB6. Kako da to odradim da promenjive AD_Rez2 i AD_Rez3 posljam u promenjive Napon1 i Napon2 u VB6 a onda je lako. Hvala unapred R |