; PICBASIC PRO(TM) Compiler 2.47, (c) 1998, 2006 microEngineering Labs, Inc. All Rights Reserved. _USED EQU 1 INCLUDE "C:\PBP\18F4550.INC" ; Define statements. #define OSC 48 #define LCD_DREG PORTB #define LCD_DBIT 0 #define LCD_RSREG PORTE #define LCD_RSBIT 2 #define LCD_EREG PORTE #define LCD_EBIT 0 #define LCD_RWREG PORTE #define LCD_RWBIT 1 #define LCD_BITS 8 #define LCD_LINES 4 #define LCD_COMMANDUS 2000 #define LCD_DATAUS 100 #define ADC_BITS 8 #define ADC_CLOCK 3 #define ADC_SAMPLEUS 50 RAM_START EQU 00000h RAM_END EQU 003FFh RAM_BANKS EQU 00004h BANK0_START EQU 00060h BANK0_END EQU 000FFh BANK1_START EQU 00100h BANK1_END EQU 001FFh BANK2_START EQU 00200h BANK2_END EQU 002FFh BANK3_START EQU 00300h BANK3_END EQU 003FFh BANKA_START EQU 00000h BANKA_END EQU 0005Fh FLAGS EQU RAM_START + 000h R0 EQU RAM_START + 001h R1 EQU RAM_START + 003h R2 EQU RAM_START + 005h R3 EQU RAM_START + 007h R4 EQU RAM_START + 009h R5 EQU RAM_START + 00Bh R6 EQU RAM_START + 00Dh R7 EQU RAM_START + 00Fh R8 EQU RAM_START + 011h T1 EQU RAM_START + 013h GOP EQU RAM_START + 015h RM1 EQU RAM_START + 016h RM2 EQU RAM_START + 017h RR1 EQU RAM_START + 018h RR2 EQU RAM_START + 019h RS1 EQU RAM_START + 01Ah RS2 EQU RAM_START + 01Bh _adval EQU RAM_START + 01Ch _ch EQU RAM_START + 01Dh _cnt EQU RAM_START + 01Eh _dat EQU RAM_START + 01Fh _i EQU RAM_START + 020h _j EQU RAM_START + 021h _k EQU RAM_START + 022h _sw EQU RAM_START + 023h _x EQU RAM_START + 024h _y EQU RAM_START + 025h _buffer EQU RAM_START + 026h _PORTL EQU PORTB _PORTH EQU PORTC _TRISL EQU TRISB _TRISH EQU TRISC #define _LED _PORTC??0 #define _PORTC??0 PORTC, 000h #define _PORTE??1 PORTE, 001h ; EEPROM data. INCLUDE "USBCDC~1.MAC" INCLUDE "C:\PBP\PBPUSB18.LIB" MOVE?CB 0FFh, TRISA MOVE?CB 002h, ADCON1 MOVE?CB 000h, TRISC MOVE?CB 000h, TRISE MOVE?CB 000h, TRISB LOW?T _PORTE??1 LABEL?L _START LCDOUT?C 0FEh LCDOUT?C 001h LCDOUT?C 055h LCDOUT?C 053h LCDOUT?C 042h LCDOUT?C 020h LCDOUT?C 052h LCDOUT?C 065h LCDOUT?C 061h LCDOUT?C 064h LCDOUT?C 079h USBINIT? LOW?T _LED LABEL?L _idleloop USBSERVICE? MOVE?CB 010h, _cnt USBIN?CBBL 003h, _buffer, _cnt, _idleloop MOVE?BB _buffer, _sw TOGGLE?T _LED CMPNE?BCL _sw, 030h, L00006 MOVE?CB 000h, _i LABEL?L L00007 CMPGT?BCL _i, 00Eh, L00008 LOOKUP?BCLB _i, 00Fh, L00001, _dat LURET?C 048h LURET?C 065h LURET?C 06Ch LURET?C 06Ch LURET?C 06Fh LURET?C 020h LURET?C 057h LURET?C 06Fh LURET?C 072h LURET?C 06Ch LURET?C 064h LURET?C 021h LURET?C 00Dh LURET?C 00Ah LURET?C 000h LABEL?L L00001 AIN?BBB _dat, _buffer, _i NEXT?BCL _i, 001h, L00007 LABEL?L L00008 GOTO?L L00005 LABEL?L L00006 CMPNE?BCL _sw, 031h, L00009 ADCIN?CB 001h, _adval PAUSE?C 032h MOVE?CB 031h, _ch GOSUB?L _adc2buff GOTO?L L00005 LABEL?L L00009 CMPNE?BCL _sw, 032h, L00010 ADCIN?CB 002h, _adval PAUSE?C 032h MOVE?CB 032h, _ch GOSUB?L _adc2buff GOTO?L L00005 LABEL?L L00010 CMPNE?BCL _sw, 033h, L00011 ADCIN?CB 003h, _adval PAUSE?C 032h MOVE?CB 033h, _ch GOSUB?L _adc2buff GOTO?L L00005 LABEL?L L00011 CMPNE?BCL _sw, 034h, L00012 ADCIN?CB 004h, _adval PAUSE?C 032h MOVE?CB 034h, _ch GOSUB?L _adc2buff GOTO?L L00005 LABEL?L L00012 CMPNE?BCL _sw, 035h, L00013 ADD?BCB _k, 001h, _k MOVE?CB 000h, _i LABEL?L L00014 CMPGT?BCL _i, 006h, L00015 LOOKUP?BCLB _i, 007h, L00002, _dat LURET?C 056h LURET?C 061h LURET?C 06Ch LURET?C 075h LURET?C 065h LURET?C 020h LURET?C 03Dh LABEL?L L00002 AIN?BBB _dat, _buffer, _i NEXT?BCL _i, 001h, L00014 LABEL?L L00015 DIG?BCW _k, 002h, T1 ADD?WCB T1, 030h, _buffer + 00007h DIG?BCW _k, 001h, T1 ADD?WCB T1, 030h, _buffer + 00008h DIG?BCW _k, 000h, T1 ADD?WCB T1, 030h, _buffer + 00009h MOVE?CB 00Dh, _buffer + 0000Ah MOVE?CB 00Ah, _buffer + 0000Bh MOVE?CB 000h, _buffer + 0000Ch GOTO?L L00005 LABEL?L L00013 MOVE?CB 000h, _i LABEL?L L00016 CMPGT?BCL _i, 00Dh, L00017 LOOKUP?BCLB _i, 00Ch, L00003, _dat LURET?C 045h LURET?C 06Eh LURET?C 074h LURET?C 065h LURET?C 072h LURET?C 020h LURET?C 030h LURET?C 02Dh LURET?C 035h LURET?C 00Dh LURET?C 00Ah LURET?C 000h LABEL?L L00003 AIN?BBB _dat, _buffer, _i NEXT?BCL _i, 001h, L00016 LABEL?L L00017 LABEL?L L00005 LABEL?L _outloop USBSERVICE? USBOUT?CBCL 003h, _buffer, 00Fh, _outloop GOTO?L _idleloop LABEL?L _adc2buff MOVE?CB 041h, _buffer MOVE?CB 064h, _buffer + 00001h MOVE?CB 063h, _buffer + 00002h MOVE?BB _ch, _buffer + 00003h MOVE?CB 03Dh, _buffer + 00004h DIG?BCW _adval, 002h, T1 ADD?WCB T1, 030h, _buffer + 00005h DIG?BCW _adval, 001h, T1 ADD?WCB T1, 030h, _buffer + 00006h DIG?BCW _adval, 000h, T1 ADD?WCB T1, 030h, _buffer + 00007h MOVE?CB 00Dh, _buffer + 00008h MOVE?CB 00Ah, _buffer + 00009h MOVE?CB 000h, _buffer + 0000Ah RETURN? END