Cool... I guess I'll put this mess up for you to take a look at. Mark it up at will. Thanks a ton....and here goes
Don't be cruel....newbie with ambition!Code:' Name : THC.BAS ' Author : Me ' Notice : Copyright (c) 2009 None ' : All Rights Reserved ' Date : 10/20/2009 ' Version : 1.0 ' Notes : ' ' include "MODEDEFS.BAS" ' '\\\\ADC DEFINES//// DEFINE ADC_BITS 8 'Number of bits in ADCIN result DEFINE ADC_CLOCK 3 'ADC clock source (rc = 3) DEFINE ADC_SAMPLEUS 50 'ADC sampling time in microseconds CVRCON = 143 'Reference on, not tied to pin, set to 3.59vdc ANSEL = 64 'Enable analog select, select channel 6 CMCON = 7 ' '\\\\SERIAL PORT SETUP//// DEFINE HSER_RCSTA 90h 'Enable serial port define HSER_TXSTA 24h 'Enable transmit define HSER_SPBRG 25 'Set baudrate to 9600 DEFINE HSER_CLOERR 1 'Automatic clear overrun error INTCON = 64 'Enable peripheral interrupts PIE1 = 32 'Enable AUSART receive interrupt ' '\\\\PINS SETUP//// TRISB.0 = 0 'Up LED Output TRISB.1 = 1 'Enable THC Input TRISB.3 = 0 'LCD Pin TRISB.4 = 0 'Dn LED Output TRISB.6 = 0 'THC Enabled LED Output TRISB.7 = 1 'Scaled Torch Voltage Analog Input ' '\\\\VARIABLE DECLARATIONS//// TargetVDC var byte '000-256 Allowed TargetVDCDiv var byte TorchPin var PORTB.0 TorchVoltsNow var byte TorchDown var PORTB.4 TorchUp var PORTB.0 EnableIn var PORTB.1 TorchVoltsFull var byte ' ' ' '\\\\POWER UP STARTS HERE//// Pause 500 'Wait for LCD to startup TargetVDC = 120 'Start up target volt value ' ' '\\\\LOOK FOR SERIAL DATA ON AUSART RX PIN//// on interrupt goto NewSerialData ' NewSerialData: hserin [wait ("V"),DEC3 TargetVDC] TargetVDCDiv = TargetVDC / 256 goto mainloop ' '\\\\START MAIN PROGRAM LOOP HERE//// Mainloop: TargetVDCDiv = TargetVDC / 256 IF Enablein = 1 then ADCIN 6,TorchVoltsNow if torchvoltsnow > TargetVDCDiv then high torchup 'Turn off TorchUp Pin low torchdown 'Turn on TorchDown Pin else high Torchdown 'Turn off TorchDown Pin Low torchup 'Turn on TorchUp Pin endif TorchVoltsFull = TorchVoltsNow * 256 '\\\\SEND STATUS OUT TO LCD//// LCDOUT $FE, 1 LCDOUT $FE, 2 LCDOUT "PLASMA VDC : "TorchVoltsfull PAUSE 50 LCDOUT $FE, $C0 LCDOUT "TARGET VDC : "TARGETVDC PAUSE 50 HSEROUT TorchVoltsFull else LCDOUT $FE, 1 LCDOUT $FE, 2 LCDOUT "---CONTROL IS---" PAUSE 50 LCDOUT $FE, $C0 LCDOUT "----DISABLED----" PAUSE 50 ENDIF Goto mainloop
Thanks a ton!
Chris





Bookmarks