>your a sweetheart.

I know.

>it works fine using this method now for the million dollar question why??/

Because I programmed it.

>dont know what to do to get it to function out of microstudio

Neither do I - I don't use those things...

>any help?//\

Not with Microcode studio

>thanks

You're welcome

Now let's move on and get your LCD working... connect it as per Page 96 of the manual, copy and save the below code, and compile as before... Remove the LED from PortA.0 but keep the one on PortB.0 - the blinking LED is there to tell you it's all working...

Code:
	'
	'	Device Programming Options
	'	--------------------------
	@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
			' System Clock Options	
	@ DEVICE pic16F628, WDT_ON
			' Watchdog Timer
	@ DEVICE pic16F628, PWRT_ON
			' Power-On Timer
	@ DEVICE pic16F628, BOD_ON
			' Brown-Out Detect
	@ DEVICE pic16F628, MCLR_OFF
			' Master Clear Options (Internal)
	@ DEVICE pic16F628, LVP_OFF
			' Low-Voltage Programming
	@ DEVICE pic16F628, CPD_OFF
			' Data Memory Code Protect
	@ DEVICE pic16F628, PROTECT_OFF
			' Program Code Protection

	'
	'	Hardware Assignments
	'	--------------------
	LEDB var PortB.0
		'
		' 	LCD Display
		'	-----------
	Define LCD_DREG PORTA		' Port for LCD Data
	Define LCD_DBIT 0		' Use upper 4 bits of Port
	Define LCD_RSREG PORTA		' Port for RegisterSelect (RS) bit
	Define LCD_RSBIT 4		' Port Pin for RS bit
	Define LCD_EREG PORTB		' Port for Enable (E) bit
	Define LCD_EBIT 3		' Port Pin for E bit
	Define LCB_BITS 4		' Using 4-bit bus
	Define LCD_LINES 2		' Using 2 line Display
	Define LCD_COMMANDUS 2000	' Command Delay (uS)
	Define LCD_DATAUS 50		' Data Delay (uS)

	'
	'	Initialise PIC
	'	--------------
	TRISA=%00000000			' PortA all OUTPUT
	TRISB=%00000000			' PortB all OUTPUT
	CMCON=%00000111			' Comparators OFF
	Pause 2000			' wait for LCD to wake-up
	'
	'	Main Program
	'	------------
Loop:
	LCDOut $FE,1,"Hello"
	Pause 500
	LCDOut $FE,1
	Toggle LEDB
	Pause 500
	Goto Loop

	'
	End