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 
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
Don't be cruel....newbie with ambition!
Thanks a ton!
Chris
Bookmarks