'****************************************************************************
'Configuración de la placa entrenadora Pic EBasic ***************************
'By COS, 26/10/2014, 11/13, Pic Simulator IDE v7.31 *************************
'Pic16F88 y LCD con linea de datos a 4 Bit sin Bit R/W **********************
'****************************************************************************
'Include "_ProcSetUpEBasic16F88.bas"
'-------------------------------------Puertos del LCD---------------------------------------
Define LCD_BITS = 4  'Indicamos que el bus de datos del lcd sera de 4bit
Define LCD_DREG = PORTA  'Bus de datos sera el puerto A
Define LCD_DBIT = 0  'Bus de datos seran los 4 bit menos significativos del puerto A
Define LCD_RSREG = PORTB  'Bit de control RS sera del puerto B
Define LCD_RSBIT = 7  'Se usara el RB7 como RS
Define LCD_EREG = PORTB  'Bit de control E sera del puerto B
Define LCD_EBIT = 6  'Se usara el RB6 como E
Define LCD_COMMANDUS = 2000  'Tiempo de espera despues de ejecutar un comando del lcd en uSeg.
Define LCD_DATAUS = 50  'Tiempo de espera despues de enviar un dato al LCD en uSeg.
Define LCD_INITMS = 50  'Tiempo de espera despues de inicializar el Display.
'-------------------------------------------------------------------------------------------
'Comandos consola LCD
Const ff = 0x0c  'FF, Avance de pagina
Const bell = 0x07  'BELL, Señal sonora
Const sp = 0x20  'SP, Espacio
Const bksp = 0x08  'BKSP, Retroceso
Const cr = 0x0d  'CR, retorno de carro
'Const Lf = 0x10  'LF, Salto de linea
Const ctrlz = 0x1a  'Ctrl-z
Const esc = 0x1b  'Escape
'------------------------------------------------------
Symbol ledv = RB0  'Etiqueta al led verde
Symbol leda = RA7  'Etiqueta al led amarillo
Symbol luz_lcd = RB3  'Etiqueta al backlight del lcd
Symbol sw1 = RA6  'Tecla S1
Symbol sw2 = RA5  'Tecla S2
'-------------------------------------------------------------------------------------------
Proc _setup_ebasic()
	AllDigital  'Pin analogicos como digitales
	'ANSEL = 0x00  'Los pin I/O digitales
	CMCON = 0x07  'Comparador a off
	OSCCON = 0x7e  'Reloj interno a 8Mhz
	'Call _setup_oscillator(_osc_8mhz)
	'Call _setup_oscillator_mode_select_bit(_oscillator_mode_defined_by_fosc)
	TRISA = 0x00  'Puerto A como salidas
	TRISB = 0x00  'Puerto B como salidas
	TRISA.4 = 1  'Como entrada (RA4, adc)
	TRISA.6 = 1  'Como entrada (RA6, tecla S1)
	TRISA.5 = 1  'Como entrada (RA5, tecla S2)
	TRISB.5 = 0  'Como salida(RB5,Tx RS232)
	TRISB.2 = 1  'Como entrada (RB2, Rx RS232)
	TRISB.4 = 1  'Como entrada (RHT03 inicio)
	PORTB.3 = 1  'Luz lcd a ON (RB3)
	PORTA.7 = 1  'Led amarillo a OFF
	PORTB.0 = 1  'Led verde a OFF
	PORTB.1 = 0  'LED RHT03 a OFF
'-----------------------------------------
End Proc                                          
