include "modedefs.bas" define osc 20 Define ADC_BITS 10 ' Broj bita Define ADC_CLOCK 20/8 ' Klok (0=Oscilator /8) ' Set receive register to receiver enabled DEFINE HSER_RCSTA 90h ' Set transmit register to transmitter enabled DEFINE HSER_TXSTA 20h ' Set baud rate DEFINE HSER_BAUD 2400 ' Set SPBRG directly (normally set by HSER_BAUD) DEFINE HSER_SPBRG 25 AD_Rez_1 var word 'rezultat ad konverzije AD_Rez_2 var word 'rezultat ad konverzije AD_Rez_3 var word 'rezultat ad konverzije AD_Rez_4 var word 'rezultat ad konverzije AD_Rez_5 var word 'rezultat ad konverzije AD_Rez_6 var word 'rezultat ad konverzije AD_Rez_7 var word 'rezultat ad konverzije AD_Rez_8 var word 'rezultat ad konverzije USBBufferSizeMax con 18 'maksimalna velicina bafera USBBufferSizeTX con 18 'Ulaz USBBufferSizeRX con 18 'IZlaz test var byte USBBuffer var byte[USBBufferSizeMaX] USBBufferCount var byte 'Odabiranje pojedinih AD kanala ADCON0 = %0000001 'KANAL1 ADCON0 = %0000101 'KANAL2 ADCON0 = %0001001 'KANAL3 ADCON0 = %0001101 'KANAL4 ADCON0 = %0010001 'KANAL5 ADCON0 = %0010101 'KANAL6 ADCON0 = %0011001 'KANAL7 ADCON0 = %0011101 'KANAL8 pAUSE 500 TRISA = %11111111 'PORT A JE ULAZNI ADCON1 = %10000010 'PORT A JE U ANALOGNOM MODU, 'REZULTAT JE DESNO FORMATIRAN, '0 I 5 SU REFERENTNI NAPONI. pause 500 Pocetak: ProgramStart: GOsub DoSerIn goto ProgramStart DoSerIn: usbbuffercount = usbbuffersizerx hserin [dec3 usbbuffer[0]] if usbbuffer[0] = 254 THEN gosub DoSerOut endif return DoSerOut: usbbuffercount = usbbuffersizetx USBBuffer[0] = 254 'REALIZACIJA AD KONVERZIJE adcin 0, ad_rez_3 'izvrsi konverziju na RA0 i 10 bita 'rezultata smesti u AD_rez_1 adcin 1, ad_rez_4 'izvrsi konverziju na RA1 i 10 bita 'rezultata smesti u AD_rez_2 adcin 2, ad_rez_1 'izvrsi konverziju na RA2 i 10 bita 'rezultata smesti u AD_rez_3 adcin 3, ad_rez_2 'izvrsi konverziju na RA3 i 10 bita 'rezultata smesti u AD_rez_4 adcin 4, ad_rez_5 'izvrsi konverziju na RA4 i 10 bita 'rezultata smesti u AD_rez_5 adcin 5, ad_rez_6 'izvrsi konverziju na RA5 i 10 bita 'rezultata smesti u AD_rez_6 adcin 6, ad_rez_7 'izvrsi konverziju na RA6 i 10 bita 'rezultata smesti u AD_rez_7 adcin 7, ad_rez_8 'izvrsi konverziju na RA7 i 10 bita 'rezultata smesti u AD_rez_8 usbbuffer[1] = ad_rez_1.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[2] = ad_rez_1.Highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[3] = ad_rez_2.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[4] = ad_rez_2.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[5] = ad_rez_3.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[6] = ad_rez_3.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] Usbbuffer[7] = ad_rez_4.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[8] = ad_rez_4.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[9] = ad_rez_5.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[10] = ad_rez_5.Highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[11] = ad_rez_6.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[12] = ad_rez_6.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[13] = ad_rez_7.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[14] = ad_rez_7.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] Usbbuffer[15] = ad_rez_8.lowbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] usbbuffer[16] = ad_rez_8.highbyte 'Nizi bajt rezultata smesti 'u USBBuffer[1] hserout [usbbuffer[0]] hserout [usbbuffer[1]] hserout [usbbuffer[2]] hserout [usbbuffer[3]] hserout [usbbuffer[4]] hserout [usbbuffer[5]] hserout [usbbuffer[6]] hserout [usbbuffer[7]] hserout [usbbuffer[8]] hserout [usbbuffer[9]] hserout [usbbuffer[10]] hserout [usbbuffer[11]] hserout [usbbuffer[12]] hserout [usbbuffer[13]] hserout [usbbuffer[14]] hserout [usbbuffer[15]] hserout [usbbuffer[16]] RETURN