Este programita funciona en la placa PicEBasic:
He utilizado el Pic16F628A y por lo tanto el PSI está configurado para el 16F628A y el programador también para el 16F628A.
El Pic16F628A es una versión mejorada del Pic16F628.
Define CONFIG = 0x3f50
Define CLOCK_FREQUENCY = 4
'****************************************************************************
'Configuración de la placa entrenadora Pic EBasic **************************************
'By COS, 04/2015, Pic Simulator IDE v7.37 ******************************************
'Pic16F628A y LCD con linea de datos a 4 Bit sin Bit R/W *******************************
'****************************************************************************
Symbol ledv = RB0 'Etiqueta al led verde
Symbol leda = RA7 'Etiqueta al led amarillo
Symbol blcd = RB3 'Etiqueta al backlight del lcd
'Puerto del LCD ----------------------------------------------------------
Define LCD_BITS = 4 'Bus de datos del lcd, a 4bit
Define LCD_DREG = PORTA 'Bus de datos, puerto A
Define LCD_DBIT = 0 'Bus datos 4, bit menos significativos del puerto
Define LCD_RSREG = PORTB 'Bit de control RS, puerto B
Define LCD_RSBIT = 7 'RB7 como RS
Define LCD_EREG = PORTB 'Bit de control E, puerto B
Define LCD_EBIT = 6 'RB6 como E
Define LCD_COMMANDUS = 2000 'Espera despues de cada comando
Define LCD_DATAUS = 100 'Espera despues de enviar un dato al LCD en uSeg.
Define LCD_INITMS = 50 'Espera inicialización del Display
'Configuración Placa Pic EBasic -----------
AllDigital
CMCON = 0x07 'Comparador a off
TRISA = 0x00 'Puerto A como salidas
TRISB = 0x00 'Puerto B como salidas
PORTB.3 = 0 'PWM
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 = 0 'PWM
PORTA.7 = 1 'Led amarillo a OFF
PORTB.0 = 0 'Led verde a ON
PORTB.1 = 0 'LED RHT03 a OFF
'-----------------------------------------
Lcdinit
main:
Dim x As Byte
While x = x
Lcdcmdout LcdLine1Home
Lcdout "Ok...."
Toggle RA7
Toggle RB0
WaitMs 500
Wend
End