include "modedefs.bas" define osc 8 DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 4 DEFINE LCD_BITS 4 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 2 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 3 DEFINE LCD_LINES 2 dEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 40 Define ADC_BITS 10 ' Broj bita Define ADC_CLOCK 1 ' 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 4800 ' 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 Napon_1 var word Napon_2 var word Napon_3 var word Napon_4 var word Napon_5 var word Napon_6 var word Napon_7 var word Napon_8 var word Dummy_1 var byte Dummy_2 var byte Dummy_3 var byte Dummy_4 var byte Dummy_5 var byte Dummy_6 var byte Dummy_7 var byte Dummy_8 var byte i var bit USBBufferSizeMax con 18 'maksimalna velicina bafera USBBufferSizeTX con 18 'Ulaz USBBufferSizeRX con 18 'IZlaz test var word 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 [dec usbbuffer[0]] 'timeout1: 'hserin 5000,timeout1, [dec3 test] ' if test = 444 then hserout [dec usbbuffer[1]] ' endif timeout2: hserin 5000,timeout2, [dec3 test] if test = 444 then hserout [dec usbbuffer[2]] endif timeout3: hserin 5000,timeout3, [dec3 test] if test = 444 then hserout [dec usbbuffer[3]] endif timeout4: hserin 5000,timeout4, [dec3 test] if test = 444 then hserout [dec usbbuffer[4]] endif timeout5: hserin 5000,timeout5, [dec3 test] if test = 444 then hserout [dec usbbuffer[5]] endif timeout6: hserin 5000,timeout6, [dec3 test] if test = 444 then hserout [dec usbbuffer[6]] endif timeout7: hserin 5000,timeout7, [dec3 test] if test = 444 then hserout [dec usbbuffer[7]] endif timeout8: hserin 5000,timeout8, [dec3 test] if test = 444 then hserout [dec usbbuffer[8]] endif timeout9: hserin 5000,timeout9, [dec3 test] if test = 444 then hserout [dec usbbuffer[9]] endif timeout10: hserin 5000,timeout10, [dec3 test] if test = 444 then hserout [dec usbbuffer[10]] endif timeout11: hserin 5000,timeout11, [dec3 test] if test = 444 then hserout [dec usbbuffer[11]] endif timeout12: hserin 5000,timeout12, [dec3 test] if test = 444 then hserout [dec usbbuffer[12]] endif timeout13: hserin 5000,timeout13, [dec3 test] if test = 444 then hserout [dec usbbuffer[13]] endif timeout14: hserin 5000,timeout14, [dec3 test] if test = 444 then hserout [dec usbbuffer[14]] endif timeout15: hserin 5000,timeout15, [dec3 test] if test = 444 then hserout [dec usbbuffer[15]] endif timeout16: hserin 5000,timeout16, [dec3 test] if test = 444 then hserout [dec usbbuffer[16]] endif high porte.0 pause 100 low porte.0 pause 100 high porte.0 pause 100 low porte.0 pause 100 high porte.0 pause 100 low porte.0 pause 100 RETURN